Este artículo describe el marco estructural en el contexto de BPM y SOA (Service Oriented Architecture). A pesar de que BPM y SOA se desarrollaron como iniciativas independientes, existe actualmente una tendencia clara de interés en el mercado por estos dos conceptos que se apoyan en una tecnología común basada en servicios:
• BPM como disciplina de gestión de procesos y como conjunto de herramientas tecnológicas que apoya su análisis y operaciones.
• SOA como arquitectura tecnológica que puede implementar o automatizar procesos aportando flexibilidad y reutilización de la infraestructura de TI existente y en el desarrollo de nuevas componentes.
En general, la orientación al servicio proporciona la capacidad de interoperar con aplicaciones y con agentes externos (instituciones, clientes, proveedores, etc.) de forma flexible e invocarlos mediante llamadas de servicios. SOA estandariza las funciones genéricas usadas por muchas aplicaciones expresándolas en forma de servicios reutilizables. Uno de los objetivos principales del concepto de SOA es que cualquier futuro cambio se realice de forma transparente, causando efecto sólo a las funciones y unidades afectadas. Si se logra esta capacidad aumenta la agilidad de negocio de una organización.
En el contexto de BPM tenemos una capa que llamaremos BPA (Business Process Analysis) que define la estrategia, una subcapa de diseño y control y una parte de la capa de implementación, que denominaremos BPE (Business Process Execution). La primera capa define la estrategia y la redefine. Los estrategas están mirando el entorno y van adaptando los productos y servicios de la empresa a la demanda de éste. Si la adaptación es exitosa hablamos de eficacia. En este sentido la eficacia no es otra cosa que adaptación exitosa al entorno. La segunda capa define cómo lo hago (el qué) que es la etapa de diseño. El diseño tiene como “input” dos aspectos a considerar: la estrategia y el análisis del comportamiento del negocio. Puede ocurrir que se requiera de una adaptación de los sistemas reales o que se requiera de una adaptación de la estrategia. La segunda capa, también BPE, abarca la implementación tecnológica de los procesos diseñados de acuerdo a la estrategia. Esta capa tiene una responsabilidad compartida. La capa de negocio tiene la responsabilidad de entregar una especificación (modelo de procesos independiente de la tecnología) automatizable (lógica de negocio) y la capa de tecnología tiene la responsabilidad de llevarlo a un modelo técnicamente ejecutable (BPE) (Ver Diagrama).
El diagrama muestra la relación entre las componentes de las capas en el marco estructural de la arquitectura descrita.
En la capa BPE nos encontramos con los famosos BPMS (Business Process Management Suite) los cuales según el producto, como lo indica la palabra “suite”, contienen varias componentes; la más importante el motor de procesos que ejecuta los modelos técnicos de los procesos. Las plataformas o suites más completas e integradas incluyen todas las componentes necesarias para:
• Modelar el flujo de procesos que se ejecutará (Process Modeler).
• Crear formularios dependiente o independiente del modelador técnico (interfaz de usuario).
• Ejecutar las instancias del modelo representado con un motor de procesos.
• Configurar el cuadro de mando (BAM – Business Activity Monitoring).
• Editar y ejecutar reglas de negocio (BRMS – Business Rules Management Systems).
• Invocar y orquestar servicios con aplicaciones a través de un bus de servicios (ESB – Enterprise Service Bus).
La capa de SOA interactúa a través de un bus de servicios (ESB) con el motor de procesos. En este modelo de arquitectura el usuario no tiene contacto directo con las aplicaciones, sólo por medio del BPMS. El motor de procesos es el dirigente de la lógica de negocio implementada y entrega los servicios de las aplicaciones invocadas y orquestadas por el ESB a través de “actividades de usuario” al usuario. En la capa de SOA el ESB actúa como un intermediario entre el motor de procesos y las aplicaciones. ESB define el “core” de comunicación de la arquitectura SOA, cómo se implementan las capas, y se organiza la comunicación. Una componente importante en una SOA Suite es el repositorio SOA, el cual se encarga de administrar el ciclo de vida de los servicios y de llevar un registro en dónde se utilizan y en qué servicios.
También podemos incorporar a una arquitectura de BPM y SOA un ambiente analítico de minería de procesos que le llamaremos “Process Mining and Controlling (PMC)”. Process Mining se puede concebir como un sub-área del data mining. El objetivo del data mining es extraer, de grandes fuentes de datos (data), conocimiento. El objetivo específico del Process Mining es descubrir el comportamiento de los procesos en la realidad y compararlo con los modelos. A partir de este conocimiento se pueden crear nuevos modelos más asertivos y eficientes.
Finalmente el término “controlling” en este contexto nos indica que los resultados analíticos son un “input” para el análsis de control de gestión y que junto a los indicadores del BAM sirven para descubrir porqué suceden desviaciones frente al comportamiento deseado y, de esta forma, obtener información de cadenas de causa y efecto que permiten un nuevo análisis de un rediseño tendiente a mejorar la calidad y el rendimiento de los procesos.
Sobre el autor
Bernhard Hitpass Heyl es autor del libro BPMN 2.0 Manual de Referencia y Guía Práctica y del libro Business Process Management (BPM) Fundamentos y Conceptos de implementación, cuya primera edición se presentará en el Seminario de BPM de la USM en Abril de 2012.