sábado, 28 de abril de 2012

BPMS: del diseño (BPMN) a la ejecución (BPEL)

Los siguientes modelos tienen como fin dar un inicio al tema de procesos ejecutables, haciendo referencia a la ejecucion de procesos de negocio (BPEL). Business Process Execution Languaje (BPEL por sus siglas en ingles) es un lenguaje de ejecucion de procesos de negocio como su nombre lo especifica, el cual fue estandarizado por OASIS para la composicion de servicios web. Básicamente, consiste en un lenguaje basado en XML diseñado para el control centralizado de diferentes servicios Web. Haré referencia a distintos puntos importantes con respecto a BPMN y BPEL:

En Intalio|Designer modelamos en BPMN.
- Al salvar en Intalio|Designer, se genera automáticamente código BPEL.
- Intalio|Server ejecuta BPEL.
- En BPEL se pueden hacer:
  1)  Actividades basicas: invoke, recieve, reply, assign, throw, wait, empty, exit, rethrow.
  2)  Actividades estructuradas: sequence, if, while, repeatUntil, pick, flow, foreach.
- No hay que aprender BPEL para poder automatizar procesos de negocio.
Lo modelado en pools no ejecutables no genera código BPEL.
- Lo modelado en pools ejecutables genera código BPEL.

Por otro lado, cerrando la breve explicacion de lo que es BPEL, muestro dos tipos de modelado diferentes del siguiente caso:

Un empleado envía una información para ser revisada. A un gerente se le envía la información para su revisión, quien tiene la potestad de aprobarla o rechazarla. Si se aprueba, el empleado recibe una notificación y el proceso culmina. De lo contrario al empleado se le envía la información para su corrección. El empleado procede a realizar los cambios y a enviar la información de vuelta. Luego se envía una notificación al gerente y el proceso culmina.


MODELADO EN BPMN 

MODELADO (FLUJO Y TAREAS)

martes, 24 de abril de 2012

EJERCICIOS BPMN

A continuación cuatro ejercicios resueltos en el laboratorio de Sistemas de Información, en el cual hago uso de Intalio Designer 6.1.12 para el modelado de los mismo:

EJERCICIO 1

El siguiente ejercicio es para familiarizarnos un poco con la notación BPMN:
• Cree 6 tareas que se ejecuten secuencialmente, nómbrelas de la ‘A’ a la ‘F’.
• La tarea B, realmente es un subproceso, compuesto de dos tareas B1 y B2, las
cuales se ejecutan secuencialmente en el orden respectivo.
• La tarea C y el subproceso B se ejecutan paralelamente.
• Bajo ciertas condiciones no se ejecuta C.
• En circunstancias aún más especiales, en vez de ejecutarse C se debe detener el
proceso completo, incluso las actividades del subproceso B.
• Antes de ejecutar la tarea E se debe esperar un tiempo.
• La tarea A es realmente la recepción inicial de un mensaje de un participante
llamado ‘cajero’ y la tarea F es realmente un evento de fin vacio.
• La tarea E es realmente un envío de mensaje a un participante llamado ‘cliente’.


Solución:

EJERCICIO 2

Después de un incendio, por un lado se necesita obtener información de nuestra compañía de seguro. Por otro lado, es posible que necesitemos información adicional del departamento de bomberos, pero solo si los bomberos participaron durante el apagado del incendio. Cuando se tenga toda la información, se necesita escribir un informe consolidado.

Solución:

EJERCICIO 3

Nuestros productos están listos para ser enviados. Para determinar qué compañía de envío utilizar, enviamos 3 mensajes separados a cada una pidiéndole que despachen nuestros productos. La primera compañía que responda que puede hacer el envió es la escogida.

Solución:


EJERCICIO 4

1. Un proceso cliente envía una petición para que se realice una solicitud y aprobación de fondos
2. Se solicita y recibe la información de la solicitud de un empleado
3. Se solicita y recibe la aprobación de la solicitud de un gerente
4. Si la solicitud del empleado es rechazada se vuelve al paso #2
5. Si se aprueba la solicitud, se solicita y recibe información contable al director del área
6. Se solicita y recibe la revisión del departamento de finanzas. Este departamento puede:
a. Aprobar
b. Rechazar basados en la información de la solicitud del empleado
c. Rechazar basados en la información contable proporcionada por el    director
7. Si el departamento de finanzas rechazó basado en la solicitud del empleado, se debe volver al paso #2
8. Si el departamento de finanza rechazó basado en la información contable, se debe volver al paso #5
9. Si el departamento de finanzas aprobó, el proceso finaliza enviando un mensaje al proceso cliente.



INSTALACION DE INTALIO-BPMS SOBRE WINDOWS XP


Para llevar a cabo la instalación y configuración de la aplicación BPMS Intalio descargo gratuitamente a través de la pagina web de la compañía privada Intalio (http://www.intalio.com/downloads) las dos herramientas necesarias, siendo éstas las siguientes:
Intalio|BPMS Designer 6.1.12 for Windows
                Se trata de un archivo ejecutable (com.intalio.bpms.designer.distribs.ce.win32-6.1.12-installer.exe), el cual con simples clicks se instala de forma automática, a continuación muestro breves ejemplos:
















Intalio|BPMS Server 6.2.4 for All Platforms

                En este archive se encuentra comprimida la carpeta de Intalio Server (.zip) la cual puede ser extraída con la aplicación WinRAR por dar una sugerencia. Ahora bien, una vez descargado éste lo siguiente es descomprimir la carpeta contenida en el directorio C de tal modo que el directorio completo quede de la siguiente manera “C:\intalio-bpms-6.2.4














Luego, agregar la variable de entorno CATALINA_HOME, y la direccion “…\bin” en la variable Path, como ya se vio anteriormente en el tutorial de instalación de ADempiere esto se realiza yendo a Mi PC -> Propiedades -> Avanzado -> Variables de Entorno. En la sección de Variables del Sistema incluir una nueva entrada con los valores:
Nombre de la Variable: CATALINA_HOME
Valor de la variable: C:\intalio-bpms-6.2.4














Finalmente, en la variable Path luego de un punto y coma “;” se debe agregar lo siguiente: ;%CATALINA_HOME%\bin














Y así queda por concluida la configuración de Intalio|BPMS.

miércoles, 18 de abril de 2012

CLASE 5: INTRODUCCION A BPMN

La Notación para el Modelado de Procesos de Negocio o BPMN (por sus siglas en ingles Business Process Modeling Notation) como su nombre lo indica es una notación grafica estándar establecida para el modelado de procesos de negocio mediante un formato de flujo de trabajo o workflow con el fin de proporcionar una fácil legibilidad y entendimiento por parte de todos los involucrados en el negocio (analistas de negocio, desarrolladores, gerentes, administradores, etc).



Ya teniendo una previa idea de lo que es un modelo BPMN, expondré mas a fondo la descripción de los elementos que provee la notación BPMN:

Objetos de flujo


Objetos de conexión

Carriles (Swinlanes)

A continuación anexo distintas tablas donde se describe la semántica de cada uno de los eventos, compuertas y actividades para el modelado:







martes, 17 de abril de 2012

CLASE 4: INTRODUCCON A BPMS


Entrando en el tema de BPMS, expongo dos definiciones útiles:

Un proceso de negocio es el conjunto de tareas que se relacionan de forma lógica con el fin de lograr un resultado de negocio definido (consultar clase anterior donde se profundiza en el tema de los procesos de negocio).

Business Process Manager o Gestión de procesos de negocio (BPM por sus siglas en ingles) es el enfoque o metodologia empresarial basado en la coordinacion de las actividades y decisiones realizadas por las partes involucradas durante un proceso de negocio, con el objetivo de mejorar la eficiencia y eficacia de la organizacion mediante la gestion de los procesos de negocio, ésto se refiere al diseño, modelado, organizacion, documentacion y optimizacion constante de los mismos. Entre los beneficos o ventajas que provee un BPM están:

1) Conocimiento certero de la organizacion.
2) Claridad en las relaciones entre las partes.
3) Visibilidad de las operaciones.
4) Flexibilidad y agilidad para adaptarse.

Sabiendo ésto, puedo dar inicio al estudio del Business Process Manager System o Sistema de gestión de procesos de negocio (BPMS por sus siglas en ingles), el cual es una coleccion integrada de tecnologias de software que permiten el control, manejo y mejoramiento continuo de los procesos a traves de la automatizacion de su ciclo de vida.

DIAGRAMA DEL CICLO DE VIDA DE PROCESOS



Los beneficios que provee un BPMS se fundamentan en:

1) Ciclos de innovacion mas cortos.
2) Ahorro en los costos de desarrollo y mantenimiento de software.
3) Manejo del ciclo de vida de los procesos.
4) Reduccion de las barreras de participacion de sistemas y humanos en los proceso.

DIAGRAMA DE CICLO DE DESARROLLO DE BPMS


miércoles, 4 de abril de 2012

CLASE 3: PROCESOS DE NEGOCIO

Entendiendo por proceso de negocio como el conjunto de tareas que se relacionan de forma lógica con el fin de lograr un resultado de negocio definido, es decir, dichas tareas producen un valor para la organización, sus inversores o sus clientes. Un proceso de negocio tiene entradas, funciones y salidas. Brevemente describo tres tipos de procesos de negocio:

1.- Procesos estrategicos: encargados en prestar orientación al negocio, por ejemplo, planificar estrategia de negocio, establecer objetivos y metas.
2.- Procesos sustantivos: son los que dan el valor al cliente, considerándose las parte principal del negocio, por ejemplo, repartir mercancías.
3.- Procesos de apoyo vertical u horizontal: encargados de dar soporte a los procesos centrales, por ejemplo, registrar hechos económicos, prestar soporte técnico.

Ahora bien, estudiando la estructura de la herramienta ADempiere la cual modela una empresa, describiendo la estructura interna y el proceso en la creación de los productos desde la obtención de la materia prima hasta la finalizacion del producto, haciendo un mapeo de las organizaciones que la conforman, sus instalaciones, almacenes de materias primas y productos terminados. Describiendo algunos de éstos elementos destacan:

Cliente: como entidad mas alta en ADempiere puede ser configurada como nuestra entidad legal de la compañía a modelar, permitiendo tener uno o mas clientes en el sistema. Los datos configurados en este nivel pueden ser leídos por las organizaciones pertenecientes a la compañía.

Organizacion: éstas son creadas dentro de una empresa y están relacionadas, son entidades que se pueden configurar como una entidad sub-unidad, es decir, como una division de la empresa o unidad de negocio/producción, ésto se logra al dividir la empresa de acuerdo a sus productos, contabilidad, etc.

Almacén: toda organización esta conformada por almacenes donde se puede obtener, colocar o guardar la materia prima o artículos finalizados.

Visto ésto, comenzare a profundizar en el ámbito del proceso de compra. Toda empresa cumple con procesos de negocio para optimizar y lograr sus metas, es decir, una empresa determinada necesita llevar a cabo actividades para cumplir objetivos específicos, para ello debe contar con un personal capacitado el cual se oriente hacia el desarrollo de las actividades internas y externas, algunos de estos son:

- Personal de compras: encargado de las solicitudes de presupuesto de materiales y evaluacion de los mismos.

- Personal de almacén: encargado de la recepción de materiales de los proveedores y despacho de los materiales a los clientes.

- Personal de contabilidad: perteneciente al área de registro de facturas, realización de pago a los proveedores, elaboración de documento de factura para los clientes.

- Personal de transporte: envío de los productos finales a los clientes.

Otras responsabilidades que debe atender el departamento de contabilidad son:

- Registro de todas las entradas de los documentos en el Libro Mayor.
- Registro de cuentas por pagar de las facturas de los proveedores.
- Registro de cuentas pagadas de las facturas de los proveedores.
- Registro de cuentas por cobrar de las facturas de los clientes.

Conforme el proceso de compra va marchando, destacan actividades que se van cumpliendo para el correcto desarrollo del mismo, estos son:

- Requisicion de compra: basado en la ayuda al control financiero para gestionar las solicitudes de compra de bienes o servicios ofrecidos por el proveedor.
- Ordenes de compra: consiste en la gestión de documentos legales que emite el comprador para solicitar mercancías al vendedor, donde se indica la cantidad, detalle, precios, condiciones de pago, etc.
- Recibo de material: se refiere a la recepción del material o bienes obtenidos con la orden de compra, el cual es catalogado según el proveedor, almacén al que va dirigido, cantidad recibida, etc.
- Gestión de facturas de proveedores: es la gestión de los documentos que los proveedores envían cuando ocurre una orden de un material, también conocidos como facturas.
- Pagos a proveedor: consiste en tomar una decisión con respecto al método de pago al vendedor luego de registrar una factura.

En cuanto al proceso de venta puedo resumir que éste engloba lo referente al manejo de la materia prima y todos los gastos producidos al fabricar los productos finales los cuales mediante el uso de herramientas precisas se deben contabilizar, configurar, generar y registrar diferentes tipos de documentos relacionados a los mismos. Éstas herramientas permiten a su vez modificar y crear registros como: información de los socios de negocio, costos de los productos, lista de materiales, etc.