El Modelo de Referencia OASIS para Arquitectura Orientada a Servicios [ 1 ] ( SOA-RM ) es un marco abstracto para comprender las entidades significativas y las relaciones entre ellas dentro de un entorno orientado a servicios, así como para el desarrollo de estándares o especificaciones consistentes que respalden dicho entorno. Se basa en conceptos unificadores de SOA y puede ser utilizado por arquitectos que desarrollan arquitecturas orientadas a servicios específicas o para la formación y explicación de SOA.
En este contexto, un modelo de referencia se considera un medio para proporcionar una semántica común que pueda utilizarse de forma inequívoca entre diferentes implementaciones de SOA. La relación entre el modelo de referencia y las arquitecturas, tecnologías y otros aspectos específicos de SOA se ilustra a continuación a partir de la especificación.
Descripción
Historia
El Modelo de Referencia SOA de OASIS es un producto del Comité Técnico (CT) del Modelo de Referencia SOA de OASIS (SOA-RM). [ 2 ] Antes de esta iniciativa, no existía una definición estándar de SOA. El CT SOA-RM se constituyó en febrero de 2005 para desarrollar un Modelo de Referencia central que guiara y fomentara la creación de arquitecturas orientadas a servicios específicas, y para publicar un modelo de referencia para SOA, así como una o más arquitecturas de referencia basadas en el Modelo de Referencia. [ 3 ] El modelo de referencia fue aprobado como Estándar OASIS por los miembros de OASIS en octubre de 2006. [ 4 ]
El OASIS SOA-RM TC comenzó a trabajar en una arquitectura de referencia complementaria durante el período de aprobación final del modelo de referencia, y la OASIS Reference Architecture Foundation for Service Oriented Architecture (SOA-RAF) [ 5 ] fue aprobada como una especificación del Comité OASIS en diciembre de 2012.
Si bien el modelo de referencia SOA de OASIS ha sido bien recibido en algunos círculos, [ 6 ] también se discutieron numerosos otros esfuerzos de especificación SOA [ 7 ] [ 8 ] durante el período en que se desarrollaba el SOA-RAF. Se inició un esfuerzo de colaboración para “armonizar” los esfuerzos individuales con OASIS , The Open Group y Object Management Group (OMG) durante el período 2008-2009. Si bien las discusiones encontraron puntos en común evidentes, la armonización era inalcanzable en ese momento, y el producto final fue un documento conjunto Navigating the SOA Open Standards Landscape Around Architecture [ 9 ] publicado en julio de 2009. Además, el Apéndice C del SOA-RAF contiene un resumen de otros esfuerzos de estandarización SOA. Las discusiones han continuado hasta la actualidad. Más adelante (y en el propio SOA-RM), se discute cómo se pueden derivar múltiples arquitecturas de referencia a partir de un único modelo de referencia.
Estado actual
El Comité Técnico de SOA-RM se mantiene activo y continúa debatiendo temas como la granularidad de los servicios y las interfaces. Es posible que de esos debates surjan notas adicionales del Comité.
Conceptos principales
Definición de SOA según OASIS
Según la especificación SOA-RM, SOA es un paradigma para organizar y utilizar capacidades distribuidas que pueden estar bajo el control de diferentes dominios de propiedad. Proporciona un medio uniforme para ofrecer, descubrir, interactuar y utilizar capacidades para producir los efectos deseados, de acuerdo con precondiciones y expectativas medibles. La especificación SOA-RM basa su definición de SOA en el concepto de "necesidades y capacidades", donde SOA proporciona un mecanismo para relacionar las necesidades de los consumidores de servicios con las capacidades que ofrecen los proveedores de servicios.
Servicio
El concepto central del Modelo de Referencia es el de servicio , que el Modelo de Referencia define de la siguiente manera: Un mecanismo para permitir el acceso a una o más capacidades, donde el acceso se proporciona utilizando una interfaz prescrita y se ejerce de manera consistente con las restricciones y políticas especificadas en la descripción del servicio.
A continuación se presentan los conceptos principales que el Modelo de Referencia define en torno a los servicios. Visibilidad, Interacción y Efecto en el Mundo Real abordan los aspectos dinámicos de los servicios (interacciones con los servicios), mientras que los conceptos restantes abordan los aspectos estáticos:
- Descripción del servicio: Información necesaria para utilizar, o considerar utilizar, un servicio. Su propósito es facilitar la interacción y la visibilidad entre los participantes, especialmente cuando pertenecen a diferentes ámbitos de propiedad.
- Visibilidad: La capacidad de interacción entre quienes tienen necesidades y quienes poseen capacidades. La visibilidad no solo implica la existencia de un servicio, sino también que tanto el consumidor como el proveedor tengan suficiente conocimiento del mismo, de modo que exista la voluntad entre las partes para iniciar o continuar la interacción. Esto se suele lograr describiendo aspectos como las funciones y los requisitos técnicos, las restricciones y políticas relacionadas, y los mecanismos de acceso o respuesta.
- Interacción: Se refiere a la interacción entre proveedores de servicios y consumidores. Generalmente mediada por el intercambio de mensajes, una interacción se desarrolla a través de una serie de intercambios de información y acciones. El resultado de una interacción es un efecto en el mundo real.
- Efecto en el mundo real: El resultado real del uso de un servicio. Esto puede ser la devolución de información o el cambio en el estado de las entidades (conocidas o desconocidas) que participan en la interacción.
- Contexto de ejecución: El conjunto de elementos técnicos y comerciales que conforman el vínculo entre quienes tienen necesidades y quienes poseen capacidades, y que establecen las condiciones bajo las cuales interactuarán proveedores de servicios y consumidores. Todas las interacciones se fundamentan en un contexto de ejecución específico, que permite la interacción entre proveedores de servicios y consumidores y constituye un punto de referencia para las políticas y los contratos vigentes.
- Contrato y Política: Una política representa una restricción o condición sobre el uso, la implementación o la descripción de una entidad de propiedad, según lo defina cualquier participante, mientras que un contrato representa un acuerdo entre dos o más partes. El Modelo de Referencia se centra principalmente en el concepto de políticas y contratos aplicados a los servicios.
Ejemplo de SOA
El siguiente ejemplo se ha tomado de la especificación SOA-RM e incluye los conceptos principales descritos anteriormente, así como otros conceptos que define el Modelo de Referencia, entre paréntesis y en cursiva:
- Una empresa de servicios eléctricos tiene la capacidad de generar y distribuir electricidad (la capacidad subyacente) . El cableado de la red de distribución de la empresa eléctrica (el servicio) proporciona los medios para suministrar electricidad para satisfacer el uso típico de una vivienda (funcionalidad del servicio) , y un consumidor accede a la electricidad generada (el resultado de invocar el servicio) a través de una toma de corriente (interfaz del servicio) .
- Para utilizar la electricidad, el consumidor necesita comprender qué tipo de enchufe usar, cuál es el voltaje de suministro y los posibles límites de carga; la compañía eléctrica presume que el cliente solo conectará dispositivos que sean compatibles con el voltaje suministrado y la carga soportada; y el consumidor, a su vez, asume que los dispositivos de consumo compatibles se pueden conectar sin daños ni perjuicios (supuestos técnicos del servicio) .
- Un usuario residencial o comercial deberá abrir una cuenta con la compañía eléctrica para poder utilizar el suministro (restricción del servicio) y la compañía medirá el consumo y espera que el consumidor pague por el uso a la tarifa establecida (política del servicio) . Cuando el consumidor y la compañía eléctrica acuerdan las restricciones y políticas (contrato de servicio) , el consumidor puede recibir electricidad utilizando el servicio siempre que la red de distribución eléctrica y la conexión de la vivienda permanezcan intactas (por ejemplo, una tormenta que derribe las líneas eléctricas interrumpiría la distribución) y el consumidor pueda enviar el pago (por ejemplo, un cheque por correo o una transferencia electrónica de fondos) a la compañía eléctrica (accesibilidad) .
- Otra persona (por ejemplo, un visitante en la casa de otra persona) puede usar un suministro contratado sin ninguna relación con la compañía eléctrica ni ningún requisito para satisfacer también la restricción de servicio inicial (por ejemplo, la accesibilidad solo requiere una distribución de electricidad intacta), pero se espera que, no obstante, sea compatible con la interfaz del servicio.
- En determinadas situaciones (por ejemplo, una demanda excesiva), una empresa de servicios públicos puede limitar el suministro o realizar cortes de luz rotativos (política de servicio) . Un consumidor podría presentar una queja formal si esto ocurriera con frecuencia (política implícita del consumidor) .
- Si la compañía eléctrica exigiera que cada dispositivo estuviera conectado por cable a su equipo, la funcionalidad subyacente seguiría existiendo, pero se trataría de un servicio muy diferente y tendría una interfaz de servicio muy diferente.
SOA y procesos
Si bien el Modelo de Referencia incorpora la noción de procesos a través de su concepto de Modelo de Proceso, el alcance de este aspecto no está definido por completo. Por ejemplo, el Modelo de Referencia no aborda la orquestación de múltiples servicios, aunque la orquestación y la coreografía pueden formar parte del modelo de proceso. Esto se debe a que el Modelo de Referencia se centra en modelar qué son los servicios y qué relaciones clave intervienen en su modelado. Se prevé que en el futuro se realicen trabajos en este ámbito, aunque aún no se ha definido la fuente de dichos trabajos.
Conceptos secundarios
Definición de Modelo de Referencia de OASIS
Según la especificación SOA-RM, un modelo de referencia es un marco abstracto para comprender las relaciones significativas entre las entidades de un entorno determinado. Permite el desarrollo de arquitecturas de referencia o concretas específicas mediante estándares o especificaciones consistentes que dan soporte a dicho entorno. Un modelo de referencia consta de un conjunto mínimo de conceptos, axiomas y relaciones unificadores dentro de un dominio de problema particular, y es independiente de estándares, tecnologías, implementaciones u otros detalles concretos. Por lo tanto, un modelo de referencia para SOA es un marco abstracto para comprender las relaciones significativas entre las entidades de SOA.
Modelo de referencia frente a arquitectura de referencia
La especificación SOA-RM establece una clara distinción entre un modelo de referencia y una arquitectura de referencia, y describe la relación entre ambos. Una arquitectura de referencia es un patrón de diseño arquitectónico que indica cómo un conjunto abstracto de mecanismos y relaciones implementa un conjunto predeterminado de requisitos. Se pueden derivar una o más arquitecturas de referencia a partir de un modelo de referencia común, para abordar diferentes propósitos o usos a los que se pueda destinar dicho modelo. La especificación SOA-RM proporciona una analogía con el diseño de viviendas para ilustrar la relación entre un modelo de referencia y una arquitectura de referencia, así como la forma en que las arquitecturas de referencia pueden utilizarse para derivar arquitecturas concretas.
Referencias
- ↑ "Modelo de referencia OASIS para arquitectura orientada a servicios 1.0, estándar oficial OASIS (PDF normativo), 12 de octubre de 2006" (PDF) .
- ↑ "OASIS SOA Reference Model TC" . OASIS . Consultado el 5 de febrero de 2015 .
- ↑ Nickull, Duane (4 de enero de 2006). "Por qué necesitamos el modelo de referencia OASIS SOA" . Loosely Coupled . Consultado el 5 de febrero de 2015 .
- ↑ "Los miembros de OASIS aprueban el modelo de referencia SOA" . Grid Today . 30 de octubre de 2006. Archivado del original el 27 de septiembre de 2007.
- ↑ "OASIS Reference Architecture Foundation for Service Oriented Architecture Version 1.0, Committee Specification 01 (Authoritative PDF), 04 December 2012" (PDF) .
- ↑ Considerando el modelo de referencia SOA Parte 1 Archivado el 18/10/2007 en Wayback Machine , Considerando el modelo de referencia SOA Parte 2
- ↑ Linthicum, Dave (4 de febrero de 2007). "Open Group debate la arquitectura de referencia SOA..." Infoworld . Archivado del original el 7 de junio de 2007.
- ↑ Little, Mark (21 de febrero de 2007). "Psst... ¿tienes un modelo de referencia SOA? ¿Quieres otro?" . InfoQ . Consultado el 5 de febrero de 2015 .
- ↑ "Navegando por el panorama de los estándares abiertos SOA en torno a la arquitectura, documento conjunto de The Open Group, OASIS y OMG, julio de 2009" (PDF) .
- Orientado a servicios (informática empresarial)
- Modelos de referencia