Cómo elaborar procesos de negocios más inteligentes e impulsados por los eventos con la suite WebSphere BPM

Este artículo presenta los bloques de construcción de la arquitectura de procesos de negocios impulsada por los eventos, describe los tipos básicos de modelos secundarios en un modelo BPMN de extremo a extreme y discute las maneras de encarar los desafíos de modelado, programación y monitoreo de los procesos de negocios impulsados por los eventos. Usted aprenderá a modelar eventos como la información que pueden consumir los servicios y comprenderá la importancia del procesamiento de eventos de negocios en la gestión de procesos de negocios.

Sreekanth Iyer, Software Engineer

Sreekanth Iyer photoSreekanth Iyer es Senior IT Architect certificado por IBM y trabaja en el equipo Cloud Solutions - Best Practices de Tivoli®, en el IBM Software Lab de Bangalore. Lideró numerosas implementaciones de soluciones SOA y fue miembro principal en proyectos de investigación sobre el procesamiento de eventos para el IBM Software Group Architecture Board. Es Master Certified Senior IT Architect de Open Group, con más de 15 años de experiencia en la industria, de los cuales más de 10 transcurrieron en IBM.



Marc Fiammante, Distinguished Engineer, IBM

Marc Fiammante photoMarc Fiammante es IBM Distinguished Engineer de la oficina del CTO para Europa en el IBM Software Group. Tiene amplia experiencia en material de arquitectura de grandes proyectos y desarrollo de software en entornos múltiples.



03-08-2011

Generalidades

Con el creciente volumen de eventos y transacciones de negocios, los negocios tienen una necesidad cada vez mayor de ocuparse de grandes volúmenes de eventos subordinados al tiempo. Una empresa ágil y consciente de las situaciones debe poder detector y responder a estos eventos de negocios usando procesos de negocios impulsados por eventos. Los estilos arquitectónicos orientados a los servicios e impulsados por los eventos ofrecen rutas complementarias para la realización de una arquitectura de negocios que pueden ser modeladas, implantadas y gestionadas en una plataforma de middleware. Este artículo describe los bloques de construcción básicos de una arquitectura de procesos impulsada por los eventos, a saber, procesos, eventos, servicios y reglas en el contexto de la gestión de procesos de negocios y estos estilos arquitectónicos. Nos ocuparemos de la categorización de los procesos de negocios, así como los desafíos que se plantean en la gestión de flujos asincrónicos dinámicos y paralelos. Además, discutiremos los escollos del diseño y la visualización de sistemas que tienen procesos de negocios implícitos iniciados a través de eventos. Debido a que los procesos exponen y consumen servicios e información, resulta fundamental crear un ecosistema de arquitectura que se ocupe de estos aspectos.

En consecuencia, el método arquitectónico sugerido en este artículo modela los eventos que pueden consumir los servicios de manera que los procesos de negocios se puedan modificar en base a los eventos, incluso durante la ejecución, con el fin de tomar una ruta alternativa desde el modelo definido. Desde el aspecto del modelado y el análisis, muchas personas asumen un punto de vista centrado en los procesos y se pierden los aspectos centrados en la información (entidades y eventos). En este artículo, usted aprenderá en qué momentos se debe capturar esta información sobre eventos y entidades. Por último, nos ocuparemos de los métodos, los productos y las herramientas de IBM que soportan la creación, la gestión y el monitoreo de los procesos de negocios impulsados por eventos.


Procesos de negocios y tecnología de la información

Los negocios están diseñados para vender o intercambiar productos o servicios con los consumidores. Su meta consiste en gestionar las interdependencias entre personas, proceso e información con el fin de generar valor y beneficios económicos, con ganancias que excedan los costos. Por lo general, la generación de valor implica una serie de actividades que transforman un insumo en uno o más productos. Estos conjuntos de actividades pueden ser considerados como procesos de negocios, invocados en secuencias específicas que también se pueden dividir en múltiples subprocesos, que se combinan entre sí para alcanzar una meta de negocios específica. Estos procesos de negocios pueden involucrar pasos llevados a cabo por máquinas o seres humanos. Pueden ser de ejecución corta (por ejemplo, un proceso de transferencia de fondos que transfiere dinero entre cuentas) o de ejecución larga (por ejemplo, un proceso de apertura de cuenta). Con sus capacidades de procesamiento de información y su amplia variedad de opciones de conectividad, la tecnología de la información (IT) se ha convertido en la primera opción para la planificación, la implementación y la gestión de procesos de negocios.

Con la globalización y las nuevas tecnologías, el panorama de los negocios cambia con rapidez, y el mercado se vuelve, a menudo, incierto, si bien presenta numerosas oportunidades. Los ejecutivos buscan en IT una herramienta para tratar las cuestiones del crecimiento y la competencia, optimizar los procesos de negocios, reducir costos, y mejorar la calidad.

En un negocio instrumentado, interconectado e inteligente, se logra flexibilidad y ahorro de costos al consumir y exponer actividades que se vuelven variables. Esto significa realizar implementaciones de estas variables de actividades, que se conocen como mejores prácticas, teniendo en cuenta que un enfoque de variabilidad resulta fundamental para ofrecer mejores servicios a los consumidores con un menor consume de recursos. El enfoque “inteligente” significa que los negocios pueden además, extraer información y conocimientos al interpretar los datos en bruto, lo cual les permite realizar un análisis conductual de los sistemas del mundo real y seleccionar los mejores enfoques capturados en reglas y políticas.

Esta necesidad de interpretar y actuar sobre el significado de negocios incluido en los datos en bruto con agilidad comercial coloca un mayor énfasis en la alineación entre el negocio e IT. Las empresas buscan mejores maneras de brindar esta alineación, creando así funcionalidades de negocios reutilizables que se ocupen de la presión constante con el fin de brindar flexibilidad, ahorros en costos y eficiencia.


Procesos de negocios y servicios

Cada proceso de negocios constituye un esfuerzo por mejorar las operaciones y las funciones de la compañía. Los arquitectos y diseñadores de sistemas usan modelos de procesos de negocios para generar una arquitectura de sistemas que se implementa con el fin de materializar estos procesos de negocios. Hace casi diez años, comenzamos a proporcionar valor adicional a la empresa con procesos de negocios y servicios mediante la descomposición de los silos entre las líneas de negocios de un modo tecnológico y neutral y luego mediante la formalización de secuencias de interacción entre y dentro de estas líneas de negocios. Este enfoque contractual entre dominios de negocios y sus procesos de IT ha generado mejoras y ahorros de costos. Permite a las empresas concentrarse en la consolidación de la propiedad de la lógica y la información de negocios, y permite el control de procesos de negocios en toda la empresa.

La Arquitectura orientada a servicios, o SOA, es un estilo arquitectónico que formaliza el enfoque contractual para crear una arquitectura de IT empresarial que explota los principios de la orientación a los servicios con el fin de alcanzar una relación más cercana entre el negocio y los entornos tecnológicos a fin de optimizar el valor que tiene la tecnología para el negocio. SOA se realiza generalmente en el nivel empresarial, centrándose en las inversiones existentes, y apunta a evitar la duplicación de funciones y a lograr la consistencia. Una de las metas de SOA es hacer que los procesos de negocios se puedan hacer compuestos para permitir la agilidad del negocio. SOA se lleva a cabo mediante un conjunto de servicios alineados con el negocio que pueden participar y estar creados en una red de valor, una empresa o una línea de negocios ara cumplir con las necesidades del negocio. El elemento estructural primario de las aplicaciones SOA es un servicio, a diferencia de los sistemas secundarios, los sistemas o los componentes. Si usted toma en cuenta lo que el negocio hace diariamente y descompone sus procesos de negocios en tareas o componentes de negocios repetibles, entonces los servicios representan estos elementos repetibles o bloques de construcción que pueden unirse en un proceso de negocios.

No obstante, se deberán evitar diversos escollos para asegurar que el negocio logre el valor esperado:

  • El énfasis en la tecnología puede llevar a poner un menor énfasis en la validez para el negocio de los servicios expuestos, particularmente en relación con la evolución del negocio y los cambios del mercado.
  • El deseo de tener un control de la empresa de extremo a extremo puede generar confusión entre los niveles de automatización y monitoreo, y falta de alineación entre los procesos y la propiedad de los negocios empresariales. Cada propietario de negocios de la empresa debe conservar el control de sus propios procesos de negocios, mientras la cadena de estos procesos privados conectados a través de servicios o eventos de negocios materializa el proceso implícito de extremo a extremo.
  • La capacidad de reutilización implica flexibilidad y variabilidad, pero la tecnología de los servicios web en sí misma debe limitar la variabilidad para lograr interoperabilidad (especialmente el polimorfismo y la sobrecarga en WS-Interoperability (WS-I) y Service Component Architecture (SCA)). En consecuencia, el enfoque debe integrar variabilidad y observar específicamente los patrones de información variables para las firmas de eventos y servicios.

Tipos de procesos y sus interconexiones

No existe una única forma de proceso de negocios. A modo de ejemplo, la norma Business Process Modeling Notation (BPMN) define tres tipos básicos de categorías de modelos secundarios en un modelo de procesos de extremo a extremo:

  1. Los Procesos de colaboración describen los intercambios entre dos entidades de negocios independientes. Estos procesos describen los intercambios entre los distintos procesos y aseguran un buen comportamiento mutuo. Si hacemos una analogía ferroviaria, el proceso de colaboración asegura la sincronización gestionando las señales de los trenes para evitar colisiones, como se muestra en la Figura 1. Las señales son eventos para los conductores automovilísticos que inducen reacciones para una operación uniforme.
    Figura 1. Procesos de colaboración
    Procesos de colaboración
  2. Los Procesos abstractos (públicos) ofrecen una visualización de extremo a extremo desde el punto de vista de un participante, como por ejemplo la visualización de un ingeniero ferroviario que conduce todos los trenes pero deja la responsabilidad de cada coche a su conductor respectivo. Su única preocupación es la extensión general y el peso del proceso (tren), y el comportamiento de los vínculos. Los modelos abstractos se usan para crear el modelo de monitoreo de extremo a extremo al capturar los eventos que salen a la superficie de cada uno de los módulos más pequeños (los coches). A menudo se confunde este modelo de monitoreo, requerido por la gerencia de la empresa, con la automatización de los procesos que se necesita en los procesos privados, como se describe más adelante, que constituye los módulos más pequeños. El modelo de monitoreo puede actuar en base a los indicadores que controla.
    Figura 2. Procesos abstractos
    Procesos abstractos
  3. Los Procesos de negocios privados (internos) tienen un único propietario de negocios y por lo general se centran en una entidad central principal (del modelo de información). Son los únicos procesos que se deben automatizar con lenguajes tales como el Business Process Execution Language (BPEL). Cada coche es un proceso independiente y por lo general tiene un propietario de negocios diferente. Los propietarios de negocios definen los contratos entre sus procesos privados como servicios de negocios o eventos de negocios que actúan como vínculos entre los coches de los trenes. Todo proceso automatizado que tiene múltiples propietarios termina siendo inmanejable debido a los conflictos que siempre surgen en estos casos. La tecnología para cada módulo puede representarse de manera diferente como un coche o la locomotora. La gestión de relaciones con el cliente (CRM) puede ser de Siebel, la facturación puede ser de SAP, y la cadena de abastecimiento puede ser de WebSphere Process Server. Este modelo de monitoreo no requiere que las tecnologías sean iguales siempre y cuando se expongan los eventos adecuados para el modelo de monitoreo.

En un enfoque dinámico de procesos de negocios impulsados por los eventos, el tren se construye de manera dinámica cambiando los coches en función de las condiciones del entorno de negocios que se detectan.


Información, procesos, servicios, eventos, políticas y reglas

La Gestión de procesos de negocios (BPM) está conformada por soluciones que soportan la gestión del ciclo de vida de un proceso de negocios. BPM se trata de combinar procesos de negocios, IT, y experiencia humana para formar una unidad de negocios unificada que pueda ser modelada, implementada, monitoreada, analizada y optimizada. BPM requiere un mecanismo o lenguaje estandarizado, a través del cual los artefactos creados durante el modelado del proceso de negocios se puedan usar fácilmente durante el diseño y la implementación del sistema. BPEL es el lenguaje formal utilizado en la actualidad para el modelado de procesos de negocios, y ayuda a definir los artefactos del código del esqueleto que forman la base de la declaración de las interfaces de la aplicación y su implementación.

La mayoría de las organizaciones están impulsadas por los procesos y los datos que se mantienen relativamente constantes. Sin embargo, la información de negocios variable surge de interacciones, servicios y procesos, pero también de fuentes externas o de la instrumentación que genera nuevos eventos técnicos o de negocios. Un desafío importante que enfrentan las soluciones de BPM actuales es la capacidad de adaptar continuamente los procesos de negocios con el transcurrir del tiempo al entorno de negocios para seguir siendo sólidas y operacionales para los procesos de negocios críticos. Por ejemplo, es posible que a algunas organizaciones les convenga usar información impulsada por eventos para guiar e influir sobre los procesos de negocios. Esto requiere la capacidad de ocuparse diariamente de una cantidad cada vez mayor de eventos y transacciones de negocios para acelerar la toma de decisiones. Estos eventos se pueden producir dentro o fuera de la compañía. Los eventos de relevancia para el negocio deben ser identificados e introducidos en los sistemas de IT para que puedan procesar y actuar en base a las situaciones detectadas.

Los eventos transportan los datos que contribuyen a la información, los servicios luego consumen y generan información, y finalmente los procesos consumen servicios e información. La interconexión que brindan los servicios conecta estos eventos a los componentes que contienen la inteligencia y que son, en gran medida, procesos de negocios. En consecuencia, no es posible tener un enfoque que se ocupe de los procesos independientemente de los servicios y la información, y este es el motive por el cual la arquitectura empresarial debe mapear los tres aspectos al mismo tiempo para asegurar la coherencia de la implementación resultante. La infraestructura de IT complementa la arquitectura empresarial brindando soporte a los servicios técnicos básicos que consumirán las aplicaciones. La diferencia entre un servicio técnico y un servicio de negocios es que el servicio técnico no pertenece a un dominio en particular. A modo de ejemplo, un servicio de conexión es ubicuo y no es específico de una entidad de negocios en particular, mientras que el servicio de gestión de clientes pertenece a la línea de negocios “relaciones con el cliente”.

La típica plataforma de SOA se enfoca en orquestar centralmente los servicios activados por un requerimiento de procesos de negocios de un modo determinista. Esta plataforma se debe extender para representar eventos que se producen en o fuera de los procesos de negocios específicos y para introducir acciones oportunistas que correspondan a las situaciones de negocios que requieren acciones. Estos eventos complejos son más comunes en entornos de muchas transacciones, y pueden ser generados por los servicios implementados. Por ejemplo, un proceso de negocios puede producir un cambio significativo en el estado de algunas entidades de negocios. Puede generar un evento de alerta sobre un cambio de estado, y luego hacer que otro servicio reaccione ante esta alerta. Por ende, los servicios y, por extensión, los procesos de negocios pueden ser productores y consumidores de eventos. La capacidad de generar, recibir y consumir fácil y eficientemente datos de eventos en tiempo real dentro y fuera de la organización es un componente crítico de casi todos los planes de negocios y de IT. Para ocuparse de este requerimiento, BPM activado por SOA debe contar con soporte para servicios impulsados por eventos.

Como usted puede ver, la arquitectura impulsada por eventos y la arquitectura orientada a servicios no constituyen enfoques opuestos. Los eventos pueden dispara servicios y los servicios pueden generar eventos, de manera que ambos forman parte de un enfoque común. Una distinción más adecuada es entreoportunistaydeterminista. En un enfoque determinista, el emisor de la llamada del servicio o evento espera una acción específica y entrega la función adecuada. En un enfoque oportunista, el emisor del evento no espera una acción específica, y es responsabilidad del receptor decidir la toma o no de acciones en base al evento o a la combinación de eventos. Tanto en el enfoque determinista, modularizado, como en el oportunista, el proceso de extremo a extremo es como un tren con varios coches en marcha.

En este contexto, Business Event Processing (BEP) determina estas acciones sobre las que se actuará detectando, evaluando y estableciendo una correlación entre los eventos sobre la base de la lógica definida por el usuario. Cuando se descubre una situación sobre la que se debe actuar, se llama a un servicio adecuado, que luego vuelve a generar o comunicar una o más acciones con los datos requeridos a través de la red de IT. BEP determina cuándo es necesaria la acción en base a las políticas de negocios y a la lógica de procesamiento de eventos. Las políticas y reglas se definen usando un vocabulario que define los aspectos de negocios, la información y las aplicaciones o servicios. Resulta fundamental crear este vocabulario común para que la empresa pueda externalizar la variabilidad de procesos, servicios e información en políticas y reglas.

Una de las tendencias emergentes en la gestión de integridad de negocios es que los negocios en evolución desarrollen una visión consistente e interdependiente no sólo de sus políticas y procesos sino también de su información o entidades centrales. Es necesario contar con una única definición semántica de las entidades centrales, que se mantenga en todos los niveles de la empresa, para gestionar la integridad de la información.

Figura 3. Visión centrada en las entidades de BEP
Visión centrada en las entidades de BEP

Si bien los cambios de estado de las entidades de negocios durante sus ciclos de vida pueden disparar eventos de negocios, la comunicación entre estas entidades se puede implementar como invocaciones a servicios.

Al unir todos estos conceptos, la Figura 4 muestra de qué manera las capacidades específicas de las reglas de negocios, el procesamiento de eventos, el ensamble dinámico de servicios y el monitoreo de actividades de negocios (BAM) son necesarios para crear procesos de negocios impulsados por eventos.

Figura 4. Conozca qué sucede, cuándo actuar, qué hacer y cómo hacerlo
Conozca qué sucede, cuándo actuar, qué hacer y cómo hacerlo

Procesos de negocios impulsados por eventos

Técnicamente, un proceso de negocios impulsado por eventos puede definirse como un proceso que se puede modelar, implementar, implantar y, lo que es más importante, cambiar rápidamente como respuesta a los eventos de negocios. Lógicamente, es una implementación en la cual los servicios que se ejecutan de manera distribuida en toda la red son capaces de responder de modo independiente a eventos que ejecutan servicios de negocios que se pueden controlar de manera central. En base a los eventos, los procesos de negocios se pueden modificar incluso durante la ejecución para que tomen una ruta alternativa de la definida en el modelo. El proceso de negocio se vuelve implícito cuando el efecto de extremo a extremo del proceso es producido por una cadena de proceso explícitos más pequeños en la cual cada módulo tiene un único propietario con control sobre dicha porción.

El modelo de análisis captura la secuencia de las interacciones públicas e internas que forman el proceso de negocios. Adicionalmente, para los procesos de negocios impulsados por eventos (nivel 2a de la Figura 5) en el análisis, usted debe capturar los eventos de negocios clave que podrían afectar al proceso de negocios. De manera similar, el modelo de diseño por lo general captura la representación en tiempo de ejecución de un proceso de negocios junto con los detalles de interacción humana para el proceso. El modelo de diseño captura también el flujo técnico involucrado en el ciclo de vida del proceso. Durante el modelado de diseño de los procesos de negocios impulsados por eventos, es importante capturar los eventos técnicos, individual o colectivamente (nivel 3a) que representan los eventos de negocios capturados como parte del modelo de análisis.

Figura 5. Modelo de diseño y análisis para un evento de negocios impulsado por eventos
Modelo de diseño y análisis para un evento de negocios impulsado por eventos

La Figura 6 muestra los pasos del típico ciclo de vida de un proceso de negocios impulsado por eventos.

Figura 6. Ciclo de vida de un proceso de negocios impulsado por eventos
Ciclo de vida de un proceso de negocios impulsado por eventos

Productos IBM para construir procesos de negocios impulsados por eventos

La siguiente tabla resume algunos de los productos de middleware y de las tecnologías clave de IBM® disponibles para crear procesos de negocios impulsados por eventos.

CapacidadProductoDescripción
Modelado de negociosWebSphere Business Modelerofrece vistas personalizables y basadas en roles de los procesos para una toma de decisiones más veloz e inteligente
Entorno en tiempo de ejecución de los procesos de negociosWebSphere Process ServerAutomatiza los procesos d negocios que abarcan personas, flujos de trabajo, aplicaciones, sistemas, plataformas y arquitecturas.
Procesamiento de eventos de negocios
WebSphere Business EventsEstablece correlaciones entre eventos o patrones de eventos y notifica a otros procesos, iniciando su ejecución.
Gestión de reglas de negociosWebSphere ILOG JRulesImplementa las reglas de negocios usadas para automatizar las decisiones o las recomendaciones de negocios en un servicio o proceso.
Monitoreo de actividades de negocios
WebSphere Business MonitorCaptura, acumula, mide y muestra KPIs, y da inicio a alertas cuando se superan ciertos umbrales.
Políticas de negocios y ensamble dinámico de serviciosWebSphere Business Services FabricEnsambla y cambia de manera dinámica los procesos de negocios basados en SOA.

Resumen

En resumen, los estilos arquitectónicos orientados a servicios e impulsados por eventos ofrecen rutas complementarias para la materialización de procesos de negocios impulsados por eventos. En este artículo, usted aprendió sobre algunas de las maneras en que los servicios pueden consumir eventos para construir procesos de negocios más inteligentes. El artículo describe, además, un método para crear el modelo de análisis y diseño para el desarrollo de los procesos de negocios impulsados por eventos.

Recursos

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=WebSphere
ArticleID=497043
ArticleTitle=Cómo elaborar procesos de negocios más inteligentes e impulsados por los eventos con la suite WebSphere BPM
publish-date=08032011