Adaptación a SOA

Una Service-Oriented Architecture es una estrategia tecnológica por la cual las aplicaciones hacen uso de (o más precisamente, confían en ) los servicios disponibles en una red.

Implementar una arquitectura orientada a servicio comprende el desarrollo de aplicaciones que usen los servicios, aplicaciones disponibles como servicios para otras o ambas situaciones.

Características de un servicio SOA

  • Un servicio en SOA es una función de aplicación empaquetada como un componente reutilizable para ser usado en un proceso de negocio.
  • El servicio proporciona información o facilita el cambio de datos de negocio de un estado válido y consistente a otro.
  • Un servicio SOA es autocontenido y sin estado.
  • La implementación concreta de un servicio SOA no es importante. A través de protocolos de comunicación bien definidos, los servicios pueden ser invocados de manera que se hace hincapié en la interoperabilidad y en la transparencia de localización

Sun dice

A service-oriented architecture is a way of sharing functions (typically business functions) in a widespread and flexible way.

SOA y Web Services

Existen varias razones para que una empresa adopte un enfoque SOA, y más concretamente un enfoque SOA basado en Web Services:

  • Reutilización: El factor fundamental en el cambio a SOA es la reutilización de los servicios de negocio. Las funciones de negocio, dentro de una empresa y con los business partners, pueden ser expuestos como web services y ser reutilizadas para cubrir nuevas necesidades de negocio.
  • Interoperabilidad: El objetivo de una arquitectura débilmente acoplada es que los clientes y servicios se comuniquen independientemente de la plataforma en que residan. Los protocolos de comunicación con Web Services son independientes de la plataforma, lenguaje de codificación y sistema operativo por lo que facilitan la comunicación con los business partners.
  • Escalabilidad: Como los servicios de SOA están débilmente acoplados, las aplicaciones que usan esos servicios escalan fácilmente. Esto es debido a que existe muy poca dependencia entre las aplicaciones clientes y los servicios que usan.
  • Flexibilidad: Es otra de las características que proporciona el acoplamiento débil entre los servicios. Cualquier cambio en la implementación de uno de ellos no afectaría al resto siempre que se mantenga la interfaz.
  • Eficiencia de coste: Las arquitecturas SOA se basan en la exposición de servicios ya existentes para ser reutilizados. Al usar Web Services para exponer estos servicios, se reutilizan la infraestructura web existente en virtualmente todas las organizaciones por lo que se limita considerablemente el coste.