Anda di halaman 1dari 151

TEMAS

SOLUCIONES ACTUALES EAI TIPOS DE MIDDLEWARE EAI BPMF

Soluciones actuales

Lenguajes de programacin web

Lenguajes de programacin web


Durante la evolucin de los lenguajes de programacin, se observa que han pasado de ser estticos a lo que actualmente conocemos como lenguajes de programacin para la web dinmicos. Sin confundir el trmino dinmico como la interaccin del sistema con el usuario, sino como la interaccin del usuario con datos a travs del sistema.

Lenguajes de programacin web


El hecho de que los sistemas estn basados en lenguajes de programacin web, se les hace atractivo a un sin nmeros de usuarios, quienes no dependern por completo de un sistema operativo en particular para usar las aplicaciones, y estas se emplean mediante el navegador web.

Arquitectura comn de aplicaciones web

Cliente

Servidor

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 pginas se requiere instalar IIS con el framework .NET. Los archivos tienen la extensin .aspx.

ASP.NET
Ventajas Orientado a objetos. Separa el diseo del cdigo. Fcil mantenimiento. Mayor seguridad. Desventajas Mayor consumo de recursos.

Javascript
Se trata de un lenguaje de scripts basado en objetos que permite hacer aplicaciones incrustadas en un documento HTML, que pueden manejar eventos segn 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 validacin de datos antes de enviar al servidor.

Javascript
Ventajas Lenguaje interpretado Se ejecuta del lado cliente Lenguaje seguro. Desventajas Cdigo visible. El cdigo debe descargarse completamente.

PHP
PHP es un lenguaje de script interpretado en el lado del servidor utilizado para la generacin de pginas web dinmicas, embebidas en pginas HTML y ejecutadas en el servidor. PHP no necesita ser compilado para ejecutarse. Para su funcionamiento necesita tener instalado Apache o IIS con las libreras de PHP. La mayor parte de su sintaxis ha sido tomada de C, Java y Perl con algunas caractersticas especficas. Los archivos cuentan con la extensin .php.

PHP

PHP

PHP
Ventajas Capacidad de conexin con distintos manejadores de base de datos. No requiere definicin de tipos de variables. Es libre. Desventajas Se necesita instalar un servidor web. Todo el trabajo es realizado en el servidor. Se puede dificultar la lectura del cdigo

Python
Lenguaje considerado como el ms 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 programacin: Estructurada, orientada a objetos, funcional u orientada a aspectos.

Python

Python
Ventajas Licencia de cdigo abierto (Opensource). Gran cantidad de funciones y libreras. Orientado a Objetos. Multiplataforma Desventajas Es lento por tratarse de un lenguaje interpretado.

Perl
Este lenguaje soporta tanto programacin 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

Perl
Ventajas Facilidad y comodidad en la escritura de scripts. Potente para el procesamiento de textos. Verstil. Desventajas Complejo aprendizaje. Lenguaje interpretado.

Ruby
Lenguaje

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 libreras de extensiones dinmicamente si el sistema operativo lo permite.

Ruby
Ventajas Desarrollo de aplicaciones a bajo costo. Porttil Multiplataforma Desventajas El cdigo puede volverse desordenado, si varios programadores no establecen alguna convencin de sintaxis.

Lenguajes de programacin web


La decisin de qu lenguaje de programacin 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 eleccin del lenguaje, tender ms hacia el gusto del usuario, que al resultado de evaluar el rendimiento de las herramientas.

Integracin de aplicaciones de empresas (EAI)

Integracin de sus aplicaciones con proveedores y clientes para automatizar los procesos y realizar una gestin ms eficiente. Consiga que sus aplicaciones reciban la informacin de forma sencilla directamente desde la fuente de esta ahorrando en tiempo y evitando demoras.

Integracin de aplicaciones de empresas (EAI)

VENTAJAS Acceso a informacin dispersa por toda la organizacin


En una empresa dotada de una integracin adecuada de sus aplicaciones se puede acceder a cualquiera de sus datos. Se reduce el tiempo de bsqueda, acceso y uso de la informacin global de la empresa. Aun ms, la presentacin de esta informacin 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 ms rpidas posibles.

VENTAJAS Sincronizacin de la informacin replicada por las distintas aplicaciones


Uno de los problemas ms habituales en las empresas con sistemas de informacin es que esta suele estar muchas veces replicada. Conseguir que esta informacin est sincronizada y correcta es muchas veces presa del factor humano. Al establecer una integracin correcta entre las distintas aplicaciones se puede conseguir que la informacin se propague de forma natural. De esta forma todos los sistemas se encontrarn actualizados con la informacin correcta y de

VENTAJAS Capacidad de administrar la informacin

Administrar la informacin global de la empresa es una empresa imposible si las aplicaciones no estn integradas de forma coherente y sobre dicha integracin se aaden elementos que permitan modificarla, consultarla o eliminarla de forma transparente. Se trata de actuar sobre la informacin con independencia de que sistema la contiene como se debe realizar esta alteracin.

VENTAJA Establecimiento de una infraestructura global a toda la empresa

En una empresa integrada completamente se crea una plataforma de fcil 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 existan solo para alimentarlos. Adems es muy normal que, al eliminar ineficiencias en los procesos existentes como causa de definir una infraestructura global, se

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 ofreceran ventajas competitivas vitales. Las empresas no pueden prescindir de estos sistemas, recodificarlos supondra una inversin enorme que tampoco asegurara que en el futuro no deban volver a ser modificados Adems esas remodificaciones son fuentes de errores y existe miedo de que puedan acabar con la operatividad de estas aplicaciones. Logramos este objetivo al aadir una integracin de estos sistemas orientndolo a la creacin 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 informacin es vital para la empresa. Existe la opcin de migrarla a un entorno ms adecuado, pero generalmente a su alrededor se han construido aplicaciones, y al desaparecer hara perder la ventaja que ofrecen a la empresa. Al integrar los datos con la plataforma se obtiene acceso flexible a informacin heredada sin necesidad de estar migrando o replicando

VENTAJA Proteccin del valor de las inversiones tecnolgicas anteriores

VENTAJA Mayor rapidez y efectividad de costos en la adaptacin a nuevos requerimientos


La flexibilidad de las empresas, su capacidad de adaptacin 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 supondra 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 adaptacin. La existencia de una infraestructura de integracin adecuadamente definida asegura no solo el aprovechamiento de los sistemas existentes, sino que permite allanar el camino de aquellos elementos que seguro se tendrn que integrar. Que el tiempo de adaptacin a la oportunidad sea lo ms reducido posible facilita el disponer de la ventaja competitiva antes que el resto de empresas, y si adems esta adaptacin es de un coste

Patrones de Integracin
Los patrones de integracin (o EAI) definen diseos comunes (patrones) en el desarrollo de funcionalidades relacionadas con la integracin de aplicaciones. Especifican una manera estndar de realizar ciertas tareas y ayudan a conocer con un lenguaje comn determinadas cosas que desarrollamos habitualmente. Los sistemas de EAI principalmente implementan dos patrones: Mediacin: Donde los sistemas de EAI actan como el canal que vincula varias aplicaciones o sistemas utilizando tcnicas de encaminamiento. Cuando en una aplicacin (interlocutor origen) ocurre un evento que puede ser interesante a alguna otra aplicacin (interlocutor destino) esta debe notifica a un mdulo de integracin (servicio) del sistema EAI. Entonces el sistema de EAI propaga esos cambios a las otras aplicaciones relevantes. Federacin: En este caso, el sistema EAI acta como un consolidador de informacin entre varias aplicaciones. Todos los accesos al o del exterior de la organizacin a cualquiera de las aplicaciones son gestionados por el sistema EAI, y ste est configurado para exponer slo la informacin relevante conectndose a las aplicaciones del mundo exterior, y efectuar todas las interacciones con las aplicaciones internas sin intervencin del agente externo.

Tipos de EAI
Nivel de Datos Nivel de Interfaz de Aplicaciones Nivel de Mtodos Nivel de Interfaz de Usuario

EIAdeA NIVEL, si es necesario procesar la DE DATOS Extraer informacin una base de datos
informacin y la actualizacin de la misma en otra base de datos

Tecnologas de EAI a Nivel de Datos


Middleware orientada a Base de Datos ODBC JDBC Middleware orientada a Mensajes Herramientas y tecnologas de Almacenes de Datos Replicacin de Base de Datos

EAI a Nivel de Interfaz de Aplicacin

Interfaces para acceder a los procesos de negocio y la informacin cencilla Los 3 grandes: SAP, PeopleSoft, Oracle Interfaces para aplicaciones empaquetadas Capas de Integracin Data Objetos

Ventajas de la EAI a Nivel de Interfaz de Aplicacin


Proveen mecanismo para compartir tanto mtodos como datos Mueven la informacin fuera de los sistemas que eran difciles de acceder Proveen la infraestructura para compartir procesos de negocios comunes Soportan problemas de negocios comunes, tales como uniones y adquisiciones

Desventajas de la EAI a Nivel de Interfaz de Aplicacin

Las interfaces que proveen los vendedores de aplicaciones empaquetadas varan desde buenas hasta inexistentes Todos claman integracin con las aplicaciones empaquetadas pero la verdad es que la integracin no es posible sin un gran esfuerzo de adaptacin Los 3 grandes son lentos para abrir las puertas

Tecnologas de la EAI a Nivel de Interfaz de Aplicacin


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

EAI a Nivel de Mtodos

Es el intercambio de la lgica de negocio que pueden existir dentro de la empresa. Las aplicaciones pueden acceder a mtodos en cualquier otra aplicacin. Los mecanismos para compartir mtodos entre las aplicaciones son muchas, incluyendo objetos distribuidos, servidores de aplicaciones y monitores de TP. un ORB puede tomar la llamada de una aplicacin a mtodos almacenados en otras aplicaciones. Un servidor de aplicaciones puede ser un servidor fsico compartido para un conjunto compartido de servidores de aplicaciones. La mayor parte de la integracin se han sucediendo a este nivel, ya que hay una serie de tecnologas robustas para llevar a cabo este tipo. Integracin de procesos para crear aplicaciones compuestas Compartir lgica del negocio Compartir cdigo Compartir procesamiento Compartir programas Compartir transacciones

Ventajas de la EAI a Nivel de Mtodos


Proveen una verdadera infraestructura para la reutilizacin de cdigo para muchas aplicaciones empresariales Disponibilidad de tecnologas y experticia Es la solucin mas adecuada para muchas Empresas

Desventajas de la EAI a Nivel de Mtodos


Mucho mas compleja y costosa que los otros enfoques Necesita de mucho tiempo, arquitectura y Planificacin Las tecnologas existentes pueden no escalar a aplicaciones empresariales o tener otras deficiencias

Tecnologas de la EAI a Nivel de Mtodos

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

EAI a Nivel de Interfaz de Usuario

Ultimo recurso de la EAI Adaptacin de pantallas Enfoques Pantallas como objetos Pantallas como Datos

Ventajas de la EAI a Nivel de Interfaz de Usuario


No requiere cambios en los sistemas fuentes o destinos No requieren de la creacin de nuevas interfaces o cualquier interfaz Bajo riesgo, bajo costo La tecnologa esta disponible y es estable

Desventajas de la EAI a Nivel de Interfaz de Usuario


Rendimiento Percepciones En mucha instancias solo prolonga el problema de EAI

Tecnologas de la EAI a Nivel de Interfaz de Usuario


Emuladores 3270 Libreras para aplicaciones basadas en Terminales Traductores de pantallas a objetos Adaptadores para Message broker y Servidores de Aplicaciones

TOPOLOGIA EAI
Hay dos topologas principales: hub-and-spoke, y bus En el modelo hub-and-spoke, el sistema EAI acta como el centro (el concentrador), el cual interacta con las aplicaciones, va las conversaciones (o spokes). En el modelo de bus, el sistema EAI es el bus (o es implementado como un mdulo residente en un bus de mensajes existente o un middleware orientado a mensajes).

EJEMPLO HUB AND SPOKE

TOPOLOGIA BUS

TIPOS DE MIDDLEWARE EAI

MIDDLEWARE
Es un Software que conecta y comunica los componentes de una aplicacin distribuida conecta clientes y servidores

TIPOS DE MIDDLEWARE EAI

Asynchronous Event/Message Transport. Se refiere al middleware orientado a mensajes (MOM). Esto productos posibilitan el enrutamiento asincrnico de eventos del negocio entre aplicaciones. Ellos pueden posponer entregas de informacin sobre eventos del negocio hasta que las aplicaciones estn disponibles. Esta capacidad facilita una interrelacin poco acoplada entre las aplicaciones. Este es un principio de diseo fundamental en las aplicaciones EAI.

Un MOM (Message Oriented Middleware) utiliza los mensajes como mtodo de integracin y provee mecanismos para crear, manipular, almacenar y transmitir esos mensajes. Estos sistemas permiten que las aplicaciones intercambien informacin en forma de mensajes compuestos por cabeceras y datos.

PUNTO A PUNTO

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 aplicacin de gestin se encarga de obtenerlos y de enviarlos exclusivamente a la persona que los solicit.

PUBLICACIN/SUSCRIPCI Publicacin/suscripcin: N estos sistemas hay dos En


actores: los emisores de informacin y los suscriptores o consumidores de dicha informacin. Los consumidores pueden suscribirse a un determinado tipo de mensajes que tengan relacin con un tema concreto o con informacin que cumpla un patrn determinado. Los emisores envan mensajes al MOM, y ste se encarga de hacrselo llegar a los suscriptores correspondientes. Este modelo podra utilizarse en un sistema de monitorizacin de una red: una aplicacin (emisor) recoge datos de trfico, ocupacin de puertos, etc. y enva esos datos al administrador o administradores de la red (suscriptor) de forma automtica.

Caractersticas de los MOM


Comunicacin aplicaciones informacin. asncrona entre para compartir

No obstante, tambin hay soluciones que trabajan con conexiones sncronas o pseudo-sncronas.

Caractersticas de los MOM

Los mensajes son almacenados en colas hasta que el receptor est listo para recoger el mensaje. Garanta de que los mensajes llegarn siempre a su destino. Rapidez en la entrega de los mensajes. Las aplicaciones estn aisladas de la complejidad de las redes y del hardware gracias al MOM. Por ello, no sufrirn ninguna modificacin aunque

Caractersticas de los MOM

La comunicacin entre aplicaciones es no bloqueante, es decir, que las aplicaciones que realizan una peticin no detienen su ejecucin mientras esperan el mensaje de respuesta. Las colas utilizadas pueden ser permanentes o dinmicas. Las primeras almacenan la informacin en disco, mientras que las segundas guardan los datos de forma temporal en la memoria voltil. Las colas de mensajes pueden ser ledas como en una pila FIFO o teniendo en cuenta propioridades.

Caractersticas de los MOM


Las aplicaciones que se comunican entre s, no estn conectadas directamente y eso facilita la programacin y permite crear nuevas funcionalidades. El emisor no necesita conocer la ubicacin fsica del receptor y viceversa. Muchas soluciones comerciales MOM proporcionan tambin encriptacin de datos extremo a extremo para incrementar la

Caractersticas de los MOM

Estas caractersticas 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 comunicacin SOAP sobre HTTP, que es una de las ms extendidas, no es fiable. Una de las desventajas ms importantes de los MOM es que no son soluciones interesantes para aplicaciones que trabajen en tiempo real o que estn orientadas a comunicaciones sncronas. Otro punto negativo es que no existe un estandard de protocolos lo que dificulta la interoperabilidad entre MOMs de diferentes empresas.

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 definicin remota, colas locales, colas de transmisin y colas de alias de MQSeries desde BizTalk Server. Recibir mensajes procedentes de colas de transmisin, colas locales y colas de alias de MQSeries.

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 aplicacin hecha en casa. Estas herramientas estn orientadas a batch y operan a nivel de bases de datos o de archivos.

aplicacin

Ejemplo COMUNICACIN
BDD

Formato de aplicacin Nombre Char 30 comunicarse Valor float Cdigo_cliente Char 10 comunicarse

Formato de datos Nombre Char 20 Costo Int Cdigo Char 13

MIDDLEWARE Formato de datos Nombre Char 20 Costo Int comunica Cdigo Char 13

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 mltiples aplicaciones y bases de datos. Por ejemplo un messsage broker puede recibir rdenes de compras de una aplicacin basada en Web y enrutarla a las aplicaciones objetivos en base a la informacin contenida en las ordenes. El evento fuente puede ser transformado en el formato esperado por la aplicacin destino. Por lo tanto, los integration brokers incluyen servicios de transformacin

TIPOS DE MIDDLEWARE EAI


Business Process Management Framework. Estas herramientas permiten que la lgica del negocio sea separada de los flujos lgicos del proceso. Pueden ser de dos categoras: Process automation y Workflow. Process automation proven un framework que permite a componentes de software mltiples y dispares participar en un flujo del proceso integrado del negocio.

TIPOS DE MIDDLEWARE EAI

Los Workflow soportan un paradigma similar, pero se enfocan en pasos ejecutados por interaccin humana con el sistema. Como los eventos del negocio se mueven a travs del flujo del proceso del negocio se requieren servicios de transformacin y enrutamiento. Por lo tanto, por definicin, los frameworks process automation/workflow tambin incluyen sus servicios de integration broker o la

Motores de Transformacin

Monitores de Transacciones Distribuidas Provee herramientas y un ambiente de desarrollo y despliegue de aplicaciones distribuidas. Una transaccin es un conjunto de acciones en las que se garantizan las propiedades ACID: Atomicidad, Consistencia, islamiento y Durabilidad.

A
Atomicidad Todas las transacciones o ninguna

C
Consistencia Solo valido lo guardado en BDD

I
Islamiento

D
Durabilidad

Transacciones que no afecten a otras

Escribiendo en la BDD para no perderla.

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).
OLTP: fuente de datos interna/externa

Sus principales servicios son:

Administracin de procesos: Inicia procesos en el servidor, concentra las solicitudes de trabajo y balancea la carga de los servidores. Administracin de transacciones: Garantiza las propiedades ACID de

Ejemplo:

a). Sin monitor TP

1000 clientes

1000 conexiones1000 procesos 500 Mb de RAM 10000 archivos abiertos

SO de bajo desempeo

b). Con monitor TP

1000 clientes

MONITOR TP

50 conexiones50 procesos 25 Mb de RAM 500 archivos abiertos

SO de buen desempeo

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 conexin con un servidor de base de datos concentrando as las solicitudes en una sola conexin.

Aplicaciones

RPC
MO M

BDD

BDD transformador

Para qu usar las transformaciones? Heterogeneidades(igualdad) entre aplicaciones Transformar formato de datos XML <> CSV, EDI SOAP, etc Transformacin entre documentos XML con distinto esquema En general, los ESB soportan transformaciones a travs de XSLT Tambin incluyen herramientas para transformar mensajes no XML (ej. Smooks) Se podra extender el ESB implementando transformaciones ms especficas

XSLT XSLT PROCESADO R DOCUMENTO XML/HTML

XML

Transformacin del XML En este paso, usted crea una transformacin VVM para convertir la estructura jerrquica del documento XML en una estructura relacional basada en filas. VVM Studio suministra una GUI de uso sencillo para crear una correlacin entre los nodos XML de entrada y las columnas relacionales de salida.

Correlacin de elementos XML con columnas relacionales en VVM Studio

Para la creacin de las transformaciones, VVM suministra las siguientes opciones:

XML bsico a correlacin tabular.- Esta correlacin nivela los documentos XML como una coleccin de filas, donde cada fila representa un nodo en el documento XML. Este tipo de transformacin se utilizara raramente para entornos de produccin.

Transformaciones de XSLT.-Esta correlacin transforma los datos XML en tabulares basada en una transformacin XSLT subyacente.

Transformacin de flujo continuo.-Esta correlacin transforma los datos XML de flujo continuo en tabulares. Esta transformacin 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.

Transformaciones de Xquery.- Esta correlacin transforma los datos tabulares en XML. Este tipo de transformacin no es apropiada para la consulta de fuentes de datos XML.La transformacin de XSLT y la tranformacin de flujo continuo son las que se utilizan con mayor frecuencia. La transformacin 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. imagen muestra la Esta
vista previa de los resultados de una asignacin de Excel

Publicacin de la transformacin

La publicacin es un proceso en el cual VVM hace que un recurso particular est disponible para sus clientes para la realizacin 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 transformacin que cre en el paso anterior. Puede publicar la transformacin como un procedimiento almacenado o como una tabla. Para publicar la transformacin como una tabla, usted debe primero incorporar la transformacin a una vista SQL y luego publicar la

Publicacin en VVM

Se recomienda la exposicin de la transformacin como una tabla incorporndole una vista SQL. Despus de la publicacin, 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.

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

Permite estas transformaciones:

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

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.

La plataforma Open Source Pentaho Business Intelligence cubre muy amplias necesidades de Anlisis de los Datos y de los Informes empresariales. Las soluciones de Pentaho estn escritas en Java y tienen un ambiente de implementacin tambin basado en Java. Eso hace que Pentaho es una solucin muy flexible para cubrir una amplia gama de necesidades empresariales tanto las tpicas como las sofisticadas y especificas al negocio.

Modulos: Reporting Anlisis Dashboards Data Mining Integracin de Datos

BASE DE DATOS

Libre

comercial

Reportes Analisis Workflow Carga del DWH Datamining Calidad de Datos Auditoria de uso y rendimiento Acceso a todo tipo de fuentes Ejecucin remota Planificador Notificador Seguridad y perfiles

Spoon es el diseador grfico de transformaciones y trabajos del sistema de ETTLs de Pentaho Data Integration (PDI)
Est diseado para ayudar en los procesos ETTLs, que incluyen la Extraccin, Transformacin, Transporte y Carga de datos. Spoon es una Interfaz Grfica de Usuario (GUI), que permite disear transformaciones y trabajos que se pueden ejecutar con las herramientas de Kettle (Pan y Kitchen). Pan es un motor de transformacin de datos que realiza muchas funciones tales como lectura, manipulacin, y escritura de datos hacia y desde varias fuentes de datos. Kitchen es un programa que ejecuta los Trabajos diseados por Spoon en XML o en un catlogo de base de datos.

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

Luego Pan o Kitchen pueden leer los datos para ejecutar los pasos que se describen en la Transformacin o ejecutar el Trabajo. En resumen, PDI facilita la construccin, actualizacin, y mantenimiento de Data Warehouses.
Ya sabemos lo que es, pero cmo podemos aprovechar todo su potencia y cundo nos ser til. Esta herramienta cmo muchas super tiles y super completas, requiere de un conocimiento previo de la opciones y posibilidades, que en este caso entre la documentacin oficial y un poco de dedicacin se puede llegar a tener un manejo de la herramienta en poco tiempo. Segn lo visto hasta ahora y con los primero pasos que demos con la herramienta empezaremos por identificar la divisin que hace entre, Job (trabajo) y Transformation (transformacin). 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 sera un Job.

En cambio una transformation ser todos aquellos pasos que queramos realizar para cualquier tipo de tratamiento o modificacin a los datos. ej: De dos columnas, Nombres y Apellidos, generar una tercera que sea la unin de las anteriores En principio estas acciones parecen muy simples, y es que lo son; ah radica el potencial de esta aplicacin permite de forma muy fcil aadir funciones simples a nuestro proyecto (job o transformation) que podremos modificar y configurar segn nuestras necesidades de una forma muy simple, desde el interfaz grfico. La complejidad reside en unir muchas pequeas acciones con el objeto de generar el proceso que nos sea necesario sin tener que programarlo. Un ejemplo prctico para su uso, podra ser el siguiente trabajo que entre otras cosa ejecuta el siguiente procedimiento:

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

Funcionamiento: Desde un servidor, se realiza mediante SCP una importacin 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 transformacin para cada tipo de fichero CSV, que se reconoce de forman nica mediante expresiones regulares, la transformacin vara segn el fichero. Una vez procesado se mueve a un directorio dnde es archivado aadiendole una marca temporal que indica su procesamiento. El sistema continua, enva por cada tipo de transformacin un email confirmando la transformacin 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, restauracin y envo mediante SCP de la ltima copia de base de datos realizada.

Ejemplos reales: http://www.stratebi.com/demos

Se ver el framework Xpand y Xtend (usualmente usados conjuntamente y junto a Xtext) Xtext permite transformar texto que conforma con una gramtica (especificada en una sintaxis similar a Antlr) ) Modelo Xpand+Xtend permiten generar texto (cdigo) desde modelos y metamodelos

Xpand y Xtend son herramientas para convertir modelos y metamodelos a texto Veremos dos ejemplos: - Cmo generar cdigo a partir de una instancia
del metamodelo Tree - En particular, generaremos una representacin grfica del rbol usando Graphviz1 - Cmo generar cdigo para un metamodelo - Documentacin de clases en HTML

Permite una representacin grfica sencilla y rpida Nos permitir ver nuestros rboles:
Root

digraph G { Root -> A; Root -> B; 5 A -> X; B -> Y; }

Podemos generar ese cdigo a partir de cualquier

Xpand es un sistema de plantillas para la generacin de cdigo Las plantillas pueden contener variables, bucles, etc. Es similar a ASP o JSP

Lenguaje funcional Luego que Jboss presente su lenguaje Ceylon para la plataforma Java; ahora la organizacin 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 cdigo. Entre sus caractersticas podemos nombrar:
Tipado esttico Facilita el desarrollo Closures Compila a cdigo Java no a bycode Sintaxis similar a Java Se desarrollo con Xtext y se basa en Xbase

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 caractersticas del lenguaje y cambios respecto a java.

Lenguajes de programacin utilizados en Eclipse 3.2.1 Lenguaje Lneas de cdigo %

Java
ANSI C C++ JSP

1.911.693
133.263 10.082 3.613

92,66%
6,46% 0,49% 0,18%

sh
perl php sed

2.066
1.468 896 2

0,10%
0,07% 0,04% 0,00%

Ejemplo:

Empresas en Ecuador

Fundacin Priva.- Desarrollo de un sistema de analtica de casos de tortura con pentaho

Integration Brker
Integration Brker conocido tambin como Message Brker, es un programa intermediario que traduce los mensajes de un sistema desde un lenguaje a otro, a travs de un medio de telecomunicaciones.

Un brker de mensajera es un patrn arquitectnico para la validacin, la transformacin y el ruteo de mensajes


El propsito del brker es recibir los mensajes entrantes desde las aplicaciones y llevar a cabo determinadas acciones con ellas Un mensaje brker, puede recibir rdenes de compras de una aplicacin basada en Web y enrutarla a las aplicaciones objetivos en base a la informacin contenida en las rdenes. El evento fuente puede ser transformado en el formato esperado por la aplicacin destino. Por lo tanto,

Ejemplos

de acciones del brker

Rutear mensajes a una o ms destinaciones distintas Transformar mensajes a una representacin alternativa Realizar una agregacin de mensajes, descomponer mensajes en varios mensajes componentes, reenvindolos a sus respectivos destinos, para posteriormente recomponer las respuestas en un nico mensaje que ser remitido al usuario Interactuar con un depsito externo para aumentar un mensaje o almacenarlo Invocar un servicio Web para consultar datos

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 da 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 estn funcionando correctamente en el grupo 1 y grupo 3, los cuales utilizan .Net y AS400 (RPG) respectivamente.

Enterprise Services Bus (ESB)


Bus de servicios de empresa, es un software destinado a la integracin de aplicaciones. Es un combinado de arquitectura de software, que proporciona servicios fundamentales para arquitecturas complejas, a travs 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 creacin y la gestin de distintos flujos de datos, de manera totalmente transparente para los desarrolladores de aplicaciones En la configuracin se detalla la lgica de la arquitectura, que se activan automticamente, o son activados por las propias aplicaciones

ESB Caractersticas:

Es una plataforma de integracin basada en estndares de comunicacin abiertos


Combina los paradigmas SOA y EDA Est basado en la naturaleza sncrona de los servicios y asncrona de los eventos Contiene herramientas para configurar el flujo de los mensajes

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 categora de open source.
La tecnologa ESB es perfecta para la integracin de los servicios de seguridad y confianza que ofrece TrustedX.

DIPS Message Brker Apache ActiveMQ OpenAMQ Comverse Message Brker (Comverse Technology) Antares Enovacom eSCL Message Brker (Interface & Control Systems) FUSE Message Brker (enterprise ActiveMQ) Financial Fusion Message Brker (Sybase) JBoss Messaging (JBoss) Microsoft BizTalk Server (Microsoft) Oracle Message Brker (Oracle Corporation) Proteus, una implementacin open source por Info-Scape WebSphere Message Brker (IBM) webMethods Message Brker (webMethods Message Brker) Cloverleaf (E-Novation Lifeline) SAP PI (SAP AG) Sapo Brker (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 Brker JORAM

Lista de software de brker de mensajera

WebSphere Message Brker MQ

WebSphere Message Brker MQ

Tecnologa de IBM, conocido en el entorno laboral como MQ Brker (cuando integra MQ Message Queue (Cola de Mensajes)) o nicamente Brker, la funcin de este es incrementar la agilidad del negocio y optimizar los costos haciendo la integracin de aplicaciones fcil.

Consola WebSphere Message Brker MQ

Subsistema QMQM de IBM AS400

Subsistema QMQM de IBM AS400

Ventajas

Reduce costos e interrupcin de procesos causados por prdida de datos estableciendo una solucin unificada de entrega garantizada de mensajes y transacciones Ayude a prevenir costos relacionados con problemas de seguridad Ayude a lograr estandarizacin 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

Desventajas

Al producirse falta de comunicacin por: (corte de fibra, aplicacin fuera de la red, etc.), los mensajes no llegan a su destino, provocando retraso en la mensajera. La aplicacin vuelve a reenviar los mensajes encolados, siempre y cuando as este definida la programacin del WebSphere Message Brker

Caractersticas 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 estn implementados. Entrega asegurada WebSphere MQ puede trabajar con esquemas de comunicacin sncronos y asncronos para asegurar la entrega an si la red o aplicaciones no estn disponibles

Caractersticas 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 autenticacin, integridad de mensajes y encriptacin de datos enviados va Internet

Que mas hace el brker para hacer posible la integracin?

El brker adems de distribuir los mensajes tambin los transforma. Por ejemplo: si un sistema desarrollado en java enva una peticin en XML y la aplicacin que debe procesar esta informacin es RPG, entonces el Brker puede transformar el XML en una trama que sea entendible para RPG y as RPG procesa la informacin, posteriormente enva una trama y el Brker nuevamente la transforma, solo que esta vez la

Business Process Management Framework

Definicin de Business Process Management (BPM)

Business Process Management (BPM) es un conjunto de mtodos, herramientas y tecnologas utilizados para disear, representar, analizar y controlar procesos de negocio operacionales. BPM es un enfoque centrado en los procesos para mejorar el rendimiento que combina las tecnologas de la informacin con metodologas de proceso y gobierno. BPM es una colaboracin entre personas de negocio y tecnlogos para fomentar procesos de negocio efectivos, giles y transparentes.

BMPS

La S de BPMS significa Suite. BPMS es la suite de tecnologas BPM, lo que incluye todos los mdulos funcionales, las capacidades tcnicas y la infraestructura de apoyo, integradas en un nico entorno que realiza todas las funciones de la tecnologa BPM de manera perfecta, sin fisuras. BPMS es el paquete completo.

FrameWork

FrameWork es un concepto sumamente genrico, se refiere a ambiente de trabajo, y ejecucin, 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 construccin (ambiente de trabajo o desarrollo) y motores de ejecucin (ambiente de ejecucin).

FrameWork puede ser algo tan grande como .NET o Java (tambin es un framework), pero tambin el concepto se aplica a mbitos mas especficos, 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 libreras (APIs) para desarrollar aplicaciones Web , ms libreras para su ejecucin (o motor), y ms un conjunto de herramientas para facilitar esta tarea (debuggers, ambientes de desarrollo como Eclipse, etc).

Otros ejemplos de frameworks para mbitos especficos: mbito: Webservices => FrameWork: Axis. mbito: Interfaz de Usuario Web Dinmica => FrameWork: Ajax DWR Ambito: Procesos de Negocio => BPMS (WebSphere, AquaLogic, y Oracle)

Oracle BPM

Qu es Oracle BPM? Es un entorno de ejecucin de procesos de negocios de empresas y est compuesto de diferentes aplicaciones y servicios que pueden ser instalados y configurados en diferentes topologas para manejar diferentes escenarios, soportando diferentes usos. Un entorno BPM es la infraestructura tcnica en la cul se ejecutan procesos de negocio. Definimos entorno BPM como todos los componentes ejecutables (aplicaciones y servicios) que trabajan juntos para permitir la

Ejemplos de entornos Oracle BPM

Los siguientes grficos proveen una vista de alto nivel de diferentes partes. Estos grficos 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).

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

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

Ejemplo 3: entorno clusterizado a travs de Oracle BPM Enterprise for WebLogic

Componentes de un entorno BPM

Las cajas representan la ejecucin 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.

BPM Clients
Los clientes BPM son aplicaciones que interactan 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.

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 crticas 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 informacin a los usuarios finales. Es

Area de trabajo BPM

El "workspace" o area de trabajo BPM es lo ms importante en la aplicacin de usuario final. El area de trabajo BPM es a los procesos de negocio lo que el Outlook es al mail: la principal aplicacin de interaccin. El rea de trabajo BPM es un cliente PAPI y provee gran funcionalidad sobre estos: soporte a flujos de pantallas, tableros, diseos de pginas, etc. La aplicacin tambin permite adaptar la interfaz de usuario a travs de hojas de estilos y otras configuraciones. El rea de trabajo BPM puede confiar en el servidor web (Tomcat, Weblogic, etc) para autenticar y

Clientes Web Service (WS)

Pueden elegirse clientes WS entre dos servicios disponibles: los servicios "ProcessWS" expuestos por el motor BPM y la aplicacin "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 explcitamente como expuestas para ser agregadas al servicio. Tcnicamente, este

El servicio "PAPI-WS" expone la mayora de las operaciones de PAPI a travs de una interfaz SOA. Este servicio est separado de la aplicacin web PAPI-WS. Esta aplicacin se despliega como cualquier otra aplicacin 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

Servicios de soporte

Un nmero de servicios de soporte son requeridos para el entorno BPM, incluyendo base de datos, LDAPs y servidores web y J2EE. Los requerimientos de servicio especfico dependen de la configuracin, topologa, y el motor BPM.

Conexin a base de datos

Hay 2 maneras para que una aplicacin BPM pueda obtener conexin a la base de datos: directamente, va 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.

Recursos J2EE usados por el motor BPM

cada motor BPM requiere dos recursos de mensajera: una cola y un topic. Estos recursos JMS son necesarios para archivar funcionalidad Los servidores de aplicacin 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

Recursos J2EE usados por el motor BPM

El topic JMS se usa para enviar informacin 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

LDAPs

Son usados como fuente de informacin de la organizacin, especficamente usuarios, unidades organizacionales y grupos. Esta integracin es muy flexible y configurable.

Integracin funcional

BPM define usuarios, grupos y unidades de la organizacin en una estructura nica y bien definida. Esto difiere de cmo muchas organizaciones definen los conceptos. Por ejemplo, Oracle BPM define que un usuario solo puede pertenecer a una unidad de organizacin, asigna funciones a los usuarios y grupos, mientras que algunas organizaciones podran asignar funciones a la unidad organizativa. Es importante entender que en todos los casos la estructura LDAP tiene que

Anda mungkin juga menyukai