Enfoque de integración de sistemas parte 4

151
TEMAS SOLUCIONES ACTUALES EAI TIPOS DE MIDDLEWARE EAI BPMF

Transcript of Enfoque de integración de sistemas parte 4

Page 1: Enfoque de integración de sistemas parte 4

TEMAS

SOLUCIONES ACTUALES EAI TIPOS DE MIDDLEWARE EAI BPMF

Page 2: Enfoque de integración de sistemas parte 4

Lenguajes de programación web

Soluciones actuales

Page 3: Enfoque de integración de sistemas parte 4

Lenguajes de programación web

Durante la evolución de los lenguajes de programación, se observa que han pasado de ser estáticos a lo que actualmente conocemos como lenguajes de programación para la web dinámicos. Sin confundir el término dinámico como la interacción del sistema con el usuario, sino como la interacción del usuario con datos a través del sistema.

Page 4: Enfoque de integración de sistemas parte 4

Lenguajes de programación web

El hecho de que los sistemas estén basados en lenguajes de programación web, se les hace atractivo a un sin números de usuarios, quienes no dependerán por completo de un sistema operativo en particular para usar las aplicaciones, y estas se emplean mediante el navegador web.

Page 5: Enfoque de integración de sistemas parte 4

Arquitectura común de aplicaciones web

Navegador Lenguaje Base de datos

Cliente Servidor

Page 6: Enfoque de integración de sistemas parte 4

ASP.NET

Con su desarrollo se resolvieron las limitaciones de su antecesor ASP.

Para desarrollar en ASP.NET se puede usar C#, VB.NET o J#. Para el funcionamiento de las páginas se requiere instalar IIS con el framework .NET.

Los archivos tienen la extensión “.aspx”.

Page 7: Enfoque de integración de sistemas parte 4

ASP.NET

VentajasOrientado a objetos.Separa el diseño del código.Fácil mantenimiento.Mayor seguridad.

DesventajasMayor consumo de recursos.

Page 8: Enfoque de integración de sistemas parte 4

Javascript

Se trata de un lenguaje de scripts basado en objetos que permite hacer aplicaciones incrustadas en un documento HTML, que pueden manejar eventos según acciones de parte del usuario. Se maneja del lado del cliente y por lo tanto no se pueden consultar datos del lado del servidor. Útil para la validación de datos antes de enviar al servidor.

Page 9: Enfoque de integración de sistemas parte 4

Javascript

Ventajas Lenguaje interpretado Se ejecuta del lado cliente Lenguaje seguro.

Desventajas Código visible. El código debe descargarse completamente.

Page 10: Enfoque de integración de sistemas parte 4

PHP

PHP es un lenguaje de script interpretado en el lado del servidor utilizado para la generación de páginas web dinámicas, embebidas en páginas HTML y ejecutadas en el servidor. PHP no necesita ser compilado para ejecutarse. Para su funcionamiento necesita tener instalado Apache o IIS con las librerías de PHP. La mayor parte de su sintaxis ha sido tomada de C, Java y Perl con algunas características específicas. Los archivos cuentan con la extensión “.php”.

Page 11: Enfoque de integración de sistemas parte 4

PHP

Page 12: Enfoque de integración de sistemas parte 4

PHP

Page 13: Enfoque de integración de sistemas parte 4

PHP

VentajasCapacidad de conexión con distintos manejadores de base de datos.No requiere definición de tipos de variables.Es libre.

DesventajasSe necesita instalar un servidor web.Todo el trabajo es realizado en el servidor. Se puede dificultar la lectura del código

Page 14: Enfoque de integración de sistemas parte 4

Python

Lenguaje considerado como el más limpio para programar y permite crear todo tipo de aplicaciones incluyendo sitios web.

Es un lenguaje interpretado y multiparadigma, los programadores pueden adoptar un estilo de programación: Estructurada, orientada a objetos, funcional u orientada a aspectos.

Page 15: Enfoque de integración de sistemas parte 4

Python

Page 16: Enfoque de integración de sistemas parte 4

Python

VentajasLicencia de código abierto (Opensource).Gran cantidad de funciones y librerías.Orientado a Objetos.Multiplataforma

DesventajasEs lento por tratarse de un lenguaje interpretado.

Page 17: Enfoque de integración de sistemas parte 4

Perl

Este lenguaje soporta tanto programación estructurada, como la orientada a objetos y la funcional. Es del tipo software libre.

Su estructura está basada en el lenguaje C y aunque su desarrollo fue pensado para la plataforma UNIX, actualmente está disponible en varios sistemas operativos

Page 18: Enfoque de integración de sistemas parte 4

Perl

VentajasFacilidad y comodidad en la escritura de scripts.Potente para el procesamiento de textos.Versátil.

DesventajasComplejo aprendizaje.Lenguaje interpretado.

Page 19: Enfoque de integración de sistemas parte 4

RubyLenguaje con una sintaxis inspirada en Python y Perl. Es un lenguaje Opensource, de alto nivel y orientado a objetos, que puede manejar excepciones y cargar librerías de extensiones dinámicamente si el sistema operativo lo permite.

Page 20: Enfoque de integración de sistemas parte 4

Ruby

VentajasDesarrollo de aplicaciones a bajo costo.PortátilMultiplataforma

DesventajasEl código puede volverse desordenado, si varios programadores no establecen alguna convención de sintaxis.

Page 21: Enfoque de integración de sistemas parte 4

Lenguajes de programación web

La decisión de qué lenguaje de programación usar a la hora del desarrollo aplicaciones web, siempre será tema de controversia. Las diferencias entre estos, generalmente se encuentran en la plataforma que requieran. Por ello podrá observarse que la elección del lenguaje, tenderá más hacia el gusto del usuario, que al resultado de evaluar el rendimiento de las herramientas.

Page 22: Enfoque de integración de sistemas parte 4

Integración de aplicaciones de empresas (EAI)

Integración de sus aplicaciones con proveedores y clientes para automatizar los procesos y realizar una gestión más eficiente. Consiga que sus aplicaciones reciban la información de forma sencilla directamente desde la fuente de esta ahorrando en tiempo y evitando demoras.

Page 23: Enfoque de integración de sistemas parte 4

Integración de aplicaciones de empresas (EAI)

Page 24: Enfoque de integración de sistemas parte 4

VENTAJASAcceso a información dispersa por toda la

organización

En una empresa dotada de una integración adecuada de sus aplicaciones se puede acceder a cualquiera de sus datos. Se reduce el tiempo de búsqueda, acceso y uso de la información global de la empresa. Aun más, la presentación de esta información o el resultado de la mezcla de varias fuentes se puede orientar a dar funciones de cuadro de mando. Acceder a informes procesados y preparados para que las tomas de decisiones sean lo más rápidas posibles.

Page 25: Enfoque de integración de sistemas parte 4

VENTAJASSincronización de la información replicada por

las distintas aplicaciones

Uno de los problemas más habituales en las

empresas con sistemas de información es que esta suele estar

muchas veces replicada. Conseguir que esta información esté

sincronizada y correcta es muchas veces presa del factor

humano.

Al establecer una integración correcta entre las distintas

aplicaciones se puede conseguir que la información se

propague de forma natural. De esta forma todos los sistemas

se encontrarán actualizados con la información correcta y de

su origen natural. Es lo que se conoce como SCM(Supply Chain

Management).

Page 26: Enfoque de integración de sistemas parte 4

VENTAJASCapacidad de administrar la información

Administrar la información global de la empresa es

una empresa imposible si las aplicaciones no están

integradas de forma coherente y sobre dicha

integración se añaden elementos que permitan

modificarla, consultarla o eliminarla de forma

transparente. Se trata de actuar sobre la información

con independencia de que sistema la contiene como

se debe realizar esta alteración.

Page 27: Enfoque de integración de sistemas parte 4

VENTAJAEstablecimiento de una infraestructura global a

toda la empresa

En una empresa integrada completamente se crea una plataforma de fácil acceso que articula de forma global los procesos, aplicaciones y datos de la empresa. De forma directa condiciona el rendimiento de los procesos ya existentes porque elimina muchos otros que existían solo para alimentarlos. Además es muy normal que, al eliminar ineficiencias en los procesos existentes como causa de definir una infraestructura global, se detecten otros de carácter no de las TI, al tener que adaptarse la nueva operativa.

Page 28: Enfoque de integración de sistemas parte 4

VENTAJAProtección del valor de las inversiones

tecnológicas anteriores Es habitual que las aplicaciones existentes en la empresa sean fruto de grandes

inversiones, o sistemas heredados que son vitales para el funcionamiento de la empresa y que ofrecen una ventaja competitiva. Estos sistemas con el tiempo pueden estar perdiendo posibles oportunidades de mejora que ofrecerían ventajas competitivas vitales.

Las empresas no pueden prescindir de estos sistemas, recodificarlos supondría una inversión enorme que tampoco aseguraría que en el futuro no deban volver a ser modificados Además esas remodificaciones son fuentes de errores y existe miedo de que puedan acabar con la operatividad de estas aplicaciones.

Logramos este objetivo al añadir una integración de estos sistemas orientándolo a la creación de una plataforma que facilite nuevas inclusiones de aplicaciones y nuevos desarrollos que mantengan la operatividad existente y permita acceder a las nuevas oportunidades.

Otro problema similar surge de las bases de datos heredadas y cuya información es vital para la empresa. Existe la opción de migrarla a un entorno más adecuado, pero generalmente a su alrededor se han construido aplicaciones, y al desaparecer haría perder la ventaja que ofrecen a la empresa. Al integrar los datos con la plataforma se obtiene acceso flexible a información heredada sin necesidad de estar migrando o replicando información.

Integración de procesos y no solo de la información   

Page 29: Enfoque de integración de sistemas parte 4

VENTAJAMayor rapidez y efectividad de costos en la

adaptación a nuevos requerimientos

La flexibilidad de las empresas, su capacidad de adaptación a los cambios, de aprovechar las oportunidades de mejora y convertirlos en ventajas competitivas, es uno de los factores determinantes en su supervivencia.

En muchos casos no se pueden aprovechar estas ventajas porque los costes que supondría son excesivos porque no se dispone de la capacidad de incluir estas nuevas aplicaciones y procesos a los existentes, sin modificar lo que ya se tiene o mediante el desarrollo de procesos de adaptación.

La existencia de una infraestructura de integración adecuadamente definida asegura no solo el aprovechamiento de los sistemas existentes, sino que permite allanar el camino de aquellos elementos que seguro se tendrán que integrar. Que el tiempo de adaptación a la oportunidad sea lo más reducido posible facilita el disponer de la ventaja competitiva antes que el resto de empresas, y si además esta adaptación es de un coste bajo se consigue un retorno de la inversión más rápido.

Page 30: Enfoque de integración de sistemas parte 4

Patrones de IntegraciónLos patrones de integración (o EAI) definen diseños comunes (patrones) en el desarrollo de funcionalidades relacionadas con la integración de aplicaciones. Especifican una manera estándar de realizar ciertas tareas y ayudan a conocer con un lenguaje común determinadas cosas que desarrollamos habitualmente.Los sistemas de EAI principalmente implementan dos patrones:

Mediación: Donde los sistemas de EAI actúan como el canal que vincula varias aplicaciones o sistemas utilizando técnicas de encaminamiento. Cuando en una aplicación (interlocutor origen) ocurre un evento que puede ser interesante a alguna otra aplicación (interlocutor destino) esta debe notifica a un módulo de integración (servicio) del sistema EAI. Entonces el sistema de EAI propaga esos cambios a las otras aplicaciones relevantes. Federación: En este caso, el sistema EAI actúa como un consolidador de información entre varias aplicaciones. Todos los accesos al o del exterior de la organización a cualquiera de las aplicaciones son gestionados por el sistema EAI, y éste está configurado para exponer sólo la información relevante conectándose a las aplicaciones del mundo exterior, y efectuar todas las interacciones con las aplicaciones internas sin intervención del agente externo.

Page 31: Enfoque de integración de sistemas parte 4

Tipos de EAI

• Nivel de Datos

• Nivel de Interfaz de Aplicaciones

• Nivel de Métodos

• Nivel de Interfaz de Usuario

Page 32: Enfoque de integración de sistemas parte 4
Page 33: Enfoque de integración de sistemas parte 4

EIA A NIVEL DE DATOSExtraer información de una base de datos , si es necesario procesar la información y la actualización de la misma en otra base de datos

Page 34: Enfoque de integración de sistemas parte 4

Tecnologías de EAI a Nivelde Datos

• Middleware orientada a Base de Datos ODBC JDBC

• Middleware orientada a Mensajes

• Herramientas y tecnologías de Almacenes de Datos

• Replicación de Base de Datos

Page 35: Enfoque de integración de sistemas parte 4

EAI a Nivel de Interfaz deAplicación

• Interfaces para acceder a los procesos de negocio y la información cencilla

• Los 3 grandes: SAP®, PeopleSoft®, Oracle®• Interfaces para aplicaciones empaquetadas• Capas de Integración• Data• Objetos• Servicios de Negocios

Page 36: Enfoque de integración de sistemas parte 4
Page 37: Enfoque de integración de sistemas parte 4

Ventajas de la EAI a Nivel deInterfaz de Aplicación

Proveen mecanismo para compartir tanto métodos como datos

Mueven la información fuera de los sistemas que eran difíciles de acceder

Proveen la infraestructura para compartir procesos de negocios comunes

Soportan problemas de negocios comunes, tales como uniones y adquisiciones

Page 38: Enfoque de integración de sistemas parte 4

Desventajas de la EAI a Nivelde Interfaz de Aplicación

• Las interfaces que proveen los vendedores de aplicaciones empaquetadas varían desde buenas hasta inexistentes

• Todos claman integración con las aplicaciones empaquetadas pero la verdad es que la integración no es posible sin un gran esfuerzo de adaptación

• Los 3 grandes son lentos para abrir las puertas

Page 39: Enfoque de integración de sistemas parte 4

Tecnologías de la EAI a Nivelde Interfaz de Aplicación

Message brokers Middleware orientadas a Base de Datos Servidores de Aplicaciones Objetos distribuidos Utilitarios propietarios de las aplicaciones

Empaquetadas Las propias aplicaciones empaquetadas

Page 40: Enfoque de integración de sistemas parte 4

EAI a Nivel de Métodos• Es el intercambio de la lógica de negocio que pueden existir dentro de

la empresa. Las aplicaciones pueden acceder a métodos en cualquier otra aplicación. Los mecanismos para compartir métodos entre las aplicaciones son muchas, incluyendo objetos distribuidos, servidores de aplicaciones y monitores de TP. un ORB puede tomar la llamada de una aplicación a métodos almacenados en otras aplicaciones. Un servidor de aplicaciones puede ser un servidor físico compartido para un conjunto compartido de servidores de aplicaciones. La mayor parte de la integración se han sucediendo a este nivel, ya que hay una serie de tecnologías robustas para llevar a cabo este tipo.

• Integración de procesos para crear aplicaciones compuestas• Compartir lógica del negocio• Compartir código• Compartir procesamiento• Compartir programas• Compartir transacciones• Compartir objetos

Page 41: Enfoque de integración de sistemas parte 4

Ventajas de la EAI a Nivel deMétodos

Proveen una verdadera infraestructura para la reutilización de código para muchas aplicaciones empresariales

Disponibilidad de tecnologías y experticia Es la solución mas adecuada para muchas

Empresas

Page 42: Enfoque de integración de sistemas parte 4

Desventajas de la EAI aNivel de Métodos

Mucho mas compleja y costosa que los otros enfoques Necesita de mucho tiempo, arquitectura y Planificación Las tecnologías existentes pueden no escalar a aplicaciones empresariales o tener otras deficiencias

Page 43: Enfoque de integración de sistemas parte 4

Tecnologías de la EAI aNivel de Métodos

Servidores de Aplicaciones Monitores de Transacciones Objetos distribuidos Herramientas de desarrollo tradicionales

Page 44: Enfoque de integración de sistemas parte 4

EAI a Nivel de Interfaz deUsuario

Ultimo recurso de la EAI Adaptación de pantallas Enfoques Pantallas como objetos Pantallas como Datos

Page 45: Enfoque de integración de sistemas parte 4

Ventajas de la EAI a Nivel deInterfaz de Usuario

No requiere cambios en los sistemas fuentes o destinos

No requieren de la creación de nuevas interfaces o cualquier interfaz

Bajo riesgo, bajo costo La tecnología esta disponible y es estable

Page 46: Enfoque de integración de sistemas parte 4

Desventajas de la EAI aNivel de Interfaz de Usuario

Rendimiento Percepciones En mucha instancias solo prolonga el

problema de EAI

Page 47: Enfoque de integración de sistemas parte 4

Tecnologías de la EAI aNivel de Interfaz de Usuario

Emuladores 3270 Librerías para aplicaciones basadas en

Terminales Traductores de pantallas a objetos Adaptadores para Message broker y

Servidores de Aplicaciones

Page 48: Enfoque de integración de sistemas parte 4

TOPOLOGIA EAI

Hay dos topologías principales: hub-and-spoke, y bus• En el modelo hub-and-spoke, el sistema EAI actúa

como el centro (el concentrador), el cual interactúa con las aplicaciones, vía las conversaciones (o spokes).

• En el modelo de bus, el sistema EAI es el bus (o es implementado como un módulo residente en un bus de mensajes existente o un middleware orientado a mensajes).

Page 49: Enfoque de integración de sistemas parte 4

EJEMPLO HUB AND SPOKE

Page 50: Enfoque de integración de sistemas parte 4

TOPOLOGIA BUS

Page 51: Enfoque de integración de sistemas parte 4

TIPOS DE MIDDLEWARE EAI

Page 52: Enfoque de integración de sistemas parte 4

MIDDLEWARE

Es un Software que conecta y comunica los componentes de

una aplicación distribuida

conecta clientes y servidores

Page 53: Enfoque de integración de sistemas parte 4

TIPOS DE MIDDLEWARE EAI Asynchronous Event/Message Transport.

Se refiere al middleware orientado a mensajes (MOM). Esto productos posibilitan el enrutamiento asincrónico de eventos del negocio entre aplicaciones.

Ellos pueden posponer entregas de información sobre eventos del negocio hasta que las aplicaciones estén disponibles. Esta capacidad facilita una interrelación poco acoplada entre las aplicaciones. Este es un principio de diseño fundamental en las aplicaciones EAI.

Page 54: Enfoque de integración de sistemas parte 4

Un MOM (Message Oriented Middleware) utiliza los mensajes como método de integración y provee mecanismos para crear, manipular, almacenar y transmitir esos mensajes. Estos sistemas permiten que las aplicaciones intercambien información en forma de mensajes compuestos por cabeceras y datos.

Page 55: Enfoque de integración de sistemas parte 4

Punto a punto: Los mensajes van dirigidos a un único receptor. El mensaje queda almacenado en una cola hasta el que el receptor quiera o pueda recogerlo.

Ejemplo: Una persona solicita unos determinados datos y la aplicación de gestión se encarga de obtenerlos y de enviarlos exclusivamente a la persona que los solicitó.

PUNTO A PUNTO

Page 56: Enfoque de integración de sistemas parte 4

PUBLICACIÓN/SUSCRIPCIÓN

Publicación/suscripción: En estos sistemas hay dos actores: los emisores de información y los suscriptores o consumidores de dicha información. Los consumidores pueden suscribirse a un determinado tipo de mensajes que tengan relación con un tema concreto o con información que cumpla un patrón determinado. Los emisores envían mensajes al MOM, y éste se encarga de hacérselo llegar a los suscriptores correspondientes. Este modelo podría utilizarse en un sistema de monitorización de una red: una aplicación (emisor) recoge datos de tráfico, ocupación de puertos, etc. y envía esos datos al administrador o administradores de la red (suscriptor) de forma automática.

Page 57: Enfoque de integración de sistemas parte 4

Características de los MOM

• Comunicación asíncrona entre aplicaciones para compartir información.

• No obstante, también hay soluciones que trabajan con conexiones síncronas o pseudo-síncronas.

Page 58: Enfoque de integración de sistemas parte 4

Características de los MOM

• Los mensajes son almacenados en colas hasta que el receptor está listo para recoger el mensaje.

• Garantía de que los mensajes llegarán siempre a su destino.

• Rapidez en la entrega de los mensajes.• Las aplicaciones están aisladas de la complejidad

de las redes y del hardware gracias al MOM. Por ello, no sufrirán ninguna modificación aunque cambie parte de la red o del hardware utilizado.

Page 59: Enfoque de integración de sistemas parte 4

Características de los MOM La comunicación entre aplicaciones es no

bloqueante, es decir, que las aplicaciones que realizan una petición no detienen su ejecución mientras esperan el mensaje de respuesta.

Las colas utilizadas pueden ser permanentes o dinámicas. Las primeras almacenan la información en disco, mientras que las segundas guardan los datos de forma temporal en la memoria volátil.

Las colas de mensajes pueden ser leídas como en una pila FIFO o teniendo en cuenta propioridades.

Page 60: Enfoque de integración de sistemas parte 4

Características de los MOM

Las aplicaciones que se comunican entre sí, no están conectadas directamente y eso facilita la programación y permite crear nuevas funcionalidades.

El emisor no necesita conocer la ubicación física del receptor y viceversa.

Muchas soluciones comerciales MOM proporcionan también encriptación de datos extremo a extremo para incrementar la seguridad.

Page 61: Enfoque de integración de sistemas parte 4

Características de los MOM Estas características hacen de este tipo de middleware

una herramienta muy interesante para mejorar la fiabilidad en el intercambio de mensajes de los Web Services, por ejemplo, ya que la comunicación SOAP sobre HTTP, que es una de las más extendidas, no es fiable.

Una de las desventajas más importantes de los MOM es que no son soluciones interesantes para aplicaciones que trabajen en tiempo real o que estén orientadas a comunicaciones síncronas.

Otro punto negativo es que no existe un estandard de protocolos lo que dificulta la interoperabilidad entre MOMs de diferentes empresas.

Page 62: Enfoque de integración de sistemas parte 4

Ejemplo: MQSeries Qué es el adaptador de MQSeries?

El adaptador de MQSeries permite enviar y recibir mensajes a sistemas de MQSeries mediante Microsoft BizTalk Server.

Permite hacer lo siguiente: Enviar mensajes a colas de definición remota,

colas locales, colas de transmisión y colas de alias de MQSeries desde BizTalk Server. 

Recibir mensajes procedentes de colas de transmisión, colas locales y colas de alias de MQSeries. 

Page 63: Enfoque de integración de sistemas parte 4

TIPOS DE MIDDLEWARE EAI

Transformation Engines. Estas aplicaciones convierten datos y eventos del negocio de un formato a otro.

Por ejemplo, una Transformation Engine, puede convertir los datos de un consumidor en ERP al formato usado en una aplicación “hecha en casa”. Estas herramientas están orientadas a batch y operan a nivel de bases de datos o de archivos.

Page 64: Enfoque de integración de sistemas parte 4

Ejemploaplicación

BDD

MIDDLEWAREFormato de datosNombre Char 20

Costo IntCódigo Char 13

Formato de aplicaciónNombre Char 30

Valor floatCódigo_cliente Char 10

Formato de datosNombre Char 20

Costo IntCódigo Char 13

COMUNICACIÓN

comunicarse

comunicarse

comunica

Page 65: Enfoque de integración de sistemas parte 4

TIPOS DE MIDDLEWARE EAI

Integration Brokers. Tambien conocidos como message brokers. Estas herramientas proveen la facilidad de enrutar y manipular eventos del negocio inteligentemente entre múltiples aplicaciones y bases de datos. Por ejemplo un messsage broker puede recibir órdenes de compras de una aplicación basada en Web y enrutarla a las aplicaciones objetivos en base a la información contenida en las ordenes. El evento fuente puede ser transformado en el formato esperado por la aplicación destino. Por lo tanto, los integration brokers incluyen servicios de transformación de datos.

Page 66: Enfoque de integración de sistemas parte 4

TIPOS DE MIDDLEWARE EAI Business Process Management Framework.

Estas herramientas permiten que la lógica del negocio sea separada de los flujos lógicos del proceso. Pueden ser de dos categorías: Process automation y Workflow.

Process automation proven un framework que permite a componentes de software múltiples y dispares participar en un flujo del proceso integrado del negocio.

Page 67: Enfoque de integración de sistemas parte 4

TIPOS DE MIDDLEWARE EAI

Los Workflow soportan un paradigma similar, pero se enfocan en pasos ejecutados por interacción humana con el sistema.

Como los eventos del negocio se mueven a través del flujo del proceso del negocio se requieren servicios de transformación y enrutamiento. Por lo tanto, por definición, los frameworks process automation/workflow también incluyen sus servicios de integration broker o la habilidad de disponer de estos servicios con un integration broker externo.

Page 68: Enfoque de integración de sistemas parte 4

Motores de Transformación

Page 69: Enfoque de integración de sistemas parte 4

Monitores de Transacciones Distribuidas — Provee herramientas y un ambiente de desarrollo y despliegue de aplicaciones distribuidas.

Una transacción es un conjunto de acciones en las que se garantizan las propiedades ACID: Atomicidad, Consistencia, islamiento y Durabilidad.

AAtomicidad

Todas las transacciones

o ninguna

CConsistencia

Solo valido lo guardado en

BDD

IIslamiento

Transacciones que no afecten

a otras

DDurabilidad

Escribiendo en la BDD para no perderla.

Page 70: Enfoque de integración de sistemas parte 4

Los Monitores de Procesamiento de Transacciones se especializan en administrar transacciones, y proveen un entorno robusto para aplicaciones de gran escala del tipo OLTP (On Line Transaction Processing).

Sus principales servicios son:

− Administración de procesos: Inicia procesos en el servidor, concentra las solicitudes de trabajo y balancea la carga de los servidores.

− Administración de transacciones: Garantiza las propiedades ACID de las transacciones.

OLTP: fuente de datos interna/externa

Page 71: Enfoque de integración de sistemas parte 4

1000 clientes

1000 conexiones1000 procesos500 Mb de RAM10000 archivos abiertos

SO de bajo desempeño

1000 clientes MONITOR TP

50 conexiones50 procesos25 Mb de RAM500 archivos abiertos

SO de buen desempeño

b). Con monitor TP

Ejemplo:

a). Sin monitor TP

Page 72: Enfoque de integración de sistemas parte 4

Aquí se ilustra un ejemplo de un sistema Cliente-Servidor de tres capas donde el Monitor de Procesamiento de Transacciones se encarga de controlar los accesos entre los clientes, las aplicaciones y los datos. Por ejemplo, es posible hacer que varios clientes compartan una sola conexión con un servidor de base de datos concentrando así las solicitudes en una sola conexión.

BDD

BDDRPC

MOM

Aplicaciones

transformador

Page 73: Enfoque de integración de sistemas parte 4

¿Para qué usar las transformaciones?• Heterogeneidades(igualdad) entre aplicaciones• Transformar formato de datos XML <> CSV, EDI SOAP, etc• Transformación entre documentos XML con distinto esquema• En general, los ESB soportan transformaciones a través de XSLT• También incluyen herramientas para transformar mensajes no XML (ej.

Smooks)• Se podría extender el ESB implementando transformaciones más

específicas

XSLT

XML

DOCUMENTO XML/HTML

XSLT PROCESADO

R

Page 74: Enfoque de integración de sistemas parte 4

Transformación del XML En este paso, usted crea una transformación

VVM para convertir la estructura jerárquica del documento XML en una estructura relacional basada en filas. VVM Studio suministra una GUI de uso sencillo para crear una correlación entre los nodos XML de entrada y las columnas relacionales de salida.

Page 75: Enfoque de integración de sistemas parte 4

Correlación de elementos XML con columnas relacionales en VVM Studio

Page 76: Enfoque de integración de sistemas parte 4

Para la creación de las transformaciones, VVM suministra las siguientes opciones:

XML básico a correlación tabular.- Esta correlación nivela los documentos XML como una colección de filas, donde cada fila representa un nodo en el documento XML. Este tipo de transformación se utilizaría raramente para entornos de producción.

Page 77: Enfoque de integración de sistemas parte 4

Transformaciones de XSLT.-Esta correlación transforma los datos XML en tabulares basada en una transformación XSLT subyacente.

Page 78: Enfoque de integración de sistemas parte 4

Transformación de flujo continuo.-Esta correlación transforma los datos XML de flujo continuo en tabulares. Esta transformación no requiere que todo el documento XML sea tenido en cuenta en la memoria. Esto es adecuado en situaciones en las cuales el archivo XML es demasiado largo.

Page 79: Enfoque de integración de sistemas parte 4

Transformaciones de Xquery.- Esta correlación transforma los datos tabulares en XML. Este tipo de transformación no es apropiada para la consulta de fuentes de datos XML.La transformación de XSLT y la tranformación de flujo continuo son las que se utilizan con mayor frecuencia. La transformación de XSLT permite transformaciones complejas para editar directamente el XSLT subyacente. Los datos de salida del XSLT, sin embargo, debe seguir la estructura presentada en el Listado 2.

Esta imagen muestra la vista previa de los resultados de una asignación de Excel 

Page 80: Enfoque de integración de sistemas parte 4

Publicación de la transformación

La publicación es un proceso en el cual VVM hace que un recurso particular esté disponible para sus clientes para la realización de consultas, como por ejemplo IBM Cognos 8. Para los clientes ODBC, los recursos son publicados como estructuras relacionales, como tablas y procedimientos almacenados.

En este paso, usted publica la transformación que creó en el paso anterior. Puede publicar la transformación como un procedimiento almacenado o como una tabla. Para publicar la transformación como una tabla, usted debe primero incorporar la transformación a una vista SQL y luego publicar la vista como una tabla.

Page 81: Enfoque de integración de sistemas parte 4

Publicación en VVM

Page 82: Enfoque de integración de sistemas parte 4

Se recomienda la exposición de la transformación como una tabla incorporándole una vista SQL.

Después de la publicación, el recurso está disponible como tabla o como procedimiento almacenado en una base de datos debajo del nodo de Virtual View Manager Data Services.

El recurso está disponible para que el mundo exterior realice consultas utilizando SQL sobre ODBC.

Page 83: Enfoque de integración de sistemas parte 4
Page 84: Enfoque de integración de sistemas parte 4

Es un motor de transformaciones que permite de forma sencilla todo tipo de datos:

Page 85: Enfoque de integración de sistemas parte 4

Permite estas transformaciones:

• Enriquecimiento de Mensajes: con datos de otros datasources• Validación de Mensajes: en base a Reglas• Java Binding: de un DataSource cualquiera (CSV, EDI, XML, Java etc) a Java:

Page 86: Enfoque de integración de sistemas parte 4

• Transformaciones: XML to XML, CSV to XML, EDI to XML, XML to EDI, XML to CSV, Java to XML, Java to EDI, Java to CSV, Java to Java, XML to Java, EDI to Java etc….

Page 87: Enfoque de integración de sistemas parte 4
Page 88: Enfoque de integración de sistemas parte 4

La plataforma Open Source Pentaho Business Intelligence cubre muy amplias necesidades de Análisis de los Datos y de los Informes empresariales. Las soluciones de Pentaho están escritas en Java y tienen un ambiente de implementación también basado en Java. Eso hace que Pentaho es una solución muy flexible para cubrir una amplia gama de necesidades empresariales – tanto las típicas como las sofisticadas y especificas al negocio.

Page 89: Enfoque de integración de sistemas parte 4

Modulos: Reporting Análisis Dashboards Data Mining Integración de Datos

Page 90: Enfoque de integración de sistemas parte 4

BASE DE DATOS

Libre / comercial

Page 91: Enfoque de integración de sistemas parte 4

• Reportes• Analisis• Workflow• Carga del DWH• Datamining• Calidad de Datos• Auditoria de uso y

rendimiento• Acceso a todo tipo de

fuentes• Ejecución remota• Planificador • Notificador• Seguridad y perfiles

Page 92: Enfoque de integración de sistemas parte 4

Spoon es el diseñador gráfico de transformaciones y trabajos del sistema de ETTLs de Pentaho Data Integration (PDI)

Está diseñado para ayudar en los procesos ETTLs, que incluyen la Extracción, Transformación, Transporte y Carga de datos. 

 

 Spoon es una Interfaz Gráfica de Usuario (GUI), que permite diseñar transformaciones y trabajos que se pueden ejecutar con las herramientas de Kettle (Pan y Kitchen). 

 

Pan es un motor de transformación de datos que realiza muchas funciones tales como lectura, manipulación, y escritura de datos hacia y desde varias fuentes de datos. Kitchen es un programa que ejecuta los Trabajos diseñados por Spoon en XML o en un catálogo de base de datos. 

Page 93: Enfoque de integración de sistemas parte 4

Los Trabajos normalmente se planifican en modo batch (por lotes) para ejecutarlos automáticamente en intervalos regulares. Las Transformaciones y Trabajos se pueden describir usando un archivo XML o se pueden colocar en un catálogo de base de datos de Kettle.

 

Luego Pan o Kitchen pueden leer los datos para ejecutar los pasos que se describen en la Transformación o ejecutar el Trabajo. En resumen, PDI facilita la construcción, actualización, y mantenimiento de Data Warehouses.

Ya sabemos lo que es, pero cómo podemos aprovechar todo su potencia y cuándo nos será útil. Esta herramienta cómo muchas super útiles y super completas, requiere de un conocimiento previo de la opciones y posibilidades, que en este caso entre la documentación oficial y un poco de dedicación se puede llegar a tener un manejo de la herramienta en poco tiempo.

 

Según lo visto hasta ahora y con los primero pasos que demos con la herramienta empezaremos por identificar  la división que hace entre, Job (trabajo) y Transformation (transformación). Un Job es un proceso que implica transformaciones o procesos sobre fuentes de datos, sin entrar en el manejo de los datos. ej: Copiar el fichero A a la carpeta X sería un Job.

Page 94: Enfoque de integración de sistemas parte 4

En cambio una transformation será todos aquellos pasos que queramos realizar para cualquier tipo de tratamiento o modificación a los datos. ej: De dos columnas, Nombres y Apellidos, generar una tercera que sea la unión de las anteriores

 

En principio estas acciones parecen muy simples, y es que lo son; ahí radica el potencial de esta aplicación permite de forma muy fácil añadir funciones simples a nuestro proyecto (job o transformation) que podremos modificar y configurar según nuestras necesidades de una forma muy simple, desde el interfaz gráfico. La complejidad reside en unir muchas pequeñas acciones con el objeto de generar el proceso que nos sea necesario sin tener que programarlo.

 

Un ejemplo práctico para su uso, podría ser el siguiente trabajo que entre otras cosa ejecuta el siguiente procedimiento:

Page 95: Enfoque de integración de sistemas parte 4

El objetivo: Actualizar los datos de un portal web mediante ficheros CSV que procesados, se puedan extraer los datos que serán cargados en la base de datos del portal.

Page 96: Enfoque de integración de sistemas parte 4

Funcionamiento: Desde un servidor, se realiza mediante SCP una importación de un fichero ZIP, que se descomprime conteniendo ficheros CSV, tanto el fichero ZIP como los CSV, son procesados y archivados. El procedimiento continua verificando los ficheros CSV y lanzando una transformación para cada tipo de fichero CSV, que se reconoce de forman única mediante expresiones regulares, la transformación varía según el fichero. Una vez procesado se mueve a un directorio dónde es archivado añadiendole una marca temporal que indica su procesamiento. El sistema continua, envía por cada tipo de transformación un email confirmando la transformación y en caso de error adjunta el log correspondiente. Por último se ejecutan una serie de script de shell para hacer copias de base de datos, restauración y envío mediante SCP de la última copia de base de datos realizada.

Ejemplos reales:

http://www.stratebi.com/demos

Page 97: Enfoque de integración de sistemas parte 4

Se verá el framework Xpand y Xtend (usualmente usados conjuntamente y junto a Xtext)

Xtext permite transformar texto que conforma con una gramática (especificada en una sintaxis similar a Antlr) ) Modelo

Xpand+Xtend permiten generar texto (código) desde modelos y metamodelos

Xpand

Page 98: Enfoque de integración de sistemas parte 4

Xpand y Xtend son herramientas para convertir modelos y metamodelos a texto Veremos dos ejemplos:

- Cómo generar código a partir de una instancia del metamodelo Tree

- En particular, generaremos una representación gráfica del árbol usando Graphviz1

- Cómo generar código para un metamodelo

- Documentación de clases en HTML

Page 99: Enfoque de integración de sistemas parte 4

Permite una representación gráfica sencilla y rápida Nos permitirá ver nuestros árboles:

digraph G

{

Root -> A;

Root -> B;

5 A -> X;

B -> Y;

}

¿Podemos generar ese código a partir de cualquier modelo Tree?

Root

A

X

B

Y

Page 100: Enfoque de integración de sistemas parte 4

Xpand es un sistema de plantillas para la generación de código

Las plantillas pueden contener variables, bucles, etc.

Es similar a ASP o JSP

Page 101: Enfoque de integración de sistemas parte 4
Page 102: Enfoque de integración de sistemas parte 4

Lenguaje funcional Luego que Jboss presente su lenguaje Ceylon para la plataforma Java;

ahora la organización eclipse pone una nueva ficha en el tablero. Xtend es el lenguaje de eclipse. El cual corre sobre la plataforma java.

Xtend nació con el objetivo de simplificar el lenguaje y escribir menos lineas de código. Entre sus características podemos nombrar:

– Tipado estático– Facilita el desarrollo– Closures– Compila a código Java no a bycode– Sintaxis similar a Java– Se desarrollo con Xtext y se basa en Xbase

Page 103: Enfoque de integración de sistemas parte 4
Page 104: Enfoque de integración de sistemas parte 4

El objetivo de Xtend no es remplazar a Java, algo bastante complicado, sino ser una alternativa en algunas situaciones en las que Java no es lo suficientemente útil.

Para poder empezar a usar Xtend es necesario disponer antes de Eclipse IDE. Podemos descargar de uno de los Update Site el SDK de Xtend. En él se incluye un tutorial con algunas clases de ejemplo para ver las sintaxis de todas características del lenguaje y cambios respecto a java.

Page 105: Enfoque de integración de sistemas parte 4
Page 106: Enfoque de integración de sistemas parte 4

Lenguajes de programación utilizados en Eclipse 3.2.1

Lenguaje Líneas de código  %

Java 1.911.693 92,66%

ANSI C 133.263 6,46%

C++ 10.082 0,49%

JSP 3.613 0,18%

sh 2.066 0,10%

perl 1.468 0,07%

php 896 0,04%

sed 2 0,00%

Page 107: Enfoque de integración de sistemas parte 4

Ejemplo:

Page 108: Enfoque de integración de sistemas parte 4

Fundación Priva.- Desarrollo de un sistema de analítica de casos de tortura con pentaho

Empresas en Ecuador

Page 109: Enfoque de integración de sistemas parte 4

Integration Bróker

Integration Bróker conocido también como Message Bróker, es un programa intermediario que traduce los mensajes de un sistema desde un lenguaje a otro, a través de un medio de telecomunicaciones.

Page 110: Enfoque de integración de sistemas parte 4
Page 111: Enfoque de integración de sistemas parte 4

Un bróker de mensajería es un patrón arquitectónico para la validación, la transformación y el ruteo de mensajes

El propósito del bróker es recibir los mensajes entrantes desde las aplicaciones y llevar a cabo determinadas acciones con ellas

Un mensaje bróker, puede recibir órdenes de compras de una aplicación basada en Web y enrutarla a las aplicaciones objetivos en base a la información contenida en las órdenes. El evento fuente puede ser transformado en el formato esperado por la aplicación destino. Por lo tanto, los integration bróker incluyen servicios de transformación de datos

Page 112: Enfoque de integración de sistemas parte 4

Ejemplos de acciones del bróker

Rutear mensajes a una o más destinaciones distintas Transformar mensajes a una representación alternativa Realizar una agregación de mensajes, descomponer mensajes en

varios mensajes componentes, reenviándolos a sus respectivos destinos, para posteriormente recomponer las respuestas en un único mensaje que será remitido al usuario

Interactuar con un depósito externo para aumentar un mensaje o almacenarlo

Invocar un servicio Web para consultar datos Responder a eventos o errores Proveer un ruteo de los mensajes basado en su contenido o en

sus tópicos empleando el modelo de publica/suscribe

Page 113: Enfoque de integración de sistemas parte 4

Ejemplo:

Existe una empresa multinacional, donde el equipo de IT es tan grande que está dividido incluso en los lenguajes que estos utilizan para el desarrollo de software.

El grupo 1 utiliza .Net El grupo 2 utiliza Java El grupo 3 utiliza AS400 (RPG) Con el paso del tiempo cada grupo ha desarrollado una cantidad inimaginable de

servicios y sistemas en cada herramienta, pero llega el día en el que un nuevo gerente de ventas desee que en un determinado sistema que está programado en java se utilicen servicios o se realicen procesos que ya están funcionando correctamente en el grupo 1 y grupo 3, los cuales utilizan .Net y AS400 (RPG) respectivamente.

A este punto seria costoso desarrollar un proceso que ya esta funcional en RPG o en .Net , por lo que la forma más sencilla seria realizar una integración entre los tres grupos por medio de Enterprise Services Bus (ESB), en este caso utilizaremos Bróker.

Page 114: Enfoque de integración de sistemas parte 4

Enterprise Services Bus (ESB)

Bus de servicios de empresa, es un software destinado a la integración de aplicaciones. Es un combinado de arquitectura de software, que proporciona servicios fundamentales para arquitecturas complejas, a través de un sistema de mensajes (el bus) basado en las normas y que responde a eventos

Objetivo: Facilitar el ofrecimiento y la demanda de servicios, gracias a la

creación y la gestión de distintos flujos de datos, de manera totalmente transparente para los desarrolladores de aplicaciones

En la configuración se detalla la lógica de la arquitectura, que se activan automáticamente, o son activados por las propias aplicaciones

Page 115: Enfoque de integración de sistemas parte 4

ESBCaracterísticas:

Es una plataforma de integración basada en estándares de comunicación abiertos

Combina los paradigmas SOA y EDA

Está basado en la naturaleza síncrona de los servicios y asíncrona de los eventos

Contiene herramientas para configurar el flujo de los mensajes

Permite incorporar módulos personalizados

Page 116: Enfoque de integración de sistemas parte 4

Enterprise Services Bus (ESB)

Algunos de los ESB que pueden encontrarse en el mercado son Oracle ESB o IBM WebSphere, como ejemplos comerciales, Mule, Apache ServiceMix o WSO2, en la categoría de open source.

La tecnología ESB es perfecta para la integración de los servicios de seguridad y confianza que ofrece TrustedX.

Page 117: Enfoque de integración de sistemas parte 4

Lista de software de bróker de mensajería DIPS Message Bróker Apache ActiveMQ OpenAMQ Comverse Message Bróker (Comverse Technology) Antares Enovacom eSCL Message Bróker (Interface & Control Systems) FUSE Message Bróker (enterprise ActiveMQ) Financial Fusion Message Bróker (Sybase) JBoss Messaging (JBoss) Microsoft BizTalk Server (Microsoft) Oracle Message Bróker (Oracle Corporation) Proteus, una implementación open source por Info-Scape WebSphere Message Bróker (IBM) webMethods Message Bróker (webMethods Message Bróker) Cloverleaf (E-Novation Lifeline) SAP PI (SAP AG) Sapo Bróker (Portugal Telecom) Python Message Service e-Biz Impact (Sybase, Inc) Spread Toolkit Niklas message broker by Copernicus RabbitMQ (Mozilla Public License, written in Erlang) Axway Integration Bróker JORAM

Page 118: Enfoque de integración de sistemas parte 4

WebSphere Message Bróker MQ

Page 119: Enfoque de integración de sistemas parte 4

WebSphere Message Bróker MQ

Tecnología de IBM, conocido en el entorno laboral como MQ Bróker (cuando integra MQ Message Queue (Cola de Mensajes)) o únicamente Bróker, la función de este es incrementar la agilidad del negocio y optimizar los costos haciendo la integración de aplicaciones fácil.

Page 120: Enfoque de integración de sistemas parte 4
Page 121: Enfoque de integración de sistemas parte 4

Consola WebSphere Message Bróker MQ

Page 122: Enfoque de integración de sistemas parte 4

Subsistema QMQM de IBM AS400

Page 123: Enfoque de integración de sistemas parte 4

Subsistema QMQM de IBM AS400

Page 124: Enfoque de integración de sistemas parte 4

Ventajas

Reduce costos e interrupción de procesos causados por pérdida de datos estableciendo una solución unificada de entrega garantizada de mensajes y transacciones

Ayude a prevenir costos relacionados con problemas de seguridad Ayude a lograr estandarización e integridad de mensajes y

transacciones Reduzca costos y esfuerzos de mantenimiento ya que provee un canal

de transporte de datos unificado para protocolos HTTP, REST y JMS Establezca la base para la infraestructura de un Bus Empresarial de

Servicios (ESB por sus siglas en inglés) asegurando entrega de mensajes, procesos, archivos y eventos

Page 125: Enfoque de integración de sistemas parte 4

Desventajas

Al producirse falta de comunicación por: (corte de fibra, aplicación fuera de la red, etc.), los mensajes no llegan a su destino, provocando retraso en la mensajería. La aplicación vuelve a reenviar los mensajes encolados, siempre y cuando así este definida la programación del WebSphere Message Bróker

Page 126: Enfoque de integración de sistemas parte 4

Características y beneficios

Integra virtualmente cualquier sistema

WebSphere MQ ofrece un sistema unificado de conectividad el cual garantiza la entrega de mensajes y transacciones entre sistemas, aplicaciones o servicios sin importar en que lenguaje que estén implementados.

Entrega asegurada

WebSphere MQ puede trabajar con esquemas de comunicación síncronos y asíncronos para asegurar la entrega aún si la red o aplicaciones no están disponibles

Cuenta con mecanismos para asegurar que los datos no son duplicados y que puedan completar una unidad de trabajo o transacción.

Page 127: Enfoque de integración de sistemas parte 4

Características y beneficios

Servicios Web

Provee el canal ideal de transporte para agregar confiabilidad y trazabilidad a interacciones SOAP entre servicios Web

Seguridad de inicio a fin

Soporta SSL (Secure Sockets Layer) para autenticación, integridad de mensajes y encriptación de datos enviados vía Internet

Page 128: Enfoque de integración de sistemas parte 4

Que mas hace el bróker para hacer posible la integración?

El bróker además de distribuir los mensajes también los transforma.

Por ejemplo: si un sistema desarrollado en java envía una petición en XML y la aplicación que debe procesar esta información es RPG, entonces el Bróker puede transformar el XML en una trama que sea entendible para RPG y así RPG procesa la información, posteriormente envía una trama y el Bróker nuevamente la transforma, solo que esta vez la transforma en XML para que el sistema en java pueda convertirla fácilmente en un objeto y utilizar dicha información.

Page 129: Enfoque de integración de sistemas parte 4

Business Process Management Framework

Page 130: Enfoque de integración de sistemas parte 4

Definición de Business Process Management (BPM)

Business Process Management (BPM) es un conjunto de métodos, herramientas y tecnologías utilizados para diseñar, representar, analizar y controlar procesos de negocio operacionales. BPM es un enfoque centrado en los procesos para mejorar el rendimiento que combina las tecnologías de la información con metodologías de proceso y gobierno. BPM es una colaboración entre personas de negocio y tecnólogos para fomentar procesos de negocio efectivos, ágiles y transparentes.

Page 131: Enfoque de integración de sistemas parte 4

BMPS

La “S” de BPMS significa “Suite”. BPMS es la suite de tecnologías BPM, lo que incluye todos los módulos funcionales, las capacidades técnicas y la infraestructura de apoyo, integradas en un único entorno que realiza todas las funciones de la tecnología BPM de manera perfecta, sin fisuras. BPMS es el paquete completo.

Page 132: Enfoque de integración de sistemas parte 4

FrameWork

FrameWork es un concepto sumamente genérico, se refiere a “ambiente de trabajo, y ejecución”, por ejemplo “.Net” es considerado un “framework” para desarrollar aplicaciones (Aplicaciones sobre Windows). En general los framework son soluciones completas que contemplan herramientas de apoyo a la construcción (ambiente de trabajo o desarrollo) y motores de ejecución (ambiente de ejecución).

Page 133: Enfoque de integración de sistemas parte 4

FrameWork puede ser algo tan grande como “.NET” o Java (también es un framework), pero también el concepto se aplica a ámbitos mas específicos, por ejemplo; dentro de Java en el ámbito especifico de aplicaciones Web tenemos los frameworks: Struts, “Java Server Faces”, o Spring. Estos frameworks de Java en la practica son conjuntos de librerías (API’s) para desarrollar aplicaciones Web , más librerías para su ejecución (o motor), y más un conjunto de herramientas para facilitar esta tarea (debuggers, ambientes de desarrollo como Eclipse, etc).

Page 134: Enfoque de integración de sistemas parte 4

Otros ejemplos de frameworks para ámbitos específicos:

Ámbito: Webservices => FrameWork: Axis. Ámbito: Interfaz de Usuario Web Dinámica

=> FrameWork: Ajax – DWR Ambito: Procesos de Negocio => BPMS

(WebSphere, AquaLogic, y Oracle)

Page 135: Enfoque de integración de sistemas parte 4

Oracle BPM

¿Qué es Oracle BPM? Es un entorno de ejecución de procesos de negocios de

empresas y está compuesto de diferentes aplicaciones y servicios que pueden ser instalados y configurados en diferentes topologías para manejar diferentes escenarios, soportando diferentes usos.

Un entorno BPM es la infraestructura técnica en la cuál se ejecutan procesos de negocio. Definimos entorno BPM como todos los componentes ejecutables (aplicaciones y servicios) que trabajan juntos para permitir la ejecución de procesos de negocio.

Page 136: Enfoque de integración de sistemas parte 4

Ejemplos de entornos Oracle BPM

 

 Los siguientes gráficos proveen una vista de alto nivel de diferentes partes. Estos gráficos muestran 3 tipos de artefactos: cajas, puntos, y registros.

Las cajas representan aplicaciones y servicios en el entorno.

Los puntos representan los servicios expuestos por las aplicaciones (cajas).

Las flechas representan una conexión entre una aplicación y un servicio expuesto por otro.

Page 137: Enfoque de integración de sistemas parte 4

Ejemplo 1: ilustra la arquitectura generada con el wizard de Oracle BPM Enterprise

Standalone

Page 138: Enfoque de integración de sistemas parte 4

Ejemplo 2: ilustra la arquitectura generada con el wizard de Oracle BPM

Enterprise for WebLogic

Page 139: Enfoque de integración de sistemas parte 4

Ejemplo 3: entorno clusterizado a través de Oracle BPM Enterprise for WebLogic

Page 140: Enfoque de integración de sistemas parte 4

Componentes de un entorno BPM

Las cajas representan la ejecución de aplicaciones como parte del entorno. Desde esta perspectiva, los componentes de un entorno BPM se pueden dividir en 3 grupos: BPM Core, BPM Clients y servicios de soporte. Cada entorno BPM contendrá componentes en cada uno de estos grupos.

Page 141: Enfoque de integración de sistemas parte 4

BPM Clients

Los clientes BPM son aplicaciones que interactúan con los procesos de negocio que ejecutan en los motores BPM.

Desde el punto de vista donde el servicio de motores BPM utiliza el cliente para conectarse, tenemos dos grandes grupos: los clientes PAPI, que utilizan el servicio de proceso interno, y los clientes de servicios Web.

Page 142: Enfoque de integración de sistemas parte 4

Cliente PAPI

Es el proceso API y refiere a la API de Java que este cliente usa para interactuar con el motor BPM. PAPI está embebido en muchas aplicaciones web. Realiza funciones críticas desde el punto de vista de usuario final. Está configurado para autenticar y autorizar usuarios finales, encuentra los procesos disponibles en el directorio BPM, conecta a los motores BPM que ejecutan dichos procesos, y retorna información a los usuarios finales. Es la única API de JAVA para la interacción de procesos.

Page 143: Enfoque de integración de sistemas parte 4

Area de trabajo BPM

El "workspace" o area de trabajo BPM es lo más importante en la aplicación de usuario final. El area de trabajo BPM es a los procesos de negocio lo que el Outlook es al mail: la principal aplicación de interacción.

El área de trabajo BPM es un cliente PAPI y provee gran funcionalidad sobre estos: soporte a flujos de pantallas, tableros, diseños de páginas, etc. La aplicación también permite adaptar la interfaz de usuario a través de hojas de estilos y otras configuraciones. El área de trabajo BPM puede confiar en el servidor web (Tomcat, Weblogic, etc) para autenticar y conectar a usuarios remotos.

Page 144: Enfoque de integración de sistemas parte 4

Clientes Web Service (WS)

Pueden elegirse clientes WS entre dos servicios disponibles: los servicios "Process-WS" expuestos por el motor BPM y la aplicación "PAPI-WS".

El servicio "Process-WS" expone ciertas actividades del proceso de negocio como operaciones de WS. En particular, puede ser usado para crear nuevas instancias de procesos y enviar notificaciones a las instancias de procesos existentes. Las actividades de los procesos de negocio tienen que ser marcadas explícitamente como expuestas para ser agregadas al servicio. Técnicamente, este servicio es provisto por el mismo motor BPM.

Page 145: Enfoque de integración de sistemas parte 4

El servicio "PAPI-WS" expone la mayoría de las operaciones de PAPI a través de una interfaz SOA. Este servicio está separado de la aplicación web PAPI-WS. Esta aplicación se despliega como cualquier otra aplicación web, y simula un servicio web alrededor de la funcionalidad PAPI. El servicio "PAPI-WS" es un cliente PAPI porque usa la API. La interfaz expuesta por el servicio es similar a la API, y esta es independiente de los procesos desplegados. PAPI-WS puede interactuar con cualquier proceso desplegado en el entorno.

Page 146: Enfoque de integración de sistemas parte 4

Servicios de soporte

Un número de servicios de soporte son requeridos para el entorno BPM, incluyendo base de datos, LDAPs y servidores web y J2EE. Los requerimientos de servicio específico dependen de la configuración, topología, y el motor BPM.

Page 147: Enfoque de integración de sistemas parte 4

Conexión a base de datos

Hay 2 maneras para que una aplicación BPM pueda obtener conexión a la base de datos: directamente, vía los drivers de JDBC o usando datasources de J2EE. Las aplicaciones independientes como el administrador de BPM, el servicio de monitoreo de procesos y el motor independiente siempre usan los drivers JDBC.

Page 148: Enfoque de integración de sistemas parte 4

Recursos J2EE usados por el motor BPM

cada motor BPM requiere dos recursos de mensajería: una cola y un topic. Estos recursos JMS son necesarios para archivar funcionalidad

Los servidores de aplicación no proporcionan un framework para las ejecuciones en segundo plano, entonces las colas JMS son usadas como disparadores de eventos en segundo plano con un MDB. El motor BPM genera un mensaje cuando una tarea se tiene que ejecutar. El MDB levanta el mensaje y ejecuta la tarea.

Page 149: Enfoque de integración de sistemas parte 4

Recursos J2EE usados por el motor BPM

El topic JMS se usa para enviar información a los clientes PAPI. Los motores BPM necesitan una forma de propagar los cambios a todos los clientes PAPI, y estos clientes esperan mensajes en estos topics. El motor BPM coloca un mensaje en el topic cuando hay noticias para publicar, y los clientes leen los mensajes y actualizan la memoria interna. Entonces, el motor BPM es el publicador y los clientes PAPI son los suscriptores.

Page 150: Enfoque de integración de sistemas parte 4

LDAPs

Son usados como fuente de información de la organización, específicamente usuarios, unidades organizacionales y grupos. Esta integración es muy flexible y configurable.

Page 151: Enfoque de integración de sistemas parte 4

Integración funcional

BPM define usuarios, grupos y unidades de la organización en una estructura única y bien definida. Esto difiere de cómo muchas organizaciones definen los conceptos. Por ejemplo, Oracle BPM define que un usuario solo puede pertenecer a una unidad de organización, asigna funciones a los usuarios y grupos, mientras que algunas organizaciones podrían asignar funciones a la unidad organizativa. Es importante entender que en todos los casos la estructura LDAP tiene que estar mapeada con el modelo de organización de la BPM.