Arquitectura orientada a los servicios
Una arquitectura orientada a los servicios (SOA) es una colección de servicios que se comunican entre ellos, por ejemplo, para pasar datos de un servicio a otro o para coordinar una actividad entre uno o varios servicios.
Las empresas desean integrar los sistemas existentes para implementar el soporte de IT (Tecnologías de la información) en los procesos comerciales de forma que se cubra la cadena completa de valores en la empresa. Se han utilizado distintos diseños, desde el rígido Intercambio electrónico de datos (EDI) de punto a punto hasta las subastas web. Mediante el uso de Internet, las empresas pueden poner sus sistemas de IT a disposición de los departamentos internos o los clientes externos, pero las interacciones no son flexibles y no tienen una arquitectura estandarizada.
Debido al aumento de la demanda de tecnologías que soporten la conexión y la compartición de datos y recursos, se hizo necesaria una arquitectura flexible y estandarizada. SOA es una arquitectura flexible que unifica los procesos empresariales estructurando las aplicaciones de gran tamaño en bloques de creación, o servicios o unidades funcionales modulares de menor tamaño, que puedan ser utilizados por distintos grupos de usuarios dentro y fuera de la empresa. Los bloques de creación pueden tener uno de los siguientes roles: proveedor de servicios, intermediario de servicios o solicitante de servicios. Consulte Enfoque de servicios web para una arquitectura orientada a los servicios para obtener más información sobre estos roles.
Requisitos de una SOA:
- Interoperatividad entre los distintos sistemas y lenguajes de
programación.
La base más importante para permitir una integración entre las aplicaciones de distintas plataformas es proporcionar un protocolo de comunicaciones. Este protocolo está disponible para la mayoría de sistemas y lenguajes de programación.
- Lenguaje descriptivo claro y sin ambigüedades.
Para utilizar un servicio ofrecido por un proveedor, no sólo es necesario poder acceder al sistema del proveedor, sino que la sintaxis de la interfaz de servicios tiene que estar claramente definida de forma independiente de la plataforma.
- Recuperación del servicio.
Para dar soporte a una integración durante el diseño o incluso durante la ejecución del sistema, se necesita un mecanismo de búsqueda para recuperar los servicios adecuados. Clasifique estos servicios como accesibles para el sistema, jerárquicos o taxonomías, según la función del servicio en cada categoría y cómo se invoquen.