jueves, 18 de diciembre de 2008

BPEL y BPMN

Los sistemas de soporte operacional en las empresas están basados en procesos que conforman su cadena operativa, cadenas de valor, de negocio, etc. soportando por ejemplo, los ciclos para la gestión de clientes, productos, servicios, recursos humanos, contabilidad, finanzas, administración, presupuesto, facturacion, etc.

La agilidad operativa en la administración de estos procesos, es un diferenciador competitivo vital y una de las principales características que una organización necesita para poder adaptarse a los continuos cambios de negocio. El éxito dependerá de la rapidez con la cual las organizaciones puedan adaptarse a estos cambios y al correcto uso de las herramientas tecnologicas que facilitan su control.

Por lo general, las empresas tienen analistas de negocio, que definen y establecen los ciclos y los procesos de negocio. Su función es mejorar, iterar y optimizar los procesos, equilibrar los requerimientos con los objetivos de la organización, etc. Tradicionalmente los analistas han utilizado herramientas para modelar y representar los procesos. Luego estos procesos son desplegados en alguna tecnología que pueda ejecutarlos y crear una representación técnica basada en un lenguaje de programación.

Resumiendo, el proceso se modela en una herramienta grafica, creando una representación de los procesos de alto nivel, como el modelo no trae un ejecutable directamente, los programadores deben crear componentes que implementan los procesos sobre una tecnología específica y basada en su comprensión del proceso.

Los procesos desarrollados de esta manera son muy susceptibles a errores de comprensión, errores de codificación, debido a la desconexión existente entre el modelo de alto nivel y el proceso ejecutable. En este tipo de soluciones, un cambio implica un impacto significativo, es necesario por ejemplo, reescribir código, cambiar el modelo, etc., además es difícil obtener métricas para medir el estado actual y las condiciones de negocio vigentes. entonces aqui se dice que "Problemas de diseño extremo, soluciones de programacion extremas", asumiendo en este caso una metodologia agil para el desarrollo de software (Scrum y XP).

Problemas con este modelo de implementación.

  1. Los procesos desarrollados de esta manera son muy susceptibles a errores de comprensión y errores de codificación.
  2. Existen grandes brechas entre el modelo y su implementación técnica.
  3. Un cambio implica un impacto significativo en la infraestructura TI de la organización, porque los procesos están cableados en el código.
  4. Las reglas de negocio, están altamente acopladas a los procesos.
  5. Mantenerlos es extremadamente engorroso, difícil y costoso.
  6. Debido a los continuos cambios, los procesos pierden vigencia continuamente y pueden llegar a convertirse en piezas incomprensibles, con un nivel de detalle que aprisiona la agilidad.
  7. No podemos automatizar los cambios de políticas.

Una Solución

Para solventar estos problemas, los gerente de IT utilizan una solución basada en modelos, con una alternativa de implementación mas abierta y estándar: BPM y BPEL.

BPEL es el estándar de la industria que representa y ejecuta procesos del negocio, bpel permite una abstracción lógica del proceso, del modelo de implementación o tecnología. BPEL esta basado en una notación XML que permite representar los procesos de negocio, uno de los ides que implementa muy bien esta tecnologia es Netbeans de la version 5.5 en adelente, y su propio motor de procesos asociado a Glassfish.

Otro estándar, Business Process Modeling Notation (BPMN), es una especificación que proporciona una notación que todos los usuarios y clientes los puedan entender, los analistas bosquejan inicialmente los procesos para que los desarrolladores lo ejecuten en algun motor, como Jboss BPM.

Con BPEL y BPMN, un analista puede utilizar una herramienta para modelar el proceso y construir el proceso usando BPMN. El modelo del proceso BPMN genera automáticamente un entorno para BPEL, donde se establecen metadatos, reglas de negocio, bifurcaciones, flujos de trabajo, participantes, punto de decisión, contextos de pool y lane, etc.

Beneficios

  1. Simplifica la comunicación y colaboración entre los arquitectos, analistas y desarrolladores.
  2. Habilita y disponibiliza el concepto de SOA en la organización.
  3. BPEL proporciona un modelo rico en operaciones como el manejo de excepciones, reglas de negocio, transaccionalidad, logica, etc.
  4. La visión lógica no demuestra los detalles subyacentes de la puesta en práctica.
  5. Cambios no afectan la representación total del proceso.
Ingresaremos luego a este mundo, con ejemplos practicos para su correcta implementacion.

Saludos y Suerte !!

No hay comentarios: