La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero."— Transcripción de la presentación:

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

2 - 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

3

4

5 Aplicación 1 Aplicación 2 Canal

6  Brinda: Bajo Acoplamiento Comunicación Asíncrona Comunicación Confiable Operación sin conexión  Pero … Modelo de Programación complejo

7  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

8  Integración de aplicaciones  Diseminación de Información  Sistemas de Monitoreo Distribuido  Sistemas Móviles

9  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.

10  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

11

12  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

13  Patrones de Diseño de Mensajería (EIP)  Diagramas de propósito general  UML y otros

14  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

15  UML (Diagramas de estados, Diagramas de Actividad, Diagramas de secuencia, etc)  Diagramas de Contexto  Signal Wiring Diagrams  Block Diagrams  Workflow diagrams  SDL

16  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

17  Identificación del contexto Diagrama de Contexto  Especificación del comportamiento de la aplicación Diagramas de Actividad UML  Definición de los componentes Block Diagrams  Definición y estructura de los canales de comunicación Diagramas de EIP  Especificación de interacción entre componentes Block diagrams (SysML)

18

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

20  Estándares WS-* WS-Notification WS-Adressing WS-ReliableMessaging WS-Coordination WS-AtomicTransaction WS-BusinessActivity WS-Enumeration WS-Policy WS-ResourceFramework

21  Apache Camel Motor de reglas de ruteo y transformacion de mensajes Soporta varios protocolos Implementa gran parte de los EIP Reglas expresables mediante: ○ POJOs + DSL ○ POJOs + XMLs de configuración (Spring fashion)

22  Implementables mediante WS-*  No implementables mediante WS-* Basados en el canal Ruteo de mensajes Manipulación de mensajes Transformación de mensajes System Management

23  Message Filter. Problema Evitar que un componente reciba mensajes que no le son de interés Solución Utilizar un ruter, que filtre los mensajes que no son de interés, en función de criterios definidos con anterioridad.

24  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és Condiciones sobre las notificaciones usando Xpath  Se utilizo Apache Muse, como plataforma que implementa estas especificaciones.

25  Dead Letter Channel. Problema Resolver a donde van los mensajes que no pueden ser entregados. Solución Especificar un canal donde se envíen los mensajes que no se pueden entregar.

26  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 entrega tiempo 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

27  WS-* + WS-* Estándares componibles por definición  WS-* + No WS-* Factible usando Apache Camel y su componente para manejo de WS  No WS-* + No WS-* Factible si al implementar un patron se tiene en cuenta la compatibilidad con el resto

28  Completar estudio de implementación de EIP en SOA  Impacto de la implementación de EIP en la composición  Trazabilidad entre diagramas de diseño  Caso de estudio

29  Existen aspectos de este tipo de soluciones que no se pueden especificar con UML.  No encontramos metodologías especificas para el desarrollo de este tipo de soluciones.  Implementación de EIP en SOA es factible.  Estándares WS-* tienden a implementar EIP, pero no los cubren aun en su totalidad.

30  Enterprise Integration Patterns - Gregor Hohpe, Bobby Woolf  Event-Based Programming - Ted Faison  Unified Modeling Language (UML), version 2.1.1 http://www.omg.org/technology/documents/formal/uml.htm http://www.omg.org/technology/documents/formal/uml.htm  SysML - http://www.sysml.org/http://www.sysml.org/  From use case diagrams to context diagrams - http://searchsoftwarequality.techtarget.com/originalContent/0,2891 42,sid92_gci1280295,00.htmlhttp://searchsoftwarequality.techtarget.com/originalContent/0,2891 42,sid92_gci1280295,00.html  Representing Systems With Context Diagrams - http://spot.colorado.edu/~kozar/CONTEXT.html http://spot.colorado.edu/~kozar/CONTEXT.html  WS-* - Oasis.org - http://www.oasis-open.orghttp://www.oasis-open.org  WS-* - W3C - http://www.w3.org/http://www.w3.org/  Apache Camel - http://activemq.apache.org/camel/http://activemq.apache.org/camel/  Apache Muse - http://ws.apache.org/muse/http://ws.apache.org/muse/

31


Descargar ppt "Integrantes: Marcelo Caponi Pablo Rodriguez Pablo Zamudio Tutores: Leonardo Rodríguez Diego Rivero."

Presentaciones similares


Anuncios Google