BPM vs BPEL

septiembre 27, 2013

share

Archived

Si existe una característica que distingue al mundo informático es el uso de siglas. Dos extremadamente comunes dentro del mundo IT (Information Technology) son BPM (Business Process Management) y BPEL (Business Process Execution Language). Ambos enfoques enfatizan la necesidad de contar con un modelo que describa las reglas del negocio del sistema y cómo la información y el control cambia de manos a medida que se procesa una determinada funcionalidad del sistema.

En lo que resta del artículo se profundizará sobre sus diferencias, los objetivos que persigue cada uno, y cómo pueden combinarse para lograr un sistema IT exitoso.

BPEL y BPM: Similitudes y Diferencias

Si bien ambos enfoques comparten el hecho de concentrarse en procesos de negocios, es importante a destacar sus diferencias. BPM es una metodología, un esquema que propone distintas actividades y herramientas para organizar, administrar y monitorear los procesos de negocio. Incluye descripción de actividades humanas, de gestión, y también, toda la parte relativa a la funcionalidad en sí del proyecto. En cambio, BPEL, es un lenguaje para describir cómo se conectarán e interactuarán los distintos servicios del sistema. Luego, se puede pensar a BPEL como una de las herramientas dentro de BPM. Adicionalmente, como se plantea en la referencia [1], al enfocarse BPEL en la composición de servicios, no provee funcionalidad para actividades de análisis y monitoreo.

En la referencia [2] se profundizan y se brindan más detalles respecto de distintas características que distinguen a un enfoque del otro. Al ser BPEL un lenguaje mucho más técnico, se requieren más conocimientos específicos de tecnología. En cambio, en BPM son más necesarios conocimientos de gestión.

La segunda distinción es respecto a herramientas gráficas. Mientras que BPEL no tiene asociada ninguna notación en particular, BPM puede ser modelado a través del lenguaje gráfico BPMN (Business Process Modeling Notation). Otra diferencia radica en el peso que tenga la interacción de servicios. En una interacción compleja de servicios es cuando se exhiben con más naturalidad las ventajas de emplear BPEL. En cambio, cuando hay mayor interacción humana en el proceso o en la toma de decisiones, un esquema BPM se adapta mejor. En cuanto al trabajo en equipo, BPM tiene mayor facilidad para incluirlo en sus outputs.

Sin embargo, también existen puntos de encuentro. Ambos esquemas promueven el desarrollo de procesos reusables, minimizando el acoplamiento y maximizando la interacción Finalmente, ambos manejan formatos XML, por lo que requieren ser traducidos a un lenguaje ejecutable para ser procesados.

Combinando BPEL y BPM

En la referencia [3] se describe un escenario donde ambos enfoques son utilizados de manera cooperativa, logrando así aumentar el potencial de cada uno. El contexto es dentro del ambiente Oracle, donde se combinaron Oracle BPEM and BPM en un proyecto para la describir la composición de servicios.

En primera instancia, se utilizó BPM para modelar los procesos de negocio, entendidos por todos los involucrados en el proyecto, los cuales tenían amplio conocimiento de los mismos: ejecutivos, gerentes, managers, expertos del dominio, analistas y desarrolladores. Luego, a través de un diagrama de flujo de actividad, se dio a conocer de manera intuitiva cuál era el problema a atacar y cómo el proceso resolvería el problema.

Se utilizó BPEL para denotar la composición de los servicios IT involucrados. Para exponer los procesos BPEL se recurrió al service bus (componente que permite comunicar componentes en una arquitectura orientada a servicios). Esto permitía invocar desde BPM funcionalidad especificada en BPEL. Alternativamente, de no contar con un service bus, se podría invocar al proceso BPEL directamente desde la herramienta Oracle BPM a través del catálogo oficial de servicios Oracle.

Conclusiones

Tanto BPEL como BPM se enfocan en modelar reglas y procesos de negocio. BPEL puede ser considerado un subconjunto de BPM, ya que este último ofrece toda una metodología más general. En algunas ocasiones pueden combinarse, e incluir llamadas a procesos BPEL dentro de la descripción de alguna actividad en BPM, como se mencionó en el ejemplo de Oracle. Esta misma colaboración es repetible en otras herramientas y tecnologías, no siendo algo que exclusivo de Oracle. Conociendo sus diferencias, y los objetivos de cada una, se logrará maximizar el potencial de emplear ambos enfoques en IT.

Referencias:
[1] http://www.experts123.com/q/whats-the-difference-between-bpm-and-bpel.html?utm_expid=13366266-1
[2] http://oraclesoabpm.blogspot.com.ar/2011/03/bpel-vs-bpm.html
[3] https://forums.oracle.com/thread/994735