360 likes | 488 Views
Integrantes: Marcelo Caponi Pablo Rodríguez Defino Pablo Zamudio Tutores: Ing. MSc. Leonardo Rodríguez Ing. Diego Rivero. Mensajería en Sistemas de Información. Objetivos. - Entender soluciones basadas en mensajería. SOA ∩ Mensajería. Futuro EIP → SOA. Estudiar EIP en SOA.
E N D
Integrantes: Marcelo Caponi Pablo Rodríguez Defino Pablo Zamudio Tutores: Ing. MSc. Leonardo Rodríguez Ing. Diego Rivero Mensajería en Sistemas de Información
Objetivos - Entender soluciones basadas en mensajería SOA ∩ Mensajería Futuro EIP → SOA Estudiar EIP en SOA WS-* → EIPs Frameworks y ESBs → EIPs
Que es mensajería? Aplicación 1 Aplicación 2 Canal
Aporte a los Sistemas de Información • Brinda: • Bajo Acoplamiento • Comunicación Asíncrona • Comunicación Confiable • Operación sin conexión • Pero … • Modelo de Programación complejo
Contextos de aplicación • Integración de aplicaciones • Diseminación de Información • Sistemas de Monitoreo Distribuido • Sistemas Móviles
Componentes de una solución de mensajería • 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.
Message OrientedMiddleware • 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
Herramientas para diseño • Patrones de Diseño de Mensajería (EIP) • Diagramas de propósito general • UML y otros
Patrones de Diseño de Mensajería • ChannelPatterns • Point-to-Point Channel • Message Patterns • CorrelationIdentifier • RoutingPatterns • Message Router • TransformationPatterns • Content Filter • EndpointPatterns • Message Selector • Management Patterns • WireTap
Diagramas de propósito general • UML (Diagramas de estados, Diagramas de Actividad, Diagramas de secuencia, etc) • Diagramas de Contexto • Signal Wiring Diagrams • Block Diagrams • Workflow diagrams • SDL
Motivación • 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
Herramientas – Web Services • Web Services • Estándares WS-* • WS-Addressing • WS-ReliableMessaging • WS-Notification • WS-Enumeration
Herramientas – ESB • 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
Clasificación de Patrones según implementación • Implementables con Web Services • Implementables con estándares WS-* • Implementables con ESB • Composición de patrones simples • Implementación particular
Ejemplo deImplementación con WS-* • 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.
Ejemplo de Implementación con WS-* • 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.
Ejemplo de Implementación con ESB • Content-Based Router • Problema • ¿Cómodiseminar información en base a su contenido? • Solución • Usar un Content-Based Router, un router que derive mensajes en base a su contenido.
Ejemplo de Implementación con ESB • 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.
Ejemplo de Implementación compuesta • 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.
Ejemplo de Implementación compuesta • Composición de tres patrones • Return Address • WS-Addressing • Correlation Identifier • WS-Addressing • Message Router • Capacidades de ruteo del ESB
Problema Agencia de Crédito Banco 1 Banco N . . $$$ ¿Banco 1 … Banco N? . .
Solución: Loan Broker Agencia de Crédito Banco 1 Cliente Banco N Servidor de Correo Servidor de Facturación
Análisis y Diseño • 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
Herramientas • Apache ServiceMix • Componentes para implementar EIP • Basado en estándar JBI • Apache CXF • Stack de WS que implementa varias WS-*
Resultados • 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
Conclusiones • 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.
Trabajo a Futuro • 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.