jueves, 27 de noviembre de 2008

Arquitecturas Orientadas a Servicios: SOA

La Arquitectura Orientada a Servicios (SOA – Service Oriented Architecture) es un concepto de arquitectura de software que define la utilización de servicios para dar soporte a los requisitos de software de usuario. Se trata de una arquitectura de software ágil que permite la creación y/o el cambio de los procesos de negocio desde la perspectiva de las TI de forma ágil, a través de la composición de nuevos procesos utilizando las funcionalidades de negocio que están contenidas en la infraestructura de aplicaciones actuales o futuras.

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.
A diferencia de arquitecturas orientadas a objetos, las SOAs están formadas por servicios de aplicación débilmente acoplados y altamente interoperables. Para la comunicación entre nodos, los servicios se basan en una definición formal independiente de la plataforma subyacente y del lenguaje de programación; permitiendo el uso en cada nodo de lenguajes de programación heterogéneos y obligando a únicamente coincidir en el contrato entre nodos con necesidades de comunicación.

SOA define las siguientes capas de software:
  • Aplicaciones básicas, que son 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 aplicativas son expuestas en forma de servicios (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.
Los beneficios que puede obtener una compañía que adopte el modelo de arquitectura SOA son:
  • Optimización de los tiempos de modificación en los procesos.
  • Accesibilidad para migrar a distintos modelos de negocio, tales como los basados en tercerización o colaborativos.
  • Capacidad de integración de distintas tecnologías en una sola lógica de negocio.
  • Posibilidad de modificación de elementos de la capa de aplicación de la arquitectura sin afectar a otros procesos de negocio.

No hay comentarios: