lunes, 19 de mayo de 2008

Capitulo I: La organización y la estrategia

Desde hace algunos meses, he estado escribiendo mis apreciaciones sobre el proceso necesario para implantar las diversas disciplinas que comprenden BPM. Mi objetivo es lograr escribir un libro con las mejores practicas. Estas son mis primeras notas.

Capitulo I: La organización y la estrategia

Para asegurar la diseminación de la gestión de procesos de negocio en la organización, es vital desarrollar un conjunto de estrategias que minimicen la resistencia al cambio y maximicen las posibilidades de éxito de su inserción en la cultura organizacional.

Una de las estrategias que debe ser considerada es la creación de un comité extendido de procesos que represente y contenga el conocimiento de todos los procesos de la organización, el cual estará conformado por expertos en cada una de las áreas operativas. La facilitación dentro de este comité debe sustentarse sobre la proposición y la toma de decisiones concertadas y la creación de equipos más que grupos de trabajo.

Antes de comenzar un proyectos BPM es importante considerar:
  1. Creación de un Comité Extendido de Procesos.
  2. Realizar un diagnostico Preliminar del estado de la documentación de procesos.
  3. Establecer un Marco de Referencia Organizacional.
  4. Establecer un Marco de Arquitectura Tecnológica.
  5. Evaluación y Selección de las herramientas para implantar BPM en la Organización.
Comité Extendido de Procesos

El comité extendido de procesos es el motor de todas las iniciativas para crear y acelerar el cambio de la organización. El objetivo del comité es desarrollar discusiones, puntos de vistas, enfoques, opiniones diversas, y establecer conclusiones y recomendaciones concretas sobre la situación actual y futura de los procesos.

El comité tiene una amplia variedad de objetivos, pero los principales son:
  1. Establecer el Marco de Procesos Referencial de la Organización.
  2. Evaluar y Seleccionar un Marco de Arquitectura Tecnológica que implemente los requerimientos mínimos para la Gestión de Procesos de Negocio.
Equipo vs. Grupo de trabajo.

Una recomendación que consideramos importante es utilizar dentro del comité extendido de procesos, facilitadotes que contribuyan en convertir el grupo de trabajo, en un equipo donde los objetivos se encuentren alineados. Es necesario incentivar los mecanismos para mejorar las ideas y planteamientos exhaustivos y el dinamismo propositito.

Propuesto no impuesto

Una estrategia es contribuir con propuestas y no la imposición de modelos de trabajo, la discusión y la toma de decisiones debe ser concertada, y debe convertirse en la piedra angular de todo el proceso.

Quien es el dueño del proceso

Es importante comprender que cada unidad será la responsable de establecer sus procesos de negocio, dentro de su visión organizacional.

Las Responsabilidades de las Unidades

Estratégicamente, es vital establecer cuales son las responsabilidades de cada una de las unidades dentro del proyecto de implantación de BPS en la organización.

Recomendaciones:
  1. Cada unidad de negocio es dueña de sus procesos.
  2. Cada unidad de negocio debe documentar y modelar sus procesos.
  3. Cada unidad de negocio debe conocer sus indicadores de gestión.
  4. Cada unidad debe establecer sus macro procesos.
  5. Los Macro procesos deben ser mapeados en un Marco Referencial Corporativo.
El Diagnostico Preliminar

Las organizaciones cuentan con procesos para desempeñarse en sus áreas de negocio; una buena práctica es armar un diagnostico general de las condiciones generales de los procesos presentes: documentación, diagramación, normas y procedimientos, herramientas, etc.

Ver la proporción existente entre las herramientas utilizadas para documentar los procesos, su diagramación, la existencia de manuales de normas y procedimientos, cualquier documentación asociada a los procesos, herramientas mas utilizadas, la presencia de indicadores para los procesos, etc.

Cada representante del Comité Extendido de Procesos, deberá proveer la información de sus procesos actuales para diagnosticar su situación.

El Diagnostico Preliminar Como impulsor de Cambios

Desarrollar esta actividad, contribuirá con establecer y fortalecer la necesidad de impulsar los cambios necesarios para uniformizar las herramientas para documentar los procesos, y estandarizar todo el trabajo relacionado en todas las unidades o gerencias de la organización.

sábado, 3 de mayo de 2008

Como introducir BPM en la organizacion con Intalio BPM

Actualmente existen diversas alternativas tecnológicas disponibles en el mercado en el área de GPN/BPM; basadas en Software Libre y Open Source; productos que implementan las disciplinas de Gestión de procesos de negocios (GPN) / Business Process Management (BPM).

Hace 6 meses, inicie un trabajo de evaluación, selección y ejecución de pruebas de concepto, para potenciar una plataforma de servicios que existía, y contribuir con las lineas estrategicas existentes del estado y la organizacion. Se selecciono “Intalio BPM”, como herramienta. Se realizaron dos pruebas de concepto para conocer las capacidades iniciales de Intalio para implementar procesos de negocio de larga vida, utilizado la infraestructura de servicios actual, que provee una plataforma de integración.

En lineas generales, intalio ofrece un modelo ágil para el despliegue de procesos de negocio, donde podemos integrar dos tipos de actividades : Automáticas y humanas. Procesos como la consulta de un servicio de información, notificacion y la aprobacion de un tareas establecen el marco inicial para unir ambos mundos.

Las organizaciones que desean introducir estos conceptos tecnologicos, por lo general ya cuentan con una plataforma de servicios, con la cual pueden introducir una nueva capa : Orquestación de Servicio y procesos de negocio. Para implementar estas disciplinas la organizacion debe contar con una base tecnológica sustentada sobre SOA y ESB.

Que funciones pueden ser evaluadas en un piloto?
  1. Consumo de Servicios Web (Web Services).
  2. Flujos de Trabajo (Workflows) de Aprobación, Rechazo y notificación.
  3. Utilización de varios participantes (CDC, Operaciones, Ventas).
  4. Proceso de negocio iniciado desde una interfase Web.
  5. Proceso de negocio expuesto mediante un Web Services.
  6. Aplicar Reglas de negocio.
Estas son algunas recomendaciones para iniciar un proyecto con Intalio BPM.

1.- Utilizar un diagrama Base para probar el consumo de servicios Web con Intalio BPM.
2.- Utilizar broker de condiciones, e implementarlos sobre servicios.

3.- Integrar Web Services con brokers de condiciones.

4.- Utilizar BPMN para modelar un proceso.

Saludos.

miércoles, 13 de febrero de 2008

Workflow y Web Services a la lista.

Un aspecto importante en la utilizacion de BPM mediante intalio, es su capacidad para unir los conceptos de Web Services y Workflow en un procesos de negocio. En este ejemplo podemos ver como se introducen ambos conceptos para una empresa de telecomunicaciones que vende productos diversos a sus clientes. Este proceso tiene la resposabilidad de notificar a diversas unidades, la aprobacion o rechazo de la solicitud de un nuevo producto para un cliente, y la configuracion de sus servicios.

En este ejemplo, tenemos dos web services que son invocados por el proceso de negocio, y la participacion de 2 actores, uno para notificacion y el otro para aprobacion.

miércoles, 26 de diciembre de 2007

Orquestacion de Procesos vs Servicios

Es importante diferenciar, dos conceptos que aparecen continuamente en los sitios de tecnología y sobre los cuales existe un gran debate. La orquestación de servicios vs. La orquestación de procesos.

Por lo general, la orquestación de servicios pertenece al dominio de las arquitecturas orientadas en servicios (SOA), y la orquestación de procesos a la gestión de procesos de negocios (BPM).

La diferencia fundamental descansa sobre dos criterios: el estado y la duración. La orquestación de servicios es por lo general sin estado y de corta vida, mientras que la orquestación de procesos es con estado y de larga vida; implementada sobre un BPEL engine.

Los procesos con estado y de larga vida, pueden incluir el consumo de servicios, la gestión de flujos de trabajo conocidos como Workflow, procesos de aprobación como disparadores de un proceso, escalamiento, notificaciones, etc. Por el contrario la orquestacion de servicios no tiene estado, y son funciones atomicas.

Los procesos de negocio, estan conformados por servicios, subprocesos, workflows, etc. y son ellos quienes desarrollan la persistencia necesaria para controlar la orquestacion de alto nivel, que necesitan las organizaciones.

viernes, 2 de noviembre de 2007

Intalio BPMS 5: Utilizacion de doXslTransform

Intalio Designer cuenta con una funcionalidad llamada doXslTransform() que permite utilizar XSLT(XML Document Transformation Language) para transformar datos en los procesos. Esta funcion requiere solo dos parámetros como mínimo. El primer parámetro es la ruta o path de la ubicación del archivo XSLstylesheet, y el segundo parámetros en el documento xml que va a ser transformado.

En algunos procesos de largo aliento, se puede requerir la transformación de determinadas equivalencias, por ejemplo código de clientes en diversos sistemas legado, que por lo general son manejados por los denominados motores semánticos.

Algunas recomendaciones para la realización de transformaciones:
  1. No es recomendable realizar transformaciones XSLT desde Intalio BPM, de mucha envergadura, por lo general esta debe ser funcion de un bus de servicios, que utilice componentes especializados para la transformación de determinas equivalencias.
  2. Podemos utilizar esta función para transformaciones menores desde Intalio.
  3. Es importante, realizar pruebas de concepto con artefactos como XML Spy, para asegurar la conformidad con las instrucciones Xpath.
Saludos.

domingo, 16 de septiembre de 2007

Intalio BPMS 5: Que son las Correlaciones.


Un aspecto importante en Intalio BPMS, son las correlaciones. Para poder entender su significado es necesario ver un ejemplo simple.

Supongamos, que un proceso de negocio es iniciado por una aplicación cliente, y este llama a un sistema de compras para colocar un orden de compra, generando un numero de orden. Mas adelante, este numero de orden origina que se levante una factura y la envié al proceso BPEL. Como hace el motor BPEL para saber cual es el proceso que debe recibir la factura para procesarla? La solución son las correlaciones.

Las correlaciones se usan para identificar explícitamente una instancia de un proceso de negocio. Es un mecanismo a nivel de la aplicación que permite relacionar los mensajes y conversaciones con las instancias de los procesos de negocio a los cuales han sido enviados.

Cuando un proceso de negocio es iniciado, una instancia del mismo es creada, y esta tiene un tiempo de vida. Dentro del engine BPEL, pueden existir múltiples instancias de un procesos de negocio activas al mismo tiempo. Todos los mensajes que son enviados a el proceso tienen que ser entregados a la correcta instancia del proceso.

Como las múltiples instancias de procesos son activadas al mismo tiempo, los datos específicos de las aplicaciones son diferentes y los mensajes intercambiados son usados para mantener referencias a loas instancias especificas de negocios. La idea e asociar los datos específicos de las aplicaciones existente en los mensajes para mantener referencias a instancias de procesos es conocido como Correlación BPEL.

Una correlación es usada para asegurar que un mensaje va a una instancia apropiada basada en el contenido del mensaje. Típicamente, un elemento del mensaje coincide con un valor en la instancia del proceso, para asegurar que el mensaje es enrutado de forma correcta.

En conclusión, una correlación es un mecanismo para asociar un numero de mensajes con una instancia de proceso.

Saludos.

martes, 28 de agosto de 2007

Intalio BPMS 5: Mejores Practicas y lecciones aprendidas.

Para iniciar un proyecto BPM con Intalio BPMS 5, es necesario conocer, cuales son las practicas básicas que aseguren un buen inicio. Hace algunas semanas desarrolle un conjunto de pruebas de concepto con las siguientes tecnologías:
  1. Mule como bus de servicios empresarial.
  2. Axis como SOAP Engine para exponer los servicios. Esta implementación fue basada en Mule.
  3. y por su puesto Intalio BPMS version 5.
Las primeras pruebas que recomiendo para comenzar con intalio son:
  1. Como orquestar servicios web (Web Services).
  2. Como realizar un mapeo y composicion de servicios.
  3. Como manejar las excepciones de negocio.
Algunas practicas y lecciones aprendidas:
  1. Utilice las herramientas del WS-I para realizar pruebas de interoperabilidad a los servicios.
  2. Utilice SoapUI como herramienta para consumir, probar y realizar pruebas unitarias de web services (aserciones, expresiones xpath, etc.).
  3. Es una buena practica, separar los esquemas del archivo WSDL.
  4. Verifique los soap response de los servicios, evite los namespace vacios (evite xmlns="").
  5. Para capturar los mensajes faul de los web services, utilice sub.procesos.
  6. Maneje las excepciones de negocio con sub-procesos.
  7. Los problemas con las expresiones Xpath son comunes, por errores en los namespaces.
  8. Es mejor trabajar con un solo namespace, es decir un solo package en la implementación del servicios.
  9. La interface de un procesos debe ser "no ejecutable".
Saludos.