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