Integrantes:
Marcelo Caponi
Pablo Rodríguez Defino
Pablo Zamudio
Tutores:
Ing. MSc. Leonardo Rodríguez
Ing. Diego Rivero
- Entender soluciones basadas en mensajería
SOA ∩ Mensajería
Futuro EIP → SOA
WS-* → EIPs
Frameworks y ESBs → EIPs
Estudiar EIP en SOA
- Introducción a Mensajería en Sistemas de Información
- Estado del arte
- Herramientas
- Clasificación de Patrones según implementación
- Ejemplos
- Caso de Estudio: Loan Broker
- Introducción a Mensajería en Sistemas de Información
- Estado del arte
- Herramientas
- Clasificación de Patrones según implementación
- Ejemplos
- Caso de Estudio: Loan Broker
Aplicación 1
Aplicación 2
Canal

Brinda:
 Bajo Acoplamiento
 Comunicación Asíncrona
 Comunicación Confiable
 Operación sin conexión

Pero …
 Modelo de Programación complejo

Integración de aplicaciones

Diseminación de Información

Sistemas de Monitoreo Distribuido

Sistemas Móviles

Channels: Direcciones lógicas en el
sistema de mensajería.

Messages: Entidades que transportará el
sistema de mensajería.

Message Endpoint: Permite conectar una
aplicación al sistema de mensajería.

Permite la comunicación entre aplicaciones
mediante el intercambio de mensajes.

Características:
 Confiable
 Asíncrona
 Con garantía de entrega
 Con notificación de entrega
 Con manejo transaccional

Patrones de Diseño de Mensajería (EIP)

Diagramas de propósito general
 UML y otros

Channel Patterns
 Point-to-Point Channel

Message Patterns
 Correlation Identifier

Routing Patterns
 Message Router

Transformation Patterns
 Content Filter

Endpoint Patterns
 Message Selector

Management Patterns
 Wire Tap

UML (Diagramas de estados, Diagramas de Actividad,
Diagramas de secuencia, etc)

Diagramas de Contexto

Signal Wiring Diagrams

Block Diagrams

Workflow diagrams

SDL
- Introducción a Mensajería en Sistemas de Información
- Estado del arte
- Herramientas
- Clasificación de Patrones según implementación
- Ejemplos
- Caso de Estudio: Loan Broker

Porqué EIP al integrar servicios ?
 Mensajería madura para integración (EIP)
 WS y ESB en auge para integrar servicios
 WS-* → EIPs
 Frameworks y ESB → EIPs

Web Services

Estándares WS-*
 WS-Addressing
 WS-ReliableMessaging
 WS-Notification
 WS-Enumeration

Funcionalidades básicas
 Conversión de protocolos de transporte
 Transparencia de localización
 Transformación de mensajes
 Ruteo de mensajes
 Soporte a ejecución de procesos de negocio
 Monitoreo y administración

Implementables con Web Services

Implementables con estándares WS-*

Implementables con ESB

Composición de patrones simples

Implementación particular

Publish-Subscribe Channel
 Problema
○ ¿Cómo notificar a un conjunto de destinatarios
ante la ocurrencia de un evento?.
 Solución
○ Usar un canal Publish-Subscribe al que los
destinatarios se subscriben.

Utilización de:
WS-Notification (WS-BrokeredNotification y WS-Topics)

Servicios destinatarios se subscriben a un
tópico y son notificados ante eventos.

Se utiliza al ESB como implementación de
WS-BrokeredNotification y WS-Topics.

Content-Based Router
 Problema
○ ¿Cómo diseminar información en base a su
contenido?
 Solución
○ Usar un Content-Based Router, un router que
derive mensajes en base a su contenido.

Se utilizan las capacidades de ruteo del ESB.

Por cada destinatario se definen reglas de ruteo
que determinan las condiciones de entrega de
mensajes.

Por ejemplo, condiciones expresadas en XPath
sobre mensajes SOAP.

Smart Proxy
 Problema
○ Lograr interceptar las invocaciones y respuestas a un
servicio que responde siempre a la dirección de indicada
por el invocador.
 Solución
○ Usar un Smart Proxy que intercepte las invocaciones y
respuestas del servicio.

Composición de tres patrones
 Return Address
○ WS-Addressing
 Correlation Identifier
○ WS-Addressing
 Message Router
○ Capacidades de ruteo del ESB
- Introducción a Mensajería en Sistemas de Información
- Estado del arte
- Herramientas
- Clasificación de Patrones según implementación
- Ejemplos
- Caso de Estudio: Loan Broker
Agencia
de Crédito
Banco 1
$$$
¿Banco 1 …
Banco N?
.
.
.
.
Banco N
Agencia
de Crédito
Banco 1
Cliente
Banco N
Servidor
de Correo
Servidor de
Facturación

Análisis
 Modelado del dominio del problema
 Contexto de la aplicación
 Proceso de negocio

Diseño
 Estructura de la aplicación
 Aspectos de Mensajería
 Interacción entre componentes

Apache ServiceMix
 Componentes para implementar EIP
 Basado en estándar JBI

Apache CXF
 Stack de WS que implementa varias WS-*

Análisis y diseño de una solución
basada en mensajería

Implementación de todos los EIPs sobre
las herramientas seleccionadas
 Simple para casos que plataforma brinda
soporte
 Complejo para mapear conceptos de
mensajería a conceptos de JBI

Se entendieron conceptos de mensajería y aspectos
relevantes en este tipo de soluciones.

Se logran propuestas de implementación para EIPs
usando ESB, Web Services y estándares WS-*.

EIPs vigentes en contextos de integración de servicios.

Existen aspectos de este tipo de soluciones que no se
pueden especificar con UML.

Falta de propuestas metodológicas de cómo abordar la
parte concerniente a mensajería de una solución.

Implementación de EIP en SOA es factible.

Estándares WS-* tienden a implementar EIP, pero no
los cubren aun en su totalidad.