SOA y Los Tipos de Servicios
SOA y Los Tipos de Servicios
SOA y Los Tipos de Servicios
0. ndice de contenidos.
1. Introduccin.
2. Entorno.
3. Por qu categorizar los servicios?.
4. Tipos de servicios.
4.1 Servicios de utilidad.
4.2 Servicios de entidad.
4.3 Servicios de tarea.
5. Referencias.
6. Conclusiones.
1. Introduccin
SOA o Service Oriented Architecture es un modelo de arquitectura basado en
el paradigma de diseo de orientacin a servicios. De la implantacin de una SOA en
una organizacin se esperan (exigen) diferentes objetivos, como aumentar la agilidad
del departamento IT para responder a las necesidades cambiantes del negocio o un
alto retorno de la inversin (ROI) a medio plazo. Por tanto, podramos decir que SOA
persigue una alineacin permanente entre tecnologa y negocio (IT se adapta
continuamente a las necesidades del negocio: business-driven).
SOA apuesta por los servicios como base de la arquitectura. Los servicios son
unidades de lgica con diferentes caractersticas en comn como: la reutilizacin,
capacidad de composicin (un servicio puede hacer uso de otros servicios o viceversa),
estandarizacin, abstraccin, autonoma, etc Los servicios pueden ser tanto Web
Services o Servicios REST como incluso otros componentes ms dependientes de la
tecnologa, como podran ser los EJBs (Java), aunque el uso de estos ltimos suele
ser frecuente objeto de debate (pero ese es otro tema).
En este tutorial aprenderemos a identificar los diferentes tipos de servicios que
podemos encontrar en una arquitectura SOA y veremos cmo clasificarlos en base a
su funcionalidad y capacidad de reutilizacin.
2. Entorno.
El tutorial est escrito usando el siguiente entorno:
Hardware: Porttil MacBook Pro 15 (2.2 Ghz Intel Core I7, 8GB DDR3).
Sistema Operativo: Mac OS Mountain Lion 10.8
4. Tipos de servicios.
Antes de nada me gustara destacar que existen diferentes clasificaciones (o modelos)
de servicios. La que vamos a exponer a continuacin es, probablemente la ms sencilla
y el resto de modelos suelen ser derivados de sta. El principal promotor de estos
modelos de servicio es Thomas Erl, reconocida figura en el campo de la Orientacin a
Servicios y Cloud Computing.
Distinguiremos 3 tipos de servicios:
Servicios de utilidad.
Servicios de entidad.
Servicios de tarea.
5. Referencias.
SOA: Principles of Service Design
6. Conclusiones.
En este tutorial hemos visto los diferentes tipos de servicios que podemos encontrarnos
en una SOA. Una correcta categorizacin es importante para identificar posibles
deficiencias en nuestro inventario de servicios.
Debemos ser prudentes a la hora de construir nuestros servicios de tarea.
Efectivamente son los que aportan un valor directo a las necesidades de negocio pero
es fundamental que se apoyen en servicios de ms bajo nivel como los servicios de
entidad o de utilidad. La reutilizacin y la composicin (un servicio utiliza otros
servicios) son dos principios bsicos de diseo de servicios. Una arquitectura que
nicamente contenga servicios de tarea, probablemente no sea una SOA.
Como he comentado anteriormente no es una categorizacin cerrada, es simplemente
un modelo ms (eso s, con mucha aceptacin).