Líneas de comentarios: Modelado para la ejecución: Revisión

La técnica de modelado para la ejecución se usa con bastante frecuencia en el diseño de soluciones de gestión de procesos de negocios (BPM). Este artículo resalta la evolución en la forma de pensar sobre cómo aplicar este concepto en entregas exitosas de proyectos BPM. This content is part of the IBM WebSphere Developer Technical Journal.

Peter Xu, Senior Managing Consultant, IBM

Peter Xu es Senior Managing Consultant de IBM Software Services for WebSphere. Trabaja directamente con los clientes más importantes de IBM y los ayuda a diseñar e implementar soluciones basadas en SOA en una amplia gama de ofertas de software de IBM. Además, se especializa en el análisis de procesos de negocios, el modelado para la ejecución y las soluciones BPM de extremo a extremo. Peter también es Experto en BPM certificado por OMG (OCEB Business Track Advanced).



03-08-2011

Modelado para la ejecución y BPM

Un artículo anterior del año 2008 discutía la metodología de modelado para la ejecución en el contexto de las herramientas de gestión de procesos de negocios de IBM® WebSphere®. Un artículo posterior del año 2009 describía las mejoras realizadas en la versión V6.2 de la pila de productos BPM de IBM, que logran que el proceso de modelado para la ejecución sea mucho más fácil. Ahora, en el año 2010, gracias a la experiencia que tenemos en casos reales de implementación en el campo y a algunos nuevos estándares industriales emergentes en la gestión de procesos de negocios, es el momento indicado para volver a revisar este tema.

¿Qué es el modelado para la ejecución?

El modelado para la ejecución no es un concepto nuevo, ya que este enfoque se viene usando para el desarrollo de sistemas y software tradicional desde hace ya bastante tiempo. Esta técnica siempre comienza con un modelo independiente de la plataforma (PIM) de alto nivel que se suele expresar en algún tipo de lenguaje visual. Luego, a este modelo se lo puede traducir o transformar en un modelo específico a la plataforma (PSM) en un lenguaje de programación en particular para una plataforma específica. Luego, esto se puede compilar o interpretar para la ejecución. De hecho, esta metodología usa los principios de la Arquitectura Impulsada por Modelos (MDA) de Object Management Group (OMG). La Figura 1 le muestra la relación existente entre los modelos.

Figura 1. Transformación del modelo
Transformación del modelo

La arquitectura impulsada por modelos comienza con la idea muy conocida y ampliamente establecida de separar la especificación de la operación del sistema de los detalles de cómo dicho sistema usa las capacidades de su plataforma. Los tres objetivos principales de MDA son la portabilidad, la interoperabilidad y la capacidad de reutilización por medio de la separación arquitectónica de las cuestiones.

La entrega de la solución BPM es una nueva forma impulsada por los negocios y centrada en el proceso de entregar aplicaciones. Además, puede y debería usar las mejores prácticas que hemos aprendido en las últimas décadas de desarrollo de software e ingeniería de sistemas. Los principios MDA son ciertamente aplicables en este caso pero, como la entrega de la solución BPM es exclusiva porque pone más énfasis sobre el diseño de negocios interactivos y requiere una mayor participación de los analistas y los usuarios de negocios, deberíamos tener en cuenta algunas consideraciones especiales al momento de adoptar las técnicas de modelado para la ejecución.


Aplicación del modelado para la ejecución con WebSphere BPM

Muchas compañías usan la metodología de modelado para la ejecución y las técnicas para la entrega de soluciones basadas en la suite de productos WebSphere BPM desde hace ya varios años. La Figura 2 ilustra la transición típica del modelo de negocios al modelo técnico de negocios y al modelo de implementación.

Figura 2. Del modelo de negocios al modelo de implementación
Del modelo de negocios al modelo de implementación

La Figura 2 le muestra tres fases:

  • Un analista de negocios o un arquitecto de procesos de negocios crea un modelo de negocios en IBM WebSphere Business Modeler (ya sea en modo Básico o Avanzado). Gráficamente, el modelo de negocios representa el proceso de negocios y usa una semántica relevante para los analistas de negocios y los expertos en la materia. El modelo de negocios también se puede usar para simulación.
  • Un analista técnico de negocios o un arquitecto técnico de procesos refina el modelo en el modo IBM WebSphere Process Server, lo que produce un modelo técnico de negocios que representa gráficamente el proceso de negocios para la implementación y comienza a transformar la semántica de negocios en la semántica técnica. El analista técnico de negocios exporta el modelo técnico de negocios desde WebSphere Business Modeler como un archivo de intercambio de proyecto, que es un archivo .zip que incluye todos los artefactos de tiempo de ejecución que constituyen el modelo de implementación.
  • Un arquitecto de procesos o un desarrollador de integración importa el modelo de implementación a IBM WebSphere Integration Developer. El modelo de implementación representa gráficamente el proceso de negocios a implementar. El desarrollador de integración refina todavía más el modelo y completa la transformación de la semántica de negocios en la semántica técnica.

Lo importante a tener en cuenta en este caso es que, mientras se trabaja dentro de WebSphere Business Modeler, los modelos subyacentes se representan como un modelo de proceso de modelo del objeto de negocios (BOM) específico al modelador. Cuando usted exporta el modelo como un archivo de intercambio de proyecto, estos modelos de proceso BOM se transforman en modelos de proceso BPEL, que son la semántica con la que usted trabaja en WebSphere Integration Developer.


Mejora del proceso de desarrollo

Los usuarios han podido entregar soluciones WebSphere BPM de manera exitosa usando el enfoque de modelado para la ejecución (especialmente, en el área de procesos orientados a servicios y centrados en la integración). Esto se logra usando BPEL como el modelo específico a la plataforma (PSM) subyacente transformado desde el modelo de procesos de negocios. BPEL es un estándar industrial abierto y un lenguaje de orquestación de procesos probado que se concentra principalmente en la integración de servicios web. Muchas compañías tienen aplicaciones de proceso críticas para su misión que están basadas en BPEL ejecutado en producción (lo que ofrece el rendimiento, la seguridad y la integridad de la transacción requerida).

Mientras que el enfoque actual de modelado para la ejecución de WebSphere le ofrece soluciones robustas desde la perspectiva del tiempo de ejecución, todavía se pueden realizar mejoras en lo que hace al proceso de desarrollo (especialmente, en el área de la sincronización del modelo en el desarrollo iterativo).

La Figura 3 le muestra cómo las herramientas actuales se ocupan de esta situación.

Figura 3. Proceso de desarrollo iterativo con herramientas BPM de WebSphere
Proceso de desarrollo iterativo con herramientas BPM de WebSphere

Como puede observar, este proceso puede ser bastante complejo e involucrar varias pasos manuales que, simplemente por su naturaleza, son propensos a sufrir errores. La experiencia práctica de los usuarios también nos sugiere que este enfoque puede llegar a ser desafiante en el caso de cambios muy frecuentes o de grandes grupos de modificaciones. A esto se lo suele conocer como el "problema de viaje de ida y vuelta". Por supuesto que esta situación no es exclusiva de la pila de productos BPM de WebSphere. La sincronización del modelo siempre será un desafío cuando usted realice la transformación del modelo entre dominios diferentes con una semántica diferente.

Han surgido algunas mejores prácticas para el modelado para la ejecución. Una de ellas consiste en minimizar los cambios realizados al módulo de lógica de negocios en WebSphere Integration Developer, lo que representa el modelo de negocios. Como los elementos en el módulo de lógica de negocios realizan el mapeo directamente hacia los elementos en WebSphere Business Modeler, usted debería realizar los cambios en WebSphere Business Modeler. En particular, usted debería minimizar los cambios estructurales que afecten a sus procesos.

Las recomendaciones de este tipo le pueden resultar útiles para minimizar la necesidad de realizar la sincronización del modelo. Sin embargo, estas recomendaciones no eliminan esta necesidad por completo (lo que nos lleva a un enfoque alternativo).


El modelo compartido y el enfoque de Lombardi

El software de Lombardi, uno de los principales proveedores de servicios y software de BPM adquirido por IBM al principio de este año, tiene un enfoque diferente en lo que se refiere al modelado para la ejecución. Este enfoque consiste en conservar la misma forma del modelo a través de todo el ciclo de vida del proceso. La Figura 4 le muestra la arquitectura de la suite BPM de Lombardi Teamworks.

Figura 4. Enfoque de modelado para la ejecución de Lombardi Teamworks
Enfoque de modelado para la ejecución de Lombardi Teamworks

Como se puede observar aquí, todos los elementos del proceso definidos en Teamworks se almacenan en un solo Modelo Compartido, que representa todos los elementos de un proceso (desde los diagramas del proceso hasta los datos de negocios, las interfaces de usuario y la integración del sistema). Con la arquitectura del Modelo Compartido, los cambios realizados en un elemento del proceso (dependiendo de los privilegios de acceso) son inmediatamente visibles y accesibles para los demás elementos del proceso. Esto ofrece visibilidad instantánea a las interdependencias entre los elementos del proceso, lo que permite una mejor comunicación entre los diseñadores del proceso y ayuda a mejorar la calidad del proceso.

¿Por qué esto es importante para el modelado para la ejecución? Como el modelador y el desarrollador de negocios (como se puede observar en la Figura 4) trabajan en el mismo modelo de proceso subyacente compartido (sólo que lo hacen desde puntos de vista y perspectivas diferentes), el modelo nunca perderá la sincronización y, por lo tanto, el problema de viaje de ida y vuelta desaparecerá. Este paradigma alentaría un desarrollo más iterativo y ágil, caracterizado por una estrecha colaboración entre la TI y los involucrados en los negocios.


Conclusión

Ahora, contamos con dos estrategias diferentes para el modelado para la ejecución:

  • Transformar los modelos para optimizar el comportamiento del tiempo de ejecución.
  • Compartir el modelo durante todo el ciclo de vida del proceso.

¿Cuál es mejor? La respuesta siempre dependerá del tipo de procesos de negocios que usted esté implementando y de los factores que le resulten más importantes (como, por ejemplo, el soporte del desarrollo iterativo y ágil, el soporte del viaje de ida y vuelta, la robustez del tiempo de ejecución, la mejora continua del proceso, la facilidad de uso para alentar la colaboración entre la TI y los negocios, etc.).

Esperamos que esta información lo ayude a ampliar su forma de pensar y su proceso de toma de decisiones para seleccionar la metodología y las herramientas adecuadas según sus necesidades específicas.

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=491263
ArticleTitle=Líneas de comentarios: Modelado para la ejecución: Revisión
publish-date=08032011