integrantes: marcelo caponi pablo rodriguez pablo zamudio tutores: leonardo rodríguez diego rivero

Post on 24-Jan-2016

213 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

top related