Tema 11. Patrones de integración PDF

Title Tema 11. Patrones de integración
Author Jesús Roldán Cadena
Course Arquitectura e Integración de Sistemas Software
Institution Universidad de Sevilla
Pages 9
File Size 594.9 KB
File Type PDF
Total Views 116

Summary

Profesor: Sergio Segura...


Description

TEMA 11: PATRONES DE INTEGRACIÓN 1. Introducción 1.1 Estrategias de integración • • • •

Transferencia de fccerrss Dos aplicaciones se comunican a través del paso de fccerrs. Una aplicación escribe un fccero, lo manda a otra. Esta otra aplicación lo lee y actúa en consecuencia. Bases de datrs crmpartdass Varias aplicaciones utliian una base de datos. Las aplicaciones leen y escriben en ella y se comunican con otras aplicaciones a través de ella. Invrcación de prrcedimientrs remrtrss Una aplicación se comunica con otra a través de petciones de acceso a información o de realiiación de acciones. Mensajerías Se usan mensajes para transferir datos de forma frecuente, fable y asíncrona, usando formatos personaliiables. En este tema nos centraremos en esta estrategia.

Un patrón de integración es una solución general y comúnmente aceptada para un problema de integración recurrente que expresa una relación entre un crntextr, un prrblema y una srlución. A la cora de diseñar un patrón, se utliian iconos para identfcar a las distntas partes de dicco patrón.

1

Apuntes hechos por Jesús Roldán Cadena - JRC

2. Patrones básicos 2.1 Message channel ¿Cómr puede una aplicación crmunicarse crn rtra usandr mensajería? Conectar la aplicación usando un canal de mensajes (message ccannel), donde una aplicación escribe información en un extremo del canal y la otra lee la información en el otro extremo.

2.2 Message ¿Cómr pueden drs aplicacirnes crnectadas prr un canal de mensajes intercambiar infrrmación? Empaquetar la información en un mensaje (message), un conjunto de datos que el sistema de mensajería puede transmitr a través de un canal de mensajes.

Un mensaje consta de dos partes: • Cabecera. Información usada por el sistema de mensajería para describir los datos que se están transmitendo (origen, destno, etc.) • Cuerpr. Crntenidr del mensaje. Generalmente es ignorado por el sistema de mensajería y es enviado tal cual.

2

Apuntes hechos por Jesús Roldán Cadena - JRC

2.3 Pipes and filters ¿Cómr prdemrs ejecutar tareas de prrcesamientr crmplejas srbre un mensaje manteniendr la independencia y la fexibilidad? Usar el estlo arquitectónico tuberías y fltrrs (pipes and flters) para dividir tareas de procesamiento largas en una secuencia de pasrs pequeñrs e independientes (fltrrs) que son conectados por canales de mensajes (tuberías)s

2.4 Message router (enrutador de mensajes) ¿Cómr prdemrs desacrplar pasrs de prrcesamientr individuales de manera que lrs mensajes puedan pasar prr distntrs fltrrs dependiendr de una serie de crndicirnes? Insertar un tpo especial de fltro, el enrutadrr de mensajes (message rruter), que consume un mensaje de un canal de mensajes y lo redirige a diferentes canales en función de una serie de condiciones.

2.5 Message translator ¿Cómr pueden sistemas crn frrmatrs de datrs diferentes crmunicarse entre sí usandr mensajería? Usar un tpo especial de fltro, un traductrr de mensajes (message translatrr), entre otros fltros o aplicaciones para traducir de un formato a otro.

3

Apuntes hechos por Jesús Roldán Cadena - JRC

2.6 Message endpoint ¿Cómr puede una aplicación crnectarse a un canal de mensajes para enviar y recibir mensajes? Crnectar la aplicación a un canal de mensajes usando un extremr de mensajería (message endprint), un cliente del sistema de mensajería que la aplicación puede usar para enviar y recibir mensajes.

3. Canales de mensajes 3.1 Point-to-point channel ¿Cómr puede la aplicación que envía el mensaje estar segura de que sólr un receptrr recibirá el mensaje? Enviar el mensaje usando un canal puntr a puntr (print-tr-print ccannel), para asegurar que sólo un receptor recibirá el mensaje.

3.2 Channel adapter ¿Cómr prdemrs crnectar una aplicación cerrada a un sistema de mensajería de manera que pueda enviar y recibir mensajes? Usar un adaptadrr (ccannel adapter) que puede acceder a la API o los datos de la aplicación y publicar mensajes con esos datos en el canal. Así mismo, el adaptador permitrá recibir mensajes e invocar funcionalidad de la aplicación. El adaptador es crmpletamente independiente de la aplicación. En el message endpoint el adaptador era un módulr más de la aplicación.

4

Apuntes hechos por Jesús Roldán Cadena - JRC

3.3 Publish-subscribe channel ¿Cómr puede un emisrr enviar un eventr a trdrs lrs receptrres interesadrs? Enviar el evento a través de un canal publicar-suscribir (publisc-subscribe ccannel), que entrega una copia del evento a cada receptor interesado en el mismo.

3.4 Message bus ¿Qué arquitectura permite a aplicacirnes trabajar juntas perr de una frrma desacrplada de manera que las aplicacirnes puedan ser añadidas r eliminadas sin afectar a las rtras? Estructurar las aplicaciones caciendo uso de un bus de mensajes (Message Bus) que les permita trabajar juntas usando mensajería.

5

Apuntes hechos por Jesús Roldán Cadena - JRC

3.5 Ejemplo: Bus de mensajes + publicar-suscribir Ejemplr: Frambuesr de la NASA para sistemas de vuelo y de control de satélites.

4. Construcción de mensajes Vamos a cablar de mensajes concretos, en los que a cada uno se le da una semántca diferente, es decir, un propósito determinado.

4.1 Command message ¿Cómr puede usarse la mensajería para invrcar a un prrcedimientr de rtra aplicación? Usar un mensaje crmandr (crmmand message) para invocar a un procedimiento de otra aplicación.

4.2 Document message ¿Cómr puede la mensajería utlizarse para transferir datrs entre aplicacirnes? Usar un mensaje drcumentr (drcument message) para transferir datos entre aplicaciones.

6

Apuntes hechos por Jesús Roldán Cadena - JRC

4.3 Event message ¿Cómr puede usarse la mensajería para transmitr eventrs entre aplicacirnes? Usar un mensaje eventr (event message) para la notfcación asíncrona de eventos entre aplicaciones.

5. Enrutamiento de mensajes 5.1 Message filter ¿Cómr puede una aplicación evitar recibir determinadrs mensajes? Usar un fltrr de mensajes (message flter), para eliminar mensajes no deseados de un canal de acuerdo a unos criterios dados.

5.2 Splitter ¿Cómr prdemrs prrcesar un mensaje que crntene múltples elementrs, cada unr de lrs cuales tene que ser prrcesadr de una frrma diferente? Usar un divisrr (splitter) para dividir el mensaje compuesto en un conjunto de mensajes individuales donde cada mensaje contendrá datos que deben ser procesados de forma diferente.

7

Apuntes hechos por Jesús Roldán Cadena - JRC

5.3 Aggregator ¿Cómr prdemrs crmbinar mensajes individuales de manera que puedan ser prrcesadrs crmr un trdr? Usar un fltro con estado, un agregadrr (aggregatrr), para recibir y almacenar mensajes individuales que prsterirrmente srn fusirnadrs en uno sólo.

6. Manipulación de mensajes 6.1 Content enricher ¿Cómr prdemrs crmunicar una aplicación crn rtra si el mensaje de rrigen nr tene trda la infrrmación requerida prr la aplicación destnr? Usar un tpo específco de transformador, un enriquecedrr de crntenidr (crntent enriccer), para acceder a una fuente de datos externos y añadir infrrmación adicirnal al mensaje.

6.2 Content filter ¿Cómr prdemrs simplifcar el trabajr crn un mensaje grande cuandr sólr nrs interesa parte del crntenidr? Usar un fltro de contenido (Crntent Filter) para eliminar lrs datrs nr deseadrs del mensaje.

8

Apuntes hechos por Jesús Roldán Cadena - JRC

7. Extremos de mensajería 7.1 Messaging gateway (punto de acceso) ¿Cómr prdemrs encapsular el accesr al sistema de mensajería desde el restr de la aplicación? Usar un puntr de accesr (messaging gateway), un elemento que envuelve a los métodos del sistema de mensajería y exprne métrdrs específcrs del drminir a la aplicacións

7.2 Message dispatcher ¿Cómr pueden múltples crnsumidrres en un únicr canal crrrdinarse para prrcesar lrs mensajes? Crear un distribuidrr de mensajes (message dispatccer) que crnsuma lrs mensajes del canal y lrs distribuya entre los responsables de procesarlos.

8. Gestión del sistema 8.1 Control bus ¿Cómr prdemrs administrar efcientemente un sistema de mensajería distribuidr? Usar un bus de crntrrl (crntrrl bus) para gestrnar una solución de integración. El bus usa los mismos mecanismos que el sistema de mensajería pero usa sus prrpirs canales y mensajes para transmitr datrs relevantes para la gestón y monitoriiación del sistema.

9

Apuntes hechos por Jesús Roldán Cadena - JRC...


Similar Free PDFs