integrantes: marcelo caponi pablo rodriguez pablo zamudio tutores: leonardo rodríguez diego rivero
TRANSCRIPT
Integrantes:
Marcelo CaponiPablo RodriguezPablo Zamudio
Tutores:
Leonardo RodríguezDiego Rivero
- Entender soluciones basadas en mensajería
- Estudiar técnicas y artefactos de diseño para atacar un problema de mensajería
Estudiar EIP en SOA
SOA ∩ Mensajería
Futuro EIP → SOA
WS-* → EIPs
Frameworks y ESBs → EIPs
Dibujo:canal + mensaje (decir que es) + endpoints
que consumen y producen los mensajes
Brinda:Bajo AcoplamientoComunicación AsíncronaComunicación ConfiableOperación sin conexión
Pero …Modelo de Programación complejo
Definición
“Paradigma en el que tanto la estructura como la ejecución de los programas están determinados por los sucesos que ocurran en el sistema o que ellos mismos provoquen.”
Puntos de contacto con mensajeria?Forma de pensar las soluciones similar
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:ConfiableAsíncronaCon garantía de entregaCon notificación de entregaCon manejo transaccional
Identificación del contexto
Especificación del comportamiento de la aplicación
Definición de los componentes
Definición y estructura de los canales de comunicación
Especificación de interacción entre componentes
Channel Patterns Point-to-Point Channel
Message Patterns Return Address
Routing Patterns Message Router
Transformation Patterns Content Filter
Endpoint Patterns Event-Driven Consumer
Management Patterns Wire Tap
UML (Diagramas de estados, Diagramas de Actividad, Diagramas de secuencia, etc)
Diagramas de Contexto
Signal Wiring Diagrams
SysML
Workflow diagrams
SDL
Identificación del contexto Diagrama de Contexto Diagrama de Casos de Uso
Especificación del comportamiento de la aplicación Diagramas de Actividad UML Diagramas de Workflow
Definición de los componentes Block diagrams Signal Wiring Diagrams Diagramas de Componentes UML
Definición y estructura de los canales de comunicación Diagramas de EIP
Especificación de interacción entre componentes Signal Wiring Diagrams Block diagrams (SysML) Diagramas de Comunicación UML
Porque EIP en SOA?
SOA ∩ Mensajería?Futuro EIP → SOA?WS-* → EIPs?Frameworks y ESBs → EIPs?
Estándares WS-*WS-NotificationWS-AdressingWS-ReliableMessagingWS-CoordinationWS-AtomicTransactionWS-BusinessActivityWS-EnumerationWS-PolicyWS-ResourceFramework
Apache CamelMotor de reglas de ruteo y transformacion de
mensajesSoporta varios protocolosImplementa gran parte de los EIPReglas expresables mediante:
○ POJOs + DSL○ POJOs + XMLs de configuración (Spring
fashion)
Implementables mediante WS-* No implementables mediante WS-*
Basados en el canalRuteo de mensajesManipulación de mensajesTransformación de mensajesSystem Management
Message Filter.
Problema
Evitar que un componente reciba mensajes que no le son de interés
SoluciónUtilizar un ruter, que filtre los mensajes que no son de interés, en función de criterios definidos con anterioridad.
Utilización de:WS-Notification (WS-BaseNotification y WS-Topics)
En cada suscripción se especifican filtros para evaluar si una notificación debe ser enviada al subscriptor o no. Se puede especificar:Tópicos de interésCondiciones sobre las notificaciones usando Xpath
Se utilizo Apache Muse, como plataforma que implementa estas especificaciones.
Dead Letter Channel.
Problema
Resolver a donde van los mensajes que no
pueden ser entregados.
SoluciónEspecificar un canal donde se envíen los mensajes que no se pueden entregar.
Se utiliza Apache Camel
Se definen políticas a seguir para evaluar si un mensaje ya no puede ser entregado. Ejemplos:cantidad de reintentos de entregatiempo máximo a intentar la entrega.
Se especifican reglas de ruteo de los mensajes que no pueden ser entregados. Ejemplos:Web Services, colas de mensajes, base de datos,
dirección de correo
Lo que falta