SOA
La arquitectura orientada a
servicios de cliente (en inglés Service
Oriented Architecture), es un concepto de arquitectura de software que
define la utilización de servicios para dar soporte a los requisitos del
negocio.
Permite la creación de sistemas de
información altamente escalables que reflejan el negocio de la organización, a
su vez brinda una forma bien definida de exposición e invocación de servicios
(comúnmente pero no exclusivamente servicios web), lo cual facilita la
interacción entre diferentes sistemas propios o de terceros.
SOA define las siguientes capas de
software:
- Aplicaciones básicas - Sistemas
desarrollados bajo cualquier arquitectura o tecnología, geográficamente
dispersos y bajo cualquier figura de propiedad;
- De exposición de funcionalidades -
Donde las funcionalidades de la capa aplicativa son expuestas en forma de
servicios (generalmente como servicios web);
- De integración de servicios - Facilitan
el intercambio de datos entre elementos de la capa aplicativa orientada a
procesos empresariales internos o en colaboración;
- De composición de procesos - Que
define el proceso en términos del negocio y sus necesidades, y que varía
en función del negocio;
- De entrega - donde los servicios son
desplegados a los usuarios finales.
SOA proporciona una metodología y un marco de trabajo para documentar las
capacidades de negocio y puede dar soporte a las actividades de integración y consolidación.
DISEÑO Y DESARROLLO DE SOA
La metodología de modelado y diseño
para aplicaciones SOA se conoce como análisis y diseño orientado a servicios.
La arquitectura orientada a servicios es tanto un marco de trabajo para el
desarrollo de software como un marco de trabajo de implementación. Para que un
proyecto SOA tenga éxito los desarrolladores de software deben orientarse ellos
mismos a esta mentalidad de crear servicios comunes que son orquestados por
clientes o middleware para implementar los procesos de negocio. El desarrollo
de sistemas usando SOA requiere un compromiso con este modelo en términos de
planificación, herramientas e infraestructura.
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
- REST
- WSDL
- UDDI
Hay que considerar, sin embargo, que un sistema SOA no necesariamente utiliza estos estándares para ser "Orientado a Servicios" pero es altamente recomendable su uso.
En un ambiente SOA, los nodos de la
red hacen disponibles sus recursos a otros participantes en la red como
servicios independientes a los que tienen acceso de un modo estandarizado. La
mayoría de las definiciones de SOA identifican la utilización de Servicios Web (empleando SOAP
y WSDL) en su implementación, no obstante se
puede implementar SOA utilizando cualquier tecnología basada en servicios.
DIFERENCIAS CON OTRAS ARQUITECTURAS
Al contrario de las arquitecturas orientado a objetos,
las SOAs están formadas por servicios de aplicación débilmente acoplados y
altamente interoperables. Para comunicarse entre sí, estos servicios se basan
en una definición formal independiente de la plataforma subyacente y del
lenguaje de programación (p.ej., WSDL). La definición de la
interfaz encapsula (oculta) las particularidades de una implementación, lo que
la hace independiente del fabricante, del lenguaje de programación o de la
tecnología de desarrollo (como Plataforma Java o Microsoft
.NET). Con esta arquitectura, se pretende que los componentes de
software desarrollados sean muy reutilizables, ya que la interfaz se define
siguiendo un estándar; así, un servicio C# podría ser usado por una aplicación Java.
En este sentido, ciertos autores definen SOA como una Súper-Abstracción.
BENEFICIOS
Los beneficios que puede obtener una
organización que adopte SOA son:
- Mejora en los tiempos de realización de cambios en procesos.
- Facilidad para evolucionar a modelos de negocios basados en tercerización.
- Facilidad para abordar modelos de negocios basados en colaboración con otros entes (socios, proveedores).
- Poder para remplazar elementos de la capa aplicativa SOA sin disrupción en el proceso de negocio.
- Facilidad para la integración de tecnologías disímiles.
Referencias :
tecnologia.iprofesional.com/notas/46399-Qu-es-SOA-la-arquitectura-orientada-a-servicios
www.revista-ays.com/DocsNum08/SOA/roncero.pdf
No hay comentarios:
Publicar un comentario