Mostrando entradas con la etiqueta EAI. Mostrar todas las entradas
Mostrando entradas con la etiqueta EAI. Mostrar todas las entradas

domingo, 16 de octubre de 2011

Integración de Aplicaciones Empresariales a través de Patrones de Mensajería

La creciente interconexión entre los sistemas de información y la integración de aplicaciones se ha convertido en un importante tema que va más alla de los aspectos técnicos. Las consecuencias financieras y de negocios de integración de aplicaciones puede ser inmensa. La comunidad informática está generalmente más interesada ​​en el desarrollo e implementación de arquitecturas empresariales que en los mecanismos de integración entre las aplicaciones.  En esta ocasión nos enfocamos en la integración a través de mensajes. La mensajería es la clave para la integración y es el enfoque predominante en los servicios web en los próximos años.

La mensajería es una tecnología que permite la comunicación entre programas con una entrega confiable. La comunicación entre programas se hace mediante el envío de paquetes de datos llamados mensajes a través de canales que son las vías lógicas que se conectan los programas y transmiten los mensajes.

Las funciones de mensajería son provistos por un sistema de software independiente denominado sistema de mensajería o middleware orientado a mensajes (MOM) por medio de estándares de integración como RPC, CORBA o DCOM. Un sistema de mensajería gestiona mensajes de la forma en que un sistema de base de datos maneja la persistencia de datos. Al igual que un administrador debe rellenar la base de datos con el esquema de los datos de una aplicación, el administrador debe configurar el sistema de mensajería con los canales que definen las rutas de comunicación entre las aplicaciones. 

Orquestación de Procesos a través de Mensajería

Los servicios Web son apoyados por una pila de estándares de Internet (HTTP, XML, SOAP, WSDL y UDDI), que debía ser complementada por una capa de procesos, ya que son escenarios de negocio basados en procesos. En el nivel de ejecución, estos modelos se utilizan para la orquestación de procesos. Orquestación, en este contexto describe la composición de los objetos de negocio en un flujo de proceso. En detalle, se define una compleja interacción entre los objetos de negocio, incluyendo la lógica de negocio para la ejecución de las interacciones.

Sin objetos de negocio a orquestar, el contexto general entre los pasos del proceso se perdería. Los colaboradores del proceso deben tener la posibilidad de acceso a datos y aplicaciones de una manera fácil y segura. Coreografías por otro lado definen la colaboración entre las partes que interactúan. Tanto la orquestación como coreografías en la interacción  de objetos de procesos de negocio se puede lograr mediante la implementación de funciones de un sistema de mensajería a nivel de middleware.

 
Patrón de Orquestación de Procesos

Como ejercicio académico y partiendo de la notación de coreografía de BPMN 2.0 se diseñó un nuevo patrón de orquestación de procesos. Luego se modeló el proceso con BPEL integrando OpenESB.

Continuando con el modelamiento de la arquitectura empresarial incorporamos patrones de mensajería a nivel de integración que nos permita posteriormente incorporar o diseñar patrones de mensajeria SOA.

 
Modelo Proceso BPEL: Solicitud de Garantía


lunes, 10 de octubre de 2011

BPMN, Patrones de Integración Empresarial, Integración de Aplicaciones

De las tres lecturas para la clase de esta semana, la primera continuaba con el tema de BPMN y las dos restantes, sobre el nuevo tema de integración empresarial..

La primera lectura, de Thomas Allweyer, presenta una introducción a BPMN 2.0.

A través de ejemplos,  se presenta la notación completa. Aunque no se entra en detalle en el campo de los metamodelos, el autor si hace énfasis en que BPMN no es solo una notación y despierta la curiosidad del lector sobre este tema. Igualmente, se tiene en cuenta aspectos de la ejecución de los modelos presentados a lo largo del libro.

En comparación con el libro de Silver estudiado en clases anteriores, este texto de Allweyer resulta mucho más claro y placentero de leer.

En la lectura Enterprise Integration Patterns se presenta, de una manera un tanto similar a la del libro de Allweyer, un primer ejemplo en el que se explican, teniendo en cuenta restricciones bastante comunes en la practica, patrones que se estudian más en detalle posteriormente.

El lenguaje y ambiente más técnico, comparado con las otras lecturas tratadas anteriormente en la clase, en donde incluso se muestran fragmentos de código, ha de resultar muy recomfortante para quienes puedan haber sentido que los temas tratados anteriormente han sido demasiado "para administradores".

Por ultimo, vale la pena resaltar la muy buena definición de Loose Coupling basado en minimizar el numero de asunciones al comunicarse.

La tercera lectura acerca de integración de aplicaciones comienza con un recuento basatnte interesante de la integración haciendo una analogía geografica y urbana.
En conjunto, en esta última lectura si bien mucho más puntual en cuanto a que trata especialmente el área de aplicaciones de negocios, se pueden apreciar varios patrones descritos en la lectura de  Enterprise Integration Patterns.


En general, con estas lecturas queda bastante claro BPMN 2.0, y se presenta un nuevo tema bastante interesante y para muchos quizás más familiar a la ingeniería de sistemas.

Patrones y BPMN - Propuesta de un nuevo patrón


Como ejercicio académico y usando como apoyo la notación de coreografía de BPMN 2.0 se creó el diseño de un nuevo patrón.

Patrón autorizador


Problema
En un flujo de procesos es muy frecuente que se presenten situaciones en las cuales se requiere la aprobación de una actividad puntual. Autorizar el uso de una garantía, la aprobación de un préstamo bancario o la autorización de un pago con tarjeta de crédito son algunos ejemplos que muestran la razón por la que se propone el nuevo patrón.

Motivación
Delegar a un tercero la autorización  de actividades evita que uno o varios procesos de negocio tengan que re-plantear una tarea que puede ser modelada de una forma estándar y que se puede aplicar transversal al flujo normal de eventos.

Aplicación
El Autorizador, es un patrón sencillo y permite un uso amplio en cualquier área. Desde servicios financieros (autorización de productos a un cliente), hasta procesos administrativos (autorización para compra de papelería de las oficinas).

Estructura