Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SOA Jul2010 Servicios Parte1
SOA Jul2010 Servicios Parte1
Introducción
Hoy vamos a hablar de los Servicios, la base sobre la que se construye una arquitectura SOA.
En este artículo presentamos una introducción a los conceptos fundamentales de los servicios.
Definición
En una arquitectura SOA la funcionalidad de la aplicación está expuesta a través de una colección
de servicios. Estos servicios son independientes y encapsulan tanto la lógica de negocio como los
datos asociados .
Desde una perspectiva empresarial, los servicios son activos independientes que se corresponden
con actividades comerciales reconocibles o funciones comerciales del mundo real y que son
accesibles de acuerdo con las políticas que se hayan establecido para los mismo.
Desde un punto de vista técnico podemos decir que se trata de componentes autónomos de grano
grueso, con interfaces bien definidas (contratos de servicio) y con una clara separación entre su
interface pública y su implementación privada interna.
Los servicios interactúan entre sí a través de mensajes, con un esquema que define su formato, un
contrato para definir sus intercambios y la definición de una política de cómo deben ser
intercambiados .
Las aplicaciones SOA publican sus servicios y no saben quien los va a usar ni donde, estando
fuera del control de la aplicación. Publican un contrato (interface) que se mantendrá constante a lo
largo del ciclo de vida del servicio. El ciclo de vida de un servicio diferencia entre los servicios en
producción y en desarrollo, para los servicios en producción nunca se modificará su interface sino
que en su lugar el servicio se marcará como en desuso y se notificará a sus consumidores que hay
una nueva versión del servicio disponible que deberán usar.
Como comentamos en nuestra introducción a SOA, un error muy común es confundir servicios,
componentes que forman una arquitectura SOA, con servicios web. Los servicios web son una
forma de implementar estos servicios, pero no es obligatorio que los servicios estén implementados
como servicios web aunque sí es lo más común.
En nuestro próximo artículo vamos a profundizar en los servicios web como forma más habitual de
implementar los servicios de una arquitectura SOA, haciendo referencia a las dos formas más
habituales de servicios web (SOAP y RESTFUL) y las principales diferencias entre ellas.