Los servicios que se tienen que tener en cuenta para la integración entre aplicaciones se muestran a continuación:
A. Transporte y Conectividad: El objetivo es la transmisión de la información requerida entre las palicaciones.
1. Transporte de datos: Normalmente implica el uso de un bus de comunicación multicanal. Los servicios se pueden dividir en:
-Database Management Systems (DBMS): Si hay varias aplicaciones que comparten parte de un modelo de datos común representado en un motor de manejo de bases de datos, se puede intercambiar datos en común debido a que cada aplicación tiene acceso al modelo común.
-Transferencia de archivos: Se utilizan manejadores de transferencia de archivos, los cuales son capaces de recibir y enviar datos almacenados en archivos (como FTP por ejemplo). Algunos dejar configurar disparadores (triggers), que ante la llegada de un archivo puede invocar comandos sobre la máquina que lo recibió. Gracias a ello, una aplicación puede conocer cuándo le envía información otro programa para así efectuar diferentes acciones de procesamiento.
-Sistemas de mensajería interaplicación (MOMs): Se efectúa una comunicación a nivel de aplicación, a través del envío de mensajes, los cuales son gestionados por el MOM a través del uso de colas, el manejo de transacciones, las opciones de recuperación ante fallos, persostencia, monitoreo etc. Para poder hacer uso de un MOM debe modificarse a fondo la aplicación, definiendo la interacción con el MOM.
-Internet: A través del uso de esta red, se puede realizar intercambio de información entre aplicaciones a través del uso de protocolos como HTTP, SMTP, SOAP, eMS (EbXML Messaging Service), RNIF, EDIINT, etc.
2. Conectividad: Se usan buses de comunicación para poder transmitir tanto datos como eventos. Para conectar infraestructuras de intercambio de información con las aplicaciones, se puede hacer uso de adaptadores, los cuales permiten ese enlace, a través de la invocación de eventos sobre la infraestructura desde un programa.
3. Supervisión del transporte de la información Captura información de los eventos y datos transmitidos, con el fin de identificar fallos y/o compromisos, con el fin de identificar fallo o compromisos en el transporte de los datos y eventos.
B. Adaptación de la Información: A veces los datos o eventos recibidos no son comprendidos por una aplicación, por lo que se requieren mecanismos para que la misma pueda interpretarla. Estos mecanismos se muestran a continuación:
1. Transformación: Cuando se reciben eventos o datos que contienen información necesaria para desencadenar otros eventos o envío de información diferente.
Esto es posible a través de la definición de unas reglas de transformación:
a. A nivel de formatos de datos
- Formato plano: Datos que tienen una posición y tamaño fijo dentro del archivo.
- Formato plano, posición variable: Antes de cada dato se coloca la longitud del mismo.
- Formato plano, con delimitador: Se usa un caracter especial para indicar la separación entre uno y otro.
- Jerárquico: Hay datos que pueden considerarse compuestos, es decir, que son conformados por la unión de datos simples.
- Formato XML: Para la definición de elementos de datos estructurados usando etiquetas.
b. Transformación sintáctica: Cambia la representación de un evento para ser interpretado o procesado por la aplicación que hace uso de él.
c. Transformación semántica: Se modifica el significado de toda o parte de la información recibida de un evento base, para la creación de otros eventos que se van a introducir en un sistema de información. Durante la creación de estos eventos, puede resultar necesaria la realización de cálculos sobre los datos recibidos.
2. Enrutamiento: La idea es determinar quién va a recibir o procesar la información de un evento que es enviado por una aplicación. Para ello, se pueden utilizar mecanismos como el de publicación/suscripción. Normalmente, estas decisiones pueden ser administradas por un sistema de enrutamiento,
3. Almacenamiento: En algunos casos, los eventos se tienen que almacenar temporalmente, usando sistemas de archivos, bases de datos o manejadores de colas.
4. Realizar la definición de las reglas de transformación, enrutamiento y almacenamiento.
5. Supervisión de los intercambios de información: Puede ser posible mediante la generación de alertas, ya sea enlazadas a los errores disparados o deducidos de las reglas de verificación.
C. Automatizando los procesos de negocio: Si el intercambio de información es dependiente de alguna clasificación o de una serie de múltiples pasos se puede modelar en un motor de BPM. Para ello, se pueden definir los sguientes pasos:
1. Modelar los procesos de negocio: Implica la definición de actividades, relaciones, roles, el inicio y fin del proceso, las aplicaciones y datos intercambiados.Estas actividades pueden ser tanto manuales como automáticas.Se puede hacer uso de una notación como BPMN para realizar la descripción y el modelaje.
2. Ejecutar los procesos de negocio: Esta actividad se puede dividir en:
a. Orquestamiento de actividades. Consiste en la ejecución ordenada de las actividades, recuperando los resultado de cada paso, aplicando las reglas para cambiar o tomar una decisión, asegurarse que las actividades sucesivas sean enviadas con los datos o eventos requeridos, enviar información al módulo de monitoreo, y realizar la administración de cada paso. Este orquestamiento puede ser realizado por un motor de ejecución de procesos, la cual puede requerir que se de una descripción de cómo se va a realizar esta orquestación usando lenguajes como BPEL (Business Process Execution Language).
b. Ejecutando las reglas de negocio: Usando un motor de reglas de negocio, se establecen los lineamientos para lograr el avance de un proceso por un camino dado.
c. Supervisar los procesos de negocio: Es importante conocer el curso de las instancias de los procesos, para identificar puntos de falla y puntos de mejora de los procesos.
D. Mediación e integración: Los roles e interacciones dentro del proceso se deben definir estableciendo los niveles de procesos de negocio y de integración, definiendo los procesos de intercambio, y la interacción entre subniveles.
E. Escoger la arquitectura de intercambio: Se establece si la comunicación va a ser asíncrónica (a destiempo) o sincrónica (la interacción es bidireccional y acordada), y si los servicios e información a ofrecer va a distribuirse de manera centralizada (a través del uso de HUBs, que replican la información enviada por una aplicación a las demás aplicaciones conectadas), o de manera distribuida (usando buses de servicio, que establece un puente de comunicación punto a punto entre aplicaciones ofreciendo servicios de interpretación/traducción para mayor facilidad en la interpretación de la información.
No hay comentarios:
Publicar un comentario