Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porBernardo Benítez Lozano Modificado hace 9 años
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
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
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)
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/
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.