miércoles, 27 de marzo de 2013

¿Qué es BPEL?


Siempre ha existido una necesidad continua en las empresas para integrar los sistemas y aplicaciones que utilizan los procesos de negocio. Con el surgimiento de la tecnología de servicios web se ha hecho más fácil solucionar este problema con las aplicaciones y sistemas disponibles dentro de la empresa y también haciendo posible la publicación de estas funcionalidades para que puedan ser consumidas por externos. La primera fase de la evolución de los servicios web es establecer las bases para la descripción, publicación y distribución de los servicios web, esto incluye los protocolos de transporte de internet (HTTP, SMTP, HTTPS, ETC), los modelos de datos (basados en XML), el intercambio de mensajes (SOAP), la descripción de las operaciones de servicio y tipos (WSDL) y la publicación y descubrimiento (UDDI).

Ninguna de estas especificaciones de los servicios esenciales web (SOAP, WSDL, UDDI, ETC) se habían diseñado para proporcionar mecanismos por sí mismos para describir cómo los servicios web individuales se pueden conectar para crear soluciones empresariales fiables y seguras con el nivel adecuado de complejidad, es aquí donde se asociaron empresas como IBM, Microsoft, BEA, Oracle; con el objetivo de crear un Lenguaje de Ejecución de Procesos (BPEL).

Se considera que la tecnología de servicios web nos está envolviendo cada vez mas y nos está obligando a conocer la compleja necesidad de los clientes. La habilidad de integrar y ensamblar Servicios Web en estándares basados en procesos de negocios es un importante elemento del servicio orientado a empresas y BPEL integra muy bien los servicios Web.

BPEL son las siglas de  Lenguaje de Ejecución de Procesos de Negocio. Lo podemos definir como un estándar basado en XML diseñado especialmente para la “orquestación” de servicios Web.

El orquestamiento de servicios web es la forma ordenada en el que los servicios web se  ejecutan de tal manera que cumplan con una funcionalidad coherente para el negocio. Esto significa que permite el control centralizado de la invocación de diferentes servicios Web con cierta lógica de negocios, definiéndose cuál, cómo y cuándo se ejecutará un proceso determinado.

Entonces, BPEL es un estándar diseñado para integrar una variedad de aplicaciones y conseguir los objetivos de negocio independiente de las plataformas y tecnologías con mayor escalabilidad y flexibilidad. BPEL se convierte en el pegamento para enlazar los servicios web dentro de soluciones del negocio.

Cuando un proceso de negocio es ejecutado mediante la interacción de servicios Web significa que gracias a BPEL existirá una interfaz única para soportar mensajes XML, independiente de las plataformas asociadas, con lo cual se evita tener que usar múltiples protocolos y formatos e interfaces distintas. Aunque no todas las actividades están actualmente implementadas como servicios Web en las organizaciones, sus efectos a nivel interno son tangibles, puesto que ayudan a simplificar y hacer más veloz la interacción y la ejecución de un proceso de negocio. Un proceso de negocio usando BPEL puede orquestar muchos servicios web y efectivamente crear aplicaciones nuevas y completas, con sus propias interfaces públicas para los usuarios finales.

BPEL provee un motor de orquestación para describir cambios de información interna o externamente. BPEL maneja de manera muy explícita los aspectos funcionales de los Procesos de Negocios utilizando funciones como bucles, tareas humanas, compensaciones, secuencias paralelas, conversaciones o transacciones asíncronas o síncronas, largas unidades de trabajo, etc. BPEL apunta principalmente a los cambios de un proceso de negocio, comunicaciones con servicios de manera asíncrona, envió de mensajes, cambio de mensajes, flujos paralelos de actividades, manipular datos a través de interacciones con otras herramientas, soporta grandes transacciones de negocios y actividades y provee consistentes manejos de excepciones.

Al usar BPEL para definir procesos de negocios muchas compañías se han fortalecido por seleccionar e incorporar lo mejor del mercado para sus procesos ya que obtienen flexibilidad para reemplazar o actualizar ciertos aspectos en el negocio sin impactar a los sistemas que utilizan y que se encuentran trabajando bien. Por nombrar una compañía puede cambiar de proveedor de servicios sin impactar el orden de manejos de sistemas incluso los mismos empleados que participen en procesos importantes.

En la actualidad los servicios Web son un tema especial para el comercio y la integración. Las compras, las solicitudes, los mensajes, etc., solo un conjunto de datos a considerar y que son vía Servicios Web por mencionar algunos.

BPEL está basado en un lenguaje XML que permite a los usuarios a conectarse vía servicios web facilitando la orquestación e interacción.

En términos más técnicos, BPEL es un lenguaje de flujo de procesos, el cual será desarrollado normalmente usando un editor visual para crear un diagrama de flujo. lo anterior incluye esperar por un evento, transformarlo en mensaje, definir la trayectoria y momento en el que proceso se ejecutará, invocar un servicio externo y esperar respuesta, advertir alguna falla y definir un proceso compensatorio si corresponde. El proceso compensatorio es muy importante porque durante un proceso de negocios un servicio externo puede ser llamado y dicho servicio completará y hará los cambios necesarios, en caso de que el estado siguiente del proceso falle, realizándose otras transacciones para solucionar el problema eventual.

A continuación una "orquestación" realizada con la herramienta de BPEL proporcionada por Oracle:



No hay comentarios:

Publicar un comentario

Oracle ACE Director Award - Deiby Gómez

Thanks #OracleACE Program for this awesome certificate recognizing the work I have done in the community for the last year. Looking forwa...