SOA Arquitectura Orientada a Servicios

Service Oriented Architecture SOA [1] es un modelo de componente que interrelaciona unidades funcionales diferentes de una aplicación, denominado servicios, a través de interfaces y contratos bien definidos entre estos servicios. La interfaz se define de una manera neutral que debe ser independiente de la plataforma de hardware, del sistema operativo y del lenguaje de programación en los que se implemente el servicio. Esto permite que los servicios, construidos en una variedad de tales sistemas, interactúen entre sí de una manera uniforme y universal.
Esta característica de tener una definición de interfaz neutral que no esté fuertemente sujeta a una implementación en particular se conoce como loose coupling entre los servicios. El beneficio de un sistema sueltamente acoplado es su agilidad y capacidad para sobrevivir a cambios evolutivos en la estructura e implementación de las partes internas de cada servicio que compone toda la aplicación. Por otra parte, tight-coupling significa que las interfaces entre los diferentes componentes de una aplicación están estrechamente interrelacionados en función y forma, haciendo que sean frágiles cuando se requiera alguna forma de cambio en partes de la aplicación o en toda la misma.
Cuando la mayoría de la gente habla de una arquitectura orientada a servicios están hablando de un juego de servicios residentes en Internet o en una intranet, usando servicios web. Existen diversos estándares relacionados a los servicios web. Incluyen los siguientes:
– XML – HTTP
– SOAP – WSDL – UDDI

Hay que considerar, sin embargo, que un sistema SOA no necesariamente necesita utilizar estos estándares para ser “orientado a servicios” pero es altamente recomendable su uso.

Tabla 1. Terminología SOA

Capas de SOA
Esta arquitectura en capas parcialmente muestra cómo los servicios están alineados con los procesos de negocio, mientras que los componentes de la empresa entregan los servicios. Los procesos de negocio pueden ser apoyados por la orquestación de los servicios expuestos en las aplicaciones compuestas. Esta arquitectura se apoya en varias capas verticales, incluyendo:
– Una capa de infraestructura que es comúnmente conocido como Bus de Servicios Empresariales (ESB).
– Una capa de control y gestión para garantizar la calidad del servicio y para lograr los requisitos no funcionales.
– Una capa de arquitectura de datos.
– Una capa de gobierno

Figura 9. Capas de SOA

Similitudes y Diferencias entre SOA y EA

Parecería entonces que SOA y EA son lo mismo, porque las dos buscan alinear objetivos, tiene unas capas unos dominios, pero en realidad, son diferentes, y trabajan de la mano. A continuación se resumen las similitudes y diferencias al considerar los conceptos de la arquitectura, tanto en SOA y EA:

SIMILITUDES

Dominios de SOA y EA comparten muchas similitudes. Por ejemplo:
– Tanto la dirección arquitectónica dominios similares.
– Ambos están destinados a TI a alinear estrechamente con las empresas.
– Tanto la entrada uso basado en los objetivos de negocio.
– Ambos requieren estrategias similares y las actividades de planificación.

DIFERENCIAS:

– Mientras que el enfoque de los dominios de la arquitectura de EA está en el nivel macro, los dominios de la arquitectura SOA de trabajo a nivel micro. Más específicamente: EA se centra en la definición de componentes de negocio, mientras que SOA se centra en los servicios empresariales.
– EA se ocupa de los entornos de aplicaciones y aplicaciones empresariales, mientras que el alcance de SOA es en el modelado de servicio.
– EA se ocupa de la infraestructura a nivel de empresa, incluyendo servidores, bases de datos, y así sucesivamente, mientras que SOA se centra en la infraestructura que soporta los servicios, a saber, el Bus de Servicios Empresariales.
– Las direcciones de EA patrones de integración empresarial y cuándo deben ser utilizados, incluyendo la integración punto a punto, la transferencia de archivos, y otros métodos tradicionales de integración de aplicaciones. SOA proporciona un enfoque de integración basado en el uso de los servicios. Aunque el enfoque de SOA para la integración puede llegar a ser el enfoque más flexible y recomendó, debe considerarlo como uno de los planteamientos de EA tiene que definir y apoyo.

Tabla 2. Dominios SOA vs EA

Es obvio entonces que los dominios de SOA son un subconjunto de los dominios de EA. Por ejemplo, SOA no tiene que ver con el desarrollo de la arquitectura empresarial. En su lugar, utiliza los resultados de los procesos de negocio y otros artefactos de la arquitectura empresarial, como componente de modelado de negocio (CBM), como insumo para identificar los servicios empresariales. Por el contrario, EA tiene que ver con el desarrollo de la arquitectura de negocios, incluyendo los procesos de negocio y CBM entre otros. Del mismo modo, desde el punto de vista de arquitectura de aplicaciones, SOA tiene que ver con el modelado y desarrollo de servicios y los componentes que se tienen, mientras que la arquitectura de EA no sólo tiene que ver con SOA, sino también con otros componentes, paquetes y sistemas de toda la empresa.

En el siguiente link, podrá encontrar Demos, a cerca de los beneficios de SOA:
http://www-03.ibm.com/e-business/la/co/download/videos/popup_stream.shtml


[1] http://www.ibm.com/developerworks/webservices/library/ws-soa-enterprise1/?S_TACT=105AGX22&S_
CMP=ISSUE

Acerca de arquitectura empresarial

Ingeniera de Sistemas de la Universidad Santiago de Cali, Proyecto de Investigación fomativa a cerca del Estado del Arte de las Arquitecturas Empresariales en la ciudad de Cali
Esta entrada fue publicada en SOA. Guarda el enlace permanente.

3 respuestas a SOA Arquitectura Orientada a Servicios

  1. Carlos Aristizabal dijo:

    Que buena forma de explicar SOA y sus beneficios. Muy buen video como ejemplo, no conocia de este. Sigan asi con el blog , con la buena información.

  2. Cristian Muñoz dijo:

    Que buena herramienta SOA, una de las mejores estrategias en metodos de organización.
    Interesante el blog….buen tema

  3. Julian Ortiz dijo:

    Muy buen contenido, podrían darme algunos otros enlaces para documentarme mejor? Gracias

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s