Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Disrupción Tecnológica
Blog de divulgación de Ciencia y Tecnología
El enorme crecimiento de las tecnologías y aplicación de las TIC ha generado en los últimos
años en un sinfín de aplicaciones. En muchas ocasiones, aplicaciones distintas pero con
funciones comunes, agrupadas en bibliotecas que se compilaban en un todo. La
heterogeneidad y el acoplamiento entre funcionalidades que podrían ser reutilizables ha
forzado el estudio de nuevas estrategias de diseño. La forma de ver estas funciones como
servicios comunes a distintos propósitos ha concluido en un nuevo paradigma de diseño
arquitectónico denominado Arquitectura SOA.
No es un concepto nuevo, sino que comenzó a tomar forma ya a mediados de los años 80, con
la computación distribuida y las llamadas a procedimientos remotos. Pero estas arquitecturas
distribuidas de los 90, como OSF, OMG o CORBA, no llegan a tener el impacto esperado en el
mercado.
Esto fue formando la base de un paradigma de arquitectura que Gartner describirá en 1996 ya
con el nombre de SOA. Sin embargo, no será hasta 2003, con el desarrollo de los servicios web,
cuando irrumpa en el mercado, convirtiéndose en una disrupción tecnológica que a día de hoy
está transformando el mundo empresarial.
Contenidos
1. ¿Qué es SOA?
1.1. Principios SOA
2. Componentes Arquitectónicos de SOA
2.1. Componentes arquitectónicos
2.2. Patrón de interacción SOA
3. Bene cios de una arquitectura SOA
4. De nición de Servicio
Esta web utiliza cookies propias y de terceros
5. para su correcto
Diseño funcionamiento
orientado a Servicios y para nes analíticos. Al hacer clic en el botón Aceptar, aceptas el uso de estas
tecnologías y el procesamiento
5.1. Identi de tus datos para estos propósitos. Ver
cación de Servicios
5.1.1. Aproximación Ascendente Bottom-Up
RECHAZAR ACEPTAR
5.1.2. Aproximación Descendente Top-Down
https://www.disrupciontecnologica.com/arquitectura-soa-y-composicion-de-servicios/ 1/16
17/2/2021 Arquitectura SOA y Composición de Servicios - Disrupción Tecnológica
¿Qué es SOA?
SOA son las siglas en inglés de «Service Oriented Architecture» que signi ca Arquitectura
Orientada a Servicios. Este paradigma de ende un concepto de diseño de software que
promueve la utilización de servicios como soporte de las reglas de negocio. Se trata, por tanto
de la atomicidad y reutilización de estos servicios, que permitan componer distintas
aplicaciones con las mismas piezas.
El nivel de granularidad se podría de nir como el nivel de detalle de una especi cación
funcional. En otros términos, la amplitud de la descripción del comportamiento esperado para
el software en una especi cación funcional.
Principios SOA
Este paradigma arquitectónico se basa en unos principios que deben servir de guía para de nir
las reglas de diseño:
Abstracción: Los servicios ocultan la lógica al exterior, haciendo de «caja negra» para
el consumidor, que permite una mayor abstracción del sistema.
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento
Reutilización: y para
La división nes analíticos.
del negocio Al hacer clic enpromueve
en componentes el botón Aceptar, aceptas elde
la capacidad uso de estas
tecnologías y el procesamiento de tus datos para estos propósitos. Ver
utilizarse en distintas funcionalidades, o composiciones de lo mismos.
RECHAZAR ACEPTAR
https://www.disrupciontecnologica.com/arquitectura-soa-y-composicion-de-servicios/ 2/16
17/2/2021 Arquitectura SOA y Composición de Servicios - Disrupción Tecnológica
Esto resume los principios descritos en el mani esto SOA. En este texto, elaborado por algunos
de los mayores expertos en orientación a servicios, se propone los valores y principios rectores
a seguir.
Dentro de un concepto de arquitectura SOA hay que diferenciar los siguientes elementos:
Componentes arquitectónicos
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para nes analíticos. Al hacer clic en el botón Aceptar, aceptas el uso de estas
tecnologías y el procesamiento de tus datos para estos propósitos. Ver
RECHAZAR ACEPTAR
https://www.disrupciontecnologica.com/arquitectura-soa-y-composicion-de-servicios/ 3/16
17/2/2021 Arquitectura SOA y Composición de Servicios - Disrupción Tecnológica
Una arquitectura SOA está caracterizada básicamente por tres componentes arquitectónicos
Disrupción Tecnológica
principales:
Blog de divulgación de Ciencia y Tecnología
En primer lugar el Servicio software, que provee una funcionalidad relevante,
reutilizable y expuesta a otros sistemas a través de las interfaces basadas en
estándares.
Consumidor del Servicio: El cliente software que utilizará la funcionalidad provista por
el Servicio.
Una infraestructura de comunicaciones que conecta a los dos anteriores, y que incluye
un mecanismo de publicación y descubrimiento del Servicio.
RECHAZAR ACEPTAR
https://www.disrupciontecnologica.com/arquitectura-soa-y-composicion-de-servicios/ 4/16
17/2/2021 Arquitectura SOA y Composición de Servicios - Disrupción Tecnológica
Con todo esto resulta evidente que en el centro del enfoque de una arquitectura orientada a
servicios está el servicio. Todo gira entorno al servicio en SOA, por lo que debemos tener claro
en qué consiste.
De nición de Servicio
Desde el punto de vista del patrón de Arquitectura SOA un servicio es una funcionalidad
empaquetada como componente distribuido, auto-contenido y reutilizable, con una de nición
de su interfaz accesible, explícita y pública.
Esto viene a decir que un servicio es un recurso con la capacidad de realizar alguna tarea
concreta y proporcionar una funcionalidad a otras entidades solicitantes.
Así mismo, se puede abstraer un servicio como un componente débilmente acoplado en una
red de proveedores y consumidores siguiendo el patrón de interacción descrito anteriormente.
SOA distribuido
Si vemos una arquitectura de componentes como un puzzle, un servicio sería una pieza
software de las que lo componen y que proporciona una utilidad. El puzzle completo no sería
otra cosa que una composición de servicios, una composición de piezas, con un objetivo
concreto y una cohesión evidente.
En el concepto SOA de Servicio se tienen los siguientes aspectos que debe cumplir:
Para poder consumir la funcionalidad que proporciona un servicio, es evidente que tiene que
existir un interfaz que las entidades solicitantes puedan utilizar. Esto se denomina «contrato».
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para nes analíticos. Al hacer clic en el botón Aceptar, aceptas el uso de estas
Una de lasybazas
tecnologías mas importantes
el procesamiento depara
de tus datos la arquitectura SOAVer
estos propósitos. es precisamente la capacidad de
interoperar servicios distribuidos. Estos servicios no tienen porqué estar construidos en la
RECHAZAR ACEPTAR
misma tecnología o lenguaje, sólo permitir la interacción en algún protocolo a través de
https://www.disrupciontecnologica.com/arquitectura-soa-y-composicion-de-servicios/ 5/16
17/2/2021 Arquitectura SOA y Composición de Servicios - Disrupción Tecnológica
contrato. Es decir, una arquitectura SOA puede estar compuesta de servicios desarrollados en
Disrupción Tecnológica
.NET, Java, o Python, conectados a través de Soap, por ejemplo.
Blog de divulgación de Ciencia y Tecnología
Atendiendo a esta perspectiva, y teniendo en cuenta los principios SOA vistos, podremos
introducir el proceso de diseño de servicios en SOA a través de tres etapas:
Existen dos enfoques principales para abordar esta difícil e importantísima tarea de
identi cación de los servicios útiles, mediante una aproximación ascendente (Bottom-Up) y
aproximación descendente (Top-Down).
https://www.disrupciontecnologica.com/arquitectura-soa-y-composicion-de-servicios/ 6/16
17/2/2021 Arquitectura SOA y Composición de Servicios - Disrupción Tecnológica
Por lo general, esta aproximación parte de los casos de uso como candidatos a servicios de
negocio para la exposición de funcionalidad en la plataforma SOA.
Bottom-Up vs Top-Down
Existe un activo debate entre cual de estas dos aproximaciones es la más óptima, o la mas
correcta. Por un lado, la aproximación Bottom-Up puede ser la más ágil, mientras que Top-
Down debería ser la mas el a los principios de SOA. Entre los detractores de Bottom-Up se
dice que, si se comienza a construir un servicio a partir de lo que ya tiene, se tiene un alto
riesgo de acabar con lo que ya tiene, en lugar de lo que los consumidores necesitan. Por otro
lado, entre los detractores de Top-Down, se dice que requiere una amplia plani cación y
estricto cumplimiento de las políticas, por lo que lleva un tiempo mucho mayor para conseguir
resultados.
Finalmente, un enfoque mixto, que utilice ambas aproximaciones, parece ser lo que mas
adeptos ha llegado a tener.
El método SOMA (Service Oriented Modeling and Architecture) de IBM, por ejemplo, incluye el
enfoque «Meet in the middle«, que se basa en la descomposición del proceso empresarial en
elementos granulares para su correlación con las aplicaciones existentes.
También es frecuente el llamado enfoque «Middle out» que combina simultáneamente los
enfoques Top-Down y Bottom-Up. Esto es, de nir los procesos de negocio respondiendo a los
requisitos de negocio, a la vez que se de nen servicios que aprovechan los sistemas
existentes.
La principal tendencia actual se basa en el uso de ambas, con una primera fase Bottom-Up que
a ore y exponga los servicios existentes, para pasar a una fase posterior de Top-Down, donde
se analicen los procesos de negocio, y se asegure su alineación con la estrategia de la
organización.
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para nes analíticos. Al hacer clic en el botón Aceptar, aceptas el uso de estas
tecnologías y el procesamiento de tus datos para estos propósitos. Ver
RECHAZARSOA
Aproximaciones ACEPTAR
https://www.disrupciontecnologica.com/arquitectura-soa-y-composicion-de-servicios/ 7/16
17/2/2021 Arquitectura SOA y Composición de Servicios - Disrupción Tecnológica
Una vez identi cados, tanto los servicios existentes como los nuevos servicios que respondan
Disrupción Tecnológica
a los procesos de negocio, se confecciona un inventario de servicios. En él se indicarán las
Blog de divulgación de Ciencia y Tecnología relaciones entre servicios y objetivos de la empresa, evitando la duplicidad o inconsistencia en
los nuevos servicios.
La interfaz y parámetros.
Descripción de la funcionalidad.
Políticas.
Restricciones.
Diseño arquitectónico del sistema que permita satisfacer los requisitos, y establecer la
estructura mas adecuada a nivel lógico y físico, evitando confundir capas y niveles:
Implementación
Finalmente, se selecciona la tecnología mas adecuada que permita la implementación y
despliegue de la funcionalidad identi cada como servicio. Esta etapa lleva a cabo la
construcción o suscripción, adaptación o integración de una funcionalidad existente a la
arquitectura tecnológica seleccionada.
Durante todo el proceso es evidente que se deben respetar los principios SOA, y hacer efectivo
en el diseño y la implementación los criterios de bajo nivel de acoplamiento, independencia y
reutilización. Uno de los objetivos de SOA es aislar al servicio de la plataforma, sistema
operativo, hardware, lenguaje, protocolo, localización, etc. En resumen, minimizar el
acoplamiento de la uniadad funcional.
SOA es un estilo arquitectónico, un paradigma de diseño, mientras que Web Service es una
tecnología. Por tanto, es posible que una implementación con servicios web dé soporte
tecnológico a una arquitectura SOA. Sin embargo, podríamos tener una arquitectura SOA sin
que exista ni un solo servicio web.
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para nes analíticos. Al hacer clic en el botón Aceptar, aceptas el uso de estas
tecnologías y el procesamiento de tus datos para estos propósitos. Ver
Composición de Servicios
RECHAZAR ACEPTAR
https://www.disrupciontecnologica.com/arquitectura-soa-y-composicion-de-servicios/ 8/16
17/2/2021 Arquitectura SOA y Composición de Servicios - Disrupción Tecnológica
Como piezas LEGO, y esto inspira la imagen de portada, construir un nuevo proceso como la
composición de servicios existentes.
Es frecuente que un nuevo proceso de negocio se pueda descomponer en etapas o una serie
de actividades. Dichas actividades podrían realizarse a través de servicios ya existentes.
El ejemplo más fácil lo podemos tener en un buscador de viajes que ofrece la posibilidad de
contratar un paquete integral. Dicho buscador puede ofrecer la reserva de vuelo, hotel y
transporte local. El proceso viene a descomponerse en distintos servicios, y la secuencia de
subprocesos, en este caso servicios, que describen el proceso mayor se denomina work ow.
WorkFlow
El work ow o ujo de proceso es un modelo de proceso empresarial representado con
diagramas UML, o con la notación BPMN (Business Process Modeling Notation). Es el estudio
de lo relativo a las operaciones que se desarrollan en una actividad o proceso. Estas
operaciones pueden incluir, por ejemplo, sincronización de tareas, el orden de las mismas, la
forma en que se realizan o cómo uye la información a lo largo del proceso.
En un work ow se distinguen tres tipos de actividades diferentes:
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para nes analíticos. Al hacer clic en el botón Aceptar, aceptas el uso de estas
tecnologías y el procesamiento de tus datos para estos propósitos. Ver
1. Colaborativas: En aquellas donde un conjunto de entidades trabajan sobre el mismo
repositorioRECHAZAR ACEPTAR
de datos para obtener un resultado común. El trabajo de cada una de ellas
https://www.disrupciontecnologica.com/arquitectura-soa-y-composicion-de-servicios/ 9/16
17/2/2021 Arquitectura SOA y Composición de Servicios - Disrupción Tecnológica
Orquestación
El concepto de orquestación de servicios tiene mucha relación con el concepto que tenemos
de una orquesta musical. En una orquesta existe un director, y un conjunto de instrumentos.
Todos los instrumentos participan de alguna manera en la música, de forma coordinada, y es el
director quien coordina.
En una orquestación de servicios, existe un proceso central que lleva el control del resto de
servicios implicados en la realización de una tarea. Coordina la el ujo de ejecución de las
diferentes operaciones.
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para nes analíticos. Al hacer clic en el botón Aceptar, aceptas el uso de estas
Orquestación
tecnologías y el procesamiento de tus datos para estos propósitos. Ver
RECHAZAR ACEPTAR
https://www.disrupciontecnologica.com/arquitectura-soa-y-composicion-de-servicios/ 10/16
17/2/2021 Arquitectura SOA y Composición de Servicios - Disrupción Tecnológica
BPEL se mantiene por OASIS desde el 2004, con un fuerte apoyo de la industria. Ser una
con uencia de dos lenguajes de work ow anteriores: WSFL, de IBM, y XLANG, de Microsoft,
proporciona dicho apoyo. Sin embargo, BPEL está diseñado especí camente como lenguaje
para la de nición de procesos de negocio, soportando dos tipos:
Procesos de negocio ejecutables: Especi can todos los detalles de los procesos de
negocio implicados.
Un proceso BPEL está compuesto por actividades. El lenguaje de ne dos tipos de actividades
para la composición de servicios: primitivas y estructuradas.
Primitivas
Las primitivas son actividades básicas para la construcción de una composición, y podemos
encontrar tareas como:
Respuesta (Response): Se utiliza para enviar una respuesta a una solicitud o mensaje
previo.
Espera (Wait): Para forzar una espera en un proceso, durante un tiempo determinado.
Estructuradas
Las actividades estructuradas combinan varias de las anteriores, y permiten un control del ujo
mas detallado. Por ejemplo, tenemos:
While: Permite de nir bucles, repitiendo un grupo de tareas hasta cumplir la condición
de salida.
https://www.disrupciontecnologica.com/arquitectura-soa-y-composicion-de-servicios/ 11/16
17/2/2021 Arquitectura SOA y Composición de Servicios - Disrupción Tecnológica
< PA RT N E R L I N K S >
PartnerLinks es la sección donde se de nen los agentes que interaccionan en el proceso BPEL.
Cada agente lleva un PartnerLink, y está de nido por un parterLinkType, además del rol.
El partnerLinkType especi ca la relación entre dos servicios, de niendo el portType donde cada
servicio va a recibir los mensajes.
< VA R I A B L E S >
En el identi cativo variables se declaran las variables que se utilizarán para almacenar y
transformar mensajes del proceso BPEL. Es decir, las variables se utilizarán para el envío y
recepción de mensajes a partners.
Cada variable se declarará en un <scope> donde tendrá visibilidad como global o local.
Deberán ser inicializadas antes de utilizarse, y para hacerlo podremos utilizar la actividad
<assign> para asignarle un mensaje.
<SEQUENCE>
Dentro de esta etiqueta contendrá las actividades que conforman el proceso BPEL.
1 <process name="nameProcess">
2 <partnerLinks>
3 <!-- Declaración de partner links -->
4 </partnerLinks>
5 <variables>
6 <!-- Declaración de variables -->
7 </variables>
8 <sequence>
9 <!-- Cuerpo principal del proceso BPEL -->
10 </sequence>
11 </process>
Aunque BPEL no tiene una notación grá ca estándar, se utiliza BPMN para su especi cación,
con traducción a BPEL.
Coreografía
En la coreografía podríamos asimilar el concepto que tenemos de una coreografía de
bailarines, donde no existe un líder, no hay un coordinador. Un grupo de danza donde todos se
mueven de forma coordinada, conociendo la “coreografía”.
De igual manera, una coreografía de servicios no está coordinada por un proceso central, sino
que cada servicio implicado conoce el plan, el objetivo a conseguir, y el papel que le
corresponde. Cada servicio sabe cuando debe ejecutar sus operaciones y con qué otro servicio
debe interactuar.
RECHAZAR ACEPTAR
https://www.disrupciontecnologica.com/arquitectura-soa-y-composicion-de-servicios/ 12/16
17/2/2021 Arquitectura SOA y Composición de Servicios - Disrupción Tecnológica
Disrupción Tecnológica
Blog de divulgación de Ciencia y Tecnología
Coreogra a
Este lenguaje describe la colaboración entre los servicios que conforman la composición
coreográ ca, en el conjunto. Es decir, bajo un punto de vista global y común de la composición.
Antes de WS-CDL se utilizaba WSDL para describir los comportamientos «observables» de los
servicios, pero WS-CDL vino a cubrir algunas carencias. Entre ellas, permitir la descripción de
elementos «no observables» como la integración entre dos servicios en el marco del objetivo
funcional propuesto.
El desarrollo de WS-CDL, que estuvo mantenido por la W3C, fue abandonado tras cerrar el
grupo de trabajo de la W3C Web Services Choreography Working Group en el 10 de Julio de
2009.
Orquestación vs Coreografía
Como hemos visto, la orquestación de servicios y la coreografía son dos tipos de coordinación
diferentes en una composición de servicios. El enfoque de coordinación con orquestación se
ha impuesto por diversas razones:
Los servicios se pueden incorporar a la composición sin ser conscientes de ello, sin
sufrir cambios.
Para un enfoque Bottom-Up sólo es posible una composición con orquestación, que
permite incluso orquestar servicios legacy.
Comparte esto:
Esta web utiliza cookies propias y de terceros
para su correcto
Facebook funcionamiento
Twitter y para
LinkedIn nes analíticos. Al hacer clic en el botón Aceptar, aceptas el uso de estas
WhatsApp
tecnologías y el procesamiento de tus datos para estos propósitos. Ver
RECHAZAR ACEPTAR
https://www.disrupciontecnologica.com/arquitectura-soa-y-composicion-de-servicios/ 13/16
17/2/2021 Arquitectura SOA y Composición de Servicios - Disrupción Tecnológica
Arquitectura
Disrupción Tecnológica Interoperabilidad SOA
Blog de divulgación de Ciencia y Tecnología
AUTOR
la U. Internacional de La Rioja. Máster en Dirección de Proyectos, y Posgrados en Biotecnología,
Bioingeniería, e-Health y Telemedicina por UNED. Comencé trabajando en automatización industrial en
el sector de automoción, pero pronto pasé al sector sanidad, donde he trabajado durante 13 años en
proyectos de sistemas de información vinculados a 79 hospitales de España de los servicios de
sanidad de 15 comunidades autónomas, y Portugal. Tras 10 años de experiencia en interoperabilidad
en sanidad con HL7 y Mirth Connect, he decidido divulgar experiencias sobre este motor.
30 ENTRADAS
2 Comentarios
Deja un comentario
Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *
C O M E N TA R I O
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para nes analíticos. Al hacer clic en el botón Aceptar, aceptas el uso de estas
tecnologías y el procesamiento de tus datos para estos propósitos. Ver
RECHAZAR ACEPTAR
https://www.disrupciontecnologica.com/arquitectura-soa-y-composicion-de-servicios/ 14/16
17/2/2021 Arquitectura SOA y Composición de Servicios - Disrupción Tecnológica
*NOMBRE
Disrupción Tecnológica
Blog de divulgación de Ciencia y Tecnología
*CORREO ELECTRÓNICO
WEB
R E C I B I R U N C O R R E O E L E C T R Ó N I C O C O N C A D A N U E VA E N T R A D A .
PUBLICAR EL COMENTARIO
RESPONDER
RESPONDER
Etiquetas
Agujero negro (1) algoritmos (3) Arquitectura (3) buenas prácticas (3) Cambio horario (2) carcinógenos (1) Como (8)
Database (4) desinfección (1) disrupcion (1) e-Salud (7) ecologismo (4) epidemia (1) ER7 (2) Error (1)
Event horizont telescope (1) eventos (4) excel (1) HL7 (7) Horizonte de sucesos (1) Howto (8) Interoperabilidad (17)
IOT (1) JDBC (1) Layer (1) m87 (1) Medicamentos (1) Mirth Connect (10) modularización (1) Open Source (5)
optimización (2) Oracle (4) PL/SQL (2) productos químicos (1) Raspberry (1) riesgos (1) Salud (6) SOA (2) SQL (2)
https://www.disrupciontecnologica.com/arquitectura-soa-y-composicion-de-servicios/ 15/16
17/2/2021 Arquitectura SOA y Composición de Servicios - Disrupción Tecnológica
Disrupción Tecnológica
Aviso Legal Política de Privacidad Política de Cookies
Blog de divulgación de Ciencia y Tecnología
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para nes analíticos. Al hacer clic en el botón Aceptar, aceptas el uso de estas
tecnologías y el procesamiento de tus datos para estos propósitos. Ver
RECHAZAR ACEPTAR
https://www.disrupciontecnologica.com/arquitectura-soa-y-composicion-de-servicios/ 16/16