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

29
Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

Upload: julio-soto-agueero

Post on 24-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

Integrantes:

Marcelo CaponiPablo RodriguezPablo Zamudio

Tutores:

Leonardo RodríguezDiego Rivero

Page 2: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego 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

Page 3: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero
Page 4: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero
Page 5: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

Dibujo:canal + mensaje (decir que es) + endpoints

que consumen y producen los mensajes

Page 6: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

Brinda:Bajo AcoplamientoComunicación AsíncronaComunicación ConfiableOperación sin conexión

Pero …Modelo de Programación complejo

Page 7: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

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

Page 8: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

Integración de aplicaciones

Diseminación de Información

Sistemas de Monitoreo Distribuido

Sistemas Móviles

Page 9: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

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.

Page 10: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

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

Page 11: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero
Page 12: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

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

Page 13: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

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

Page 14: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

UML (Diagramas de estados, Diagramas de Actividad, Diagramas de secuencia, etc)

Diagramas de Contexto

Signal Wiring Diagrams

SysML

Workflow diagrams

SDL

Page 15: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

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

Page 16: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero
Page 17: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

Porque EIP en SOA?

SOA ∩ Mensajería?Futuro EIP → SOA?WS-* → EIPs?Frameworks y ESBs → EIPs?

Page 18: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

Estándares WS-*WS-NotificationWS-AdressingWS-ReliableMessagingWS-CoordinationWS-AtomicTransactionWS-BusinessActivityWS-EnumerationWS-PolicyWS-ResourceFramework

Page 19: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

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)

Page 20: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

Implementables mediante WS-* No implementables mediante WS-*

Basados en el canalRuteo de mensajesManipulación de mensajesTransformación de mensajesSystem Management

Page 21: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

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.

Page 22: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

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.

Page 23: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

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.

Page 24: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

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

Page 25: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero
Page 26: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero

Lo que falta

Page 27: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero
Page 28: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero
Page 29: Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero