sábado, diciembre 17, 2011

4 argumentos para altos ejecutivos en busca de su apoyo a BPM

Tomado de:4 argumentos para altos ejecutivos en busca de su apoyo a BPM   .


Top executives” se les llama en ingles. Los latinos acostumbramos llamarlos “La alta gerencia”. Ustedes saben a quienes me refiero: Ese grupo de personas que llevan a cuesta la responsabilidad de que el barco que lideran no haga aguas, mientras deben asegurarse de que están avanzando en la dirección correcta. Son aquellos en los que confiamos que consideren costos, retorno, impacto, riesgo, relaciones, política, RRHH y estrategia en cada una de las decisiones que toman cada día. Y de ellos  necesitamos el apoyo y entusiasmo si queremos que nuestra iniciativa BPM tenga alguna oportunidad de entregar resultados positivos.
¿Por qué?; ya hemos conversado como BPM no tiene nada que ver con la tecnología que lo apoye (ver “Introduccion a la gestion de procesos” y “Mas alla de SOA“). BPM es sobre las personas, sus responsabilidades y la coordinación de sus tareas, por lo que necesitamos la colaboración de esos actores para lograr tener una implementación exitosa en una automatización de procesos. Y en el mundo real se necesita del respaldo de figuras de poder si queremos que la gerencia media y operativa nos otorguen tiempo y atención en su ya bastante complicadas agendas.
Si eres de esos visionarios que ha entendido que la implementación de las practicas de gerencia de procesos, apoyada con una herramienta efectiva de BPMS, son necesarias para tu organización entonces lo mas probable es que tendrás que lograr “emocionar” y traer a bordo a algunos de esos ejecutivos. Probablemente fracases estrepitosamente si intentas utilizar argumentos como “Mira que tan bueno y bonito es el producto X” o “Gartner dice que es el futuro”. Todos esos ejecutivos han visto miles de herramientas hermosas y leído cientos de análisis de “expertos” y saben que eso poco tiene que ver con lo efectivo o malo que sea una solución. A esta audiencia necesitamos hablarle en los términos que a ellos les hace sentido. He aquí 4 argumentos muy validos para presentar:

1) Convierte a los responsables en protagonistas

Así es como funciona en la mayorías de las organizaciones: Las áreas de negocio tienen los problemas, estas van y le piden solución a IT, los tecnólogos apuntan a resolver los problemas con tecnología, IT entrega a las áreas de negocio un “sistema”, pronto el sistema se vuelve en parte del problema de las áreas de negocio y se repite el circulo vicioso.
¿Son las personas de IT seres malvados que solo existen para sabotear a las áreas de negocio?. No, para nada. Todo el problema radica en dos conceptos muy simples: Velocidad y comunicación. Por la complejidad que significa hacer tecnología, esto es mucho mas lento que la velocidad con la que nuevas necesidades se generan. Es simplemente imposible que el desarrollo de software sea lo suficientemente rápido como para llevarle el ritmo a los requerimientos del negocio. Además la mayoría de las personas realmente no tienen la habilidad de poder expresarle a un tecnólogo como es que debe ser un sistema para que le resuelva sus problemas. ¿Cuántas veces no han escuchado a un usuario decirle a un técnico “eso no fue lo que yo pedí”?, ¿Cuántas veces no han escuchado a un programador decir “es que el usuario no sabe lo que quiere”?
Adoptando BPM de la forma correcta, esas áreas de negocio dejan de estar a merced de TI simplemente porque en vez de “pedir soluciones” pasan a definir como es que el trabajo debe ser realizado. Su posición cambia de ser quienes explican “como el sistema debe ser” a ser quienes especifican como es que el comportamiento del flujo de trabajo se realizara. Al llegar a este punto en la mayoría de los casos casi cualquier BPMS es capaz de que con muy poco esfuerzo adicional se pueda contar por lo menos con una solución que ayude al control de las tareas y manejo de la información.
Esta nueva dinámica es buena para todas las partes ya que los usuarios de negocio ahora poseen inherencia directa en la implementación y las personas técnicas reducen la posibilidad de invertir esfuerzos (y dinero) en definiciones que hayan podido ser mal interpretadas o mal comunicadas. Adicionalmente ambas partes pasan a compartir en proporciones iguales responsabilidad en la calidad de la solución final.

2) Da visibilidad sobre los motivos de cada tarea

Los procesos son por definición complejos. Por lo general comprende actividades que son realizadas por distintos grupos, e incluso organizaciones, cada uno de ellos con sus propios objetivos, políticas, reglas y cultura. Además la forma en la que deben quedar definidos también esta influenciada por factores externos, distintos al espíritu inicial del proceso, como leyes, políticas corporativas, marcos regulatorios, mejores practicas, cultura organizacional, etc.
Todo proceso de negocio tiene muy claramente definido que es lo que debe iniciarlo, ese evento ante el cual reaccionamos con las actividades que definiremos. Además el objetivo que se persigue es generalmente bien conocido. El trabajo de definir un proceso de negocio es realmente enfocarnos en el “que” es necesario hacer, obviamente derivando en aclarar “quien “ debe realizar cada actividad.
Para determinar las respuestas a esas interrogantes, se hace necesario realizar sesiones de trabajos colaborativas en las cuales los distintos participantes unen esfuerzos en establecer como es que deben coordinar sus tareas. En esas sesiones se hace simple que se pueda compartir el “por que” cada tarea debe ser realizada de una forma especifica. Esa es información sumamente valiosa, generalmente dispersa y poco documentada.
Lo que se esta generado es la oportunidad de recaudar esa información para aumentar el conocimiento de la organización sobre cual es la razón por ella se comporta como lo hace. En ese tipo de información generalmente radican oportunidades de mejorar la eficiencia, identificar costos y riesgos ocultos además de conocer cuales son los retos específicos que afronta una área que además tiene impacto en otras.

3) Menor dependencia de tecnología


A diferencia de cuando buscamos solucionar problemas con tecnología, donde generalmente la solución comienza en una base de datos, cuando utilizamos BPM las solución comienza cuando las áreas responsables del negocio determinan cual es el comportamiento correcto a seguir para enfrentar los retos. Ya en este blog hemos hablado sobre el arte de modelar procesos de negocios ejecutables, pero resumiendo lo que ocurre es que partimos de una definición de alto nivel, de amplio alcance y poco detalle para luego ir avanzando en detallar como el comportamiento definido se materializa en los niveles inferiores de la jerarquía organizacional. Y este avance en los detalles lo hacemos hasta el momento justo previo donde necesitamos soporte tecnológico para nuestras actividades.
Aquí se presentan 2 escenarios positivos. Primero, las áreas de negocio se pueden acercar a tecnología con requerimientos específicos de que tipo y forma de soporte requieren sus actividades. Hay una diferencia abismal en el alcance y riesgo de decirle a tecnología “Necesitamos un sistema que maneje la facturación” versus abordarlos con varias necesidades como  “Requerimos de una funcionalidad que nos permita recuperar los contratos de los clientes según su identificador fiscal”. Una requerimiento mas especifico le permite a tecnología utilizar sus recursos de manera mas eficiente mientras estima su esfuerzo con menos incertidumbre.
Un segundo escenario es cuando el soporte tecnológico por algún motivo no esta disponible. Es posible tome tiempo de desarrollar o sea necesario hacer un proceso de procura. Lo importante acá es que como hemos separado el comportamiento requerido del soporte que necesitamos se pueden definir mecanismos paliativos y poner en marcha nuestro proceso automatizado antes de que dispongamos del apoyo de TI. Quizás nuestro proceso necesita de una integración con el ERP, pero mientras eso no esta disponible es posible ponerlo en marcha hoy dejándole a una persona la responsabilidad de transcribir información entre los sistemas. Aunque quizás esa no sea la solución perfecta para el desempeño del proceso, hay mucho mas que ganar con poder ejecutarlo hoy con paliativos que simplemente no hacer nada en espera del apoyo de tecnología.
En el segundo escenario incluso se hace posible medir el desempeño del proceso y contar con data objetiva que le permita a un ejecutivo ir a su junta de directores y decir “El proceso X esta tomando 18% mas tiempo y costando 22% mas dinero por la falta la integración con ERP”. Un director sabe que con ese argumento tiene mucha mas posibilidad de impactar las prioridades de TI que diciendo “Aun seguimos con problemas porque el sistema no esta listo
Estas opciones por ningún motivo son en decremento de TI. Lo que realmente ocurre es que se separa el progreso tecnológico del avance de las áreas de negocio. De esta forma los equipos de tecnologías tienen que dedicar menos tiempo y recursos en tratar de darles sistemas al negocio y se pueden enfocar en proveer un soporte efectivo a las operaciones a través de proveer escalabilidad, confiabilidad seguridad e independencia tecnológica.

4) Mas recursos para dedicar a lo que hace la diferencia

Un proceso de negocio propenso a automatizarse es generalmente lo suficientemente importante como para requerir que tengamos la certeza de que sus actividades se hacen de forma controlada y lo bastante repetitivo como para que podamos definir las tareas a realizar cada vez que toque ejecutarlo. Es decir que los procesos de negocios que podemos automatizar son esas actividades monótonas que se realizan cotidianamente en las cuales se invierten muchos recursos para asegurar de que se comporten de la manera mas homogénea posible y que cada vez que fallan típicamente generan suficiente impacto para que se sientan tanto desde el punto de vista financiero así como en la calidad de la operación.
Cuando incorporamos de forma correcta y eficiente las practicas y herramientas de BPM lo que realmente ocurre es que incorporamos técnicas de control que eviten que tengamos que seguir dedicando recursos humano valioso a que se asegure que las cosas están funcionado bien. Al permitir que BPM provea ese control esos recursos humanos pueden dividir su atención entre el manejo de los casos excepcionales y en pensar como es posible mejorar y hacer mas eficiente sus propios procesos. Con escenarios económicos cada vez mas competitivos, consumidores mas exigentes y entornos mas regulados esta claro que hay mucho dinero por ahorrar y calidad que proveer en mejorar la forma en nuestras organizaciones se comportan.

5 señales de que tu proyecto BPM no saldrá bien

Tomado de: 5 señales de que tu proyecto BPM no saldrá bien

Por fin haz obtenido el apoyo necesario para iniciar tu proyecto de automatización de procesos. Se han leído decenas de recursos para entender mejor BPM y creen que están listos para comenzar a trabajar . Y luego de un par de semanas sientes que las cosas no van como deberían. Quizás ves que tus diagramas no parecen expresar el proceso como deberían. O tal vez no sientes que todas esas cosas positivas que haz escuchado de BPM se vayan a aplicar a tu proyecto.
Este no es un escenario improbable. De hecho, es bastante común. ¿Por qué?. Generalmente una combinación de falsas expectativas con malas costumbres. Típicamente hay indicaciones claras de que no se va en el camino correcto. Aquí les presento 5 señales que deberían hacerte decir “Alto, es hora de corregir”:

Solo una persona es responsable de decidir como es el proceso

Sabes que todo empieza documentando y modelando el proceso. Pero resulta que solo aparece una persona con la intención de “explicarnos” como funciona.
Un proceso de negocio representa el acuerdo de distintas partes de cómo colaborar para alcanzar un objetivo especifico. Si solo tenemos un interlocutor lo mas probable es que esa persona defina acciones que no son realmente de su competencia. Mañana cuando nuestro proceso automatizado este listo hay un altísimo riesgo de que las otras áreas vengan y digan que de la forma que se definió ellos no pueden completar sus actividades

Los “jefes” no están involucrados

El objetivo que persigue un proceso de negocio es seguramente responsabilidad de un director o de una línea de negocio. Pero allí estas tu junto a las personas encargadas de definir el proceso y resulta que ningún es realmente el responsable del resultado final. ¿Bajo que criterios se decidirá cuando haya conflictos en las opiniones de los participantes? ¿Cómo saber en esa audiencia que la forma en la que se esta diseñando el proceso cumple con las estrategias y políticas que se han definido en la organización? ¿Qué compromiso con el entregable final tiene la misma persona que es responsable del cumplimiento de las metas?

Se pretende que el proceso en cualquier momento se regrese a cualquier tarea

El requerimiento es claro: Los usuarios decidiremos el flujo del proceso en cada ocurrencia del mismo, por lo que necesitamos poder ir a cualquier tarea en cualquier momento… ¡Alto!. Si esto ocurre lo que significa es que: 1) Tus usuarios no tienen realmente idea de cómo funciona el proceso y/o 2) Tus usuarios no confían en ti o en la tecnología para controlar su proceso.

Las acividaes se expresan en términos de lo que saldrá en la pantalla

Cada vez que alguien tiene que describir la tarea que debe realizar lo hace explicando como es que debe ser “el sistema”. Lo que esta ocurriendo aquí es que están tratando de construir una aplicación y no han asimilado el concepto de que un proceso de negocio es realmente una definición de cómo debe ser el comportamiento de la organización y que la tecnología es solo una herramienta de soporte. De hecho, de cara al proceso de negocio, la tecnología disponible debe ser irrelevante en función de la posibilidad de realizarlo correctamente

Los responsables no pueden responder preguntas tipo “¿Qué pasa si …?”

Estas documentando el proceso y todos los participantes pueden describir con lujos de detalle los pasos que se deben seguir. Luego de modelar ese “camino color rosa” comienzas a preguntar “¿Qué debemos hacer si no nos llega esta notificación en X tiempo?” “¿Qué pasa si falla la integración con el sistema Y?” “¿Qué debe hacer el proceso si la persona Z no esta disponible?” y toda tu audiencia se comienzan a mirar nerviosamente entre ellos. Lo que ha ocurrido aquí es que necesitas involucrar a personas que manejen mas el detalle operativo y tenga real experiencia de campo con el proceso. Mas veces de las que creemos, los niveles mas bajos operativos conocen que contingencias aplicar cuando ocurre algo no ideal; y estas definiciones son simplemente no son conocidas por los mas “jefes”.
¿Qué hacer cuando aparecen estas señales?. En primera instancia, detenerse. Hace mas daño tratar de solucionarlas sobre la marcha que realmente hacer un corte y decir “Tenemos que hablar”. Cada situación es distinta, pero es probable que debas revisar el apoyo organizacional con el que cuentas, volver a definir la audiencia con la que vas a trabajar, educar a tus usuarios y aclarar que es lo que realmente se esta buscando lograr con este tipo de iniciativas.

BPM vs Workflow: ¿Cuál es la diferencia?

Tomado de: BPM vs Workflow: ¿Cuál es la diferencia?

BPM: caracteriza a una serie de actividades independientes de aplicaciones específicas.
• BPM es un superconjunto de Workflows
• Se distingue por su capacidad para coordinar las actividades y tareas entre los usuarios
• BPM conecta distintos sistemas que permitan el intercambio de datos ininterrumpido y control universal desde una única interfaz
• Los procesos de negocio, una vez definidos, se modelan, automatizan, gestionan y optimizan para ser eficaces, eficientes a nivel de costes y lograr altos resultados operativos.
• Se utiliza para capturar, evaluar y analizar información de fuentes externas de una manera eficiente y eficaz
• Con la capacidad de distinguir entre las reglas de ejecución y el flujo actual del proceso, las reglas del BPM permiten gobernar sus procesos
Workflow: facilita un enrutamiento simple de las tareas o actividades de persona a persona.
• El Software Workflow Automatizado utiliza las secuencias de tareas específicas establecidas con reglas predefinidas, tanto si son actividades automáticas como actividades manuales
• La capacidad de integrar el flujo de trabajo entre los sistemas específicos y otros sistemas externos es a menudo limitado, sólo permite documentar y la recuperación de datos
• El software Workflow es muy básico en su capacidad de analizar e informar sobre el análisis del contenido.
• El flujo del proceso es fija, es decir, no pueden adaptarse o establecer múltiples caminos posibles para el mismo objetivo
.
.

El Software Workflow es una herramienta sencilla para dirigir la automatización de los documentos y tareas a los usuarios responsables en un proceso de negocio para las siguientes tareas a realizar. Ofrece información y apoyo para cada etapa del proceso y del ciclo de negocio. Materiales y documentos relacionados con el proceso pueden ser transferidos de un usuario a otro, o pueden ser mantenidos en una base de datos o un servidor con acceso solo para los usuarios apropiados en el momento oportuno. En este sistema se pueden activar alarmas para alertar a los ejecutivos y a los responsables del proceso cuando las tareas van con retraso. Este sistema automatizado de las operaciones garantiza que el trabajo se mueve a través del sistema de manera oportuna y es procesada correctamente por los usuarios apropiados.
El Software BPM (Business Process Management) adopta un enfoque más estructurado en el que la automatización del flujo de trabajo es sólo una pieza del rompecabezas. El uso de un panel de interfaz de Software BPM ofrece mayor visibilidad y control a un nivel superior en el proceso, ya que integra el flujo de trabajo con diversas aplicaciones, tecnologías y tareas humanas. Con sus raíces en el software Workflow, integración de aplicaciones empresariales (EAI) y gestión de documentos, el Software BPM sirve como una solución que puede supervisar, evaluar y mantener las tareas y procesos en tiempo real. Las reglas de negocio dan al propietario del proceso la posibilidad de configurar diversos parámetros para la gestión de incidencias, según sea necesario, mientras que las alertas se pueden habilitar para notificar a los usuarios apropiados cuando las tareas se están acercando o atrasando. Además, un software BPM Suite es una suite completa que le permite tomar sus flujos de trabajo automatizados para el siguiente nivel y optimizarlos continuamente para hacerlos más robustos y más eficientes. Incluye una variedad de herramientas para hacer que su negocio opere de una manera más ágil y más inteligente, tales como:

  1. Definición de procesos y modelado de procesos

  2. Automatización del flujo de trabajo

  3. Gestión de procesos y análisis de procesos

  4. Optimización de Procesos

  5. Business Intelligence

  6. Supervisión de las actividades

  7. Integración de Aplicaciones Empresariales (EAI)
Fuente: Ultimus

Software BPM gratuito y recursos BPM

En la siguiente tabla hay una lista de las principales empresas que desarrollan software BPM y que ponen a disposición de cualquier persona Software BPM gratuito para probar las nuevas versiones o para que los clientes prueben el software BPM mediante versiones con licencias con tiempo de uso limitado. La tabla también contiene enlaces a los centros de recursos de manuales BPM, White papers de BPM y casos de éxito en implantaciones del software BPM en empresas.

Software BPM gratuito y centros de recursos de Software BPMEnlace
Process Designer de Ultimus - Versión gratuita durante 30 diashttp://www.ultimus.com/try-process-designer-free-for-30-days/
Open Source BPM Solution de Bonita Soft - BPM de software libre (Open Source)http://www.bonitasoft.com/products/BPM_download.php
BPM 10gR3 de Oracle http://www.oracle.com/technology/products/bpm/index.html
ARIS Express - BPM de Arishttp://www.ariscommunity.com/aris-express
BPMN Diagram Component Solution de UCanCode http://www.ucancode.net/BPMN_Workflow/BPMN_Workflow_Component.htm
TIBCO Business Studio 3.2.0 de TIBCOhttp://developer.tibco.com/business_studio/default.jsp
BPM Lombardi resourceshttp://www.lombardisoftware.com/bpm-resources.php
Appian resource centerhttp://www.appian.com/bpm-resources/downloads.jsp
Metastorm Process Designerhttp://www.metastorm.com/library/process_designer.asp
Intalio resource centerhttp://www.intalio.com/resource-center/

Manual Avanzado de Firebug : El complemento perfecto de los desarrolladores web

Tomado de: Manual Avanzado de Firebug : El complemento perfecto de los desarrolladores web


0. Índice de contenidos.


1. Introducción

Firebug es una extensión gratuita para Mozilla Firefox especialmente diseñada para todos aquellos programadores que se dedican al desarrollo web.Su objetivo principal es el de facilitar la gran mayoría de los trabajos que se hacen durante el desarrollo de una aplicación web (edición de HTML, edición de hojas de estilo y un sin fin de tareas más que ya muchos conocéis) y que tienen que ver con la interfaz de la misma.
Aunque a primera vista parezca una herramienta "típica", he de decir que detrás de ella se esconde una herramienta que nos librará de muchos dolores de cabeza en el día a día. La única pega que le encuentro es que para poder sacarla rendimiento se requiere un cierto proceso de aprendizaje (relativamente corto pero necesario ;-)).
Características principales:
  • Integrada con Firefox.
  • Open source.
  • Gratuita.
  • Interfaz intuitiva.
  • Complemento perfecto como herramienta de desarrollo web.
Funcionalidad:
  • Edición en tiempo real de HTML.
  • Edición en tiempo real de CSS.
  • Edición en tiempo real de Javascript.
  • Disposición de CSS.
  • Depurador Javascript.
  • Buscador integrado.
  • Monitorización de la actividad de la red.
  • Explorador del DOM.
  • Gestor de errores en Javascript, CSS y XML.

2. Entorno.

El tutorial está escrito usando el siguiente entorno:
  • Hardware: Portátil Asus G50Vseries (Core Duo P8600 2.4GHz, 4GB RAM, 320 GB HD).
  • Sistema operativo: Windows Vista Ultimate.
  • Mozilla Firefox 3.0.6.

3. Instalación.

Pasos a seguir para instalar Firebug:
Importante: Esta explicación se corresponde con las instalación del Firebug 1.3.2 para Firefox 3. En caso de querer instalar otra versión o de disponer de una versión anterior de Firefox acceder al histórico de versiones en esta página https://addons.mozilla.org/es-ES/firefox/addons/versions/1843
Paso 1:Descargar Firebug desde su página web http://getfirebug.com/ (al pulsar sobre INSTALL FIREBUG os redirigirá a la página de complementos de Firefox).
Instalación 0
O bien directamente desde la página de complementos de Firefox https://addons.mozilla.org/es-ES/firefox/addon/1843.

Paso 2:En la página de complementos de Firefox, pulsar sobre Añadir a Firefox en la ventana emergente.
Instalación 1
En caso de que vuestro navegador fuera anterior no os dejará continuar con la instalación (recordad el instalar la adecuada).
Paso 3: Pulsar sobre Instalar ahora en la ventana emergente.
Instalación 2
Paso 4: Pulsar sobre Reiniciar Firefox o bien cerrar y volverlo a abrir.
Instalación 3
Paso 5: Comprobar que aparece en pestaña de complementos.
Instalación 4
Una vez llegados a este punto se puede decir que la instalación se ha realizado con éxito.

4. Configuración.

La configuración inicial de Firebug es muy sencilla, ya que permite establecer muy pocas opciones de inicio. Para acceder a la configuración basta con elegir en el navegador Herramientas >> Firebug
Configuración 1
Hay que establecer la forma de ejecución de Firebug (se verá en más detalle en el apartado utilización):
  • Abrir Firebug : Ejecuta Firebug integrado en la parte inferior de la ventana de la página.
  • Abrir Firebug en Ventana Nueva : Ejecuta Firebug en una ventana nueva independiente de la página
La opción de ejecutarlo en una ventana nueva es muy aconsejable cuando se disponden de dos monitores. ;-)
Para utilizar un editor en concreto (a la hora de editar el HTML, etc.) se puede configurar seleccionando la opción de abrir con editor (Open with editor), para ello bastará con indicar el nombre que se le da al editor, la ruta del ejecutable de dicho editor y los parámetros necesarios.
El resto de opciones de configuración se especificarán durante la utilización.

5. Utilización.

Primero de todo hay que cargar en Firefox la página web con la que queremos utilizar Firebug. En nuestro caso la página es http://www.adictosaltrabajo.com/
Utilizacion 0
Una vez cargada, existen varias formas de arrancar el Firebug:
  • Desde Ver >> Firebug : La forma de ejecución se especifica en la configuración del punto anterior.
  • F12 : Firebug se ejecuta integrado en la parte inferior de ventana de la página (independientemente de la configuración).
  • Control + F12 : Firebug se ejecuta en una ventana nueva (independientemente de la configuración).
  • Desde Herramientas >> Firebug >> Abrir Firebug.
  • Desde Herramientas >> Firebug >> Abrir Firebug en Ventana Nueva.
  • Clic sobre la imagen del bicho en la barra inferior del navegador.
  • Botón derecho del ratón sobre la imagen del bicho en la barra inferior del navegador >> Abrir Firebug en Ventana Nueva.
Utilizacion 1
Como se puede observar en la imagen se ha seleccionado la opción de que Firebug se integre en la ventana.

Detalle de Firebug

Utilizacion 3

1. Botón del bicho

Cuando se pulsa este botón se despliega la siguiente lista de opciones:
  • Abrir con editor : Misma opción especificada en la configuración.
  • Tamaño del texto : Pemite cambiar el tamaño de la letra.
  • Opciones : Permite abrir Firebug en una ventana nueva y otras opciones.
  • Sitios web de Firebug.. : Permite acceder a los sitios web del proyecto.
  • Documentación.. : Permite acceder a la documentación.
  • Grupo de discusión.. : Permite acceder al grupo de discursión.
  • Issue Tracker.
  • Donar : Permite donar dinero al proyecto.
  • About : Detalle sobre la versión instalada.

2. Botón Inspeccionar

Cuando se pulsa este botón, permite identificar la parte del código que forman las secciones específicas de la página seleccionada con el puntero del ratón.
En la imagen se puede observar como tras pulsar Inspeccionar se seleccionó el título "Segunda charla Autentia: Pruebas sobre aplicaciones web con Selenium HQ" y en el área de la izquierda de Firebug (Pestaña HTML) aparece la línea de código que hace referencia a esa parte.
Utilizacion 3

3. Botón Editar

Cuando se ha inspeccionado un elemento y por tanto se ha identificado su línea de código, si se pulsa el botón Editar el área de la línea de código seleccionada se convierte al modo edición, por lo que si se cambia algún dato , este aparece reflejado en la página (esto es edición en tiempo real de HTML).
En la imagen se puede observar como se modificado el título anterior por "Prueba de Firebug : Cambiar el título" y en el área de la izquierda de Firebug aparece la línea de código en modo edición.
Utilizacion 4

4. Ruta del elemento especificado

Cuando se ha inspeccionado un elemento y por tanto se ha identificado su línea de código, aparece en el lado derecho del botón Editar la ruta de elementos HTML desde el elemento seleccionado hasta el comienzo del HTML de la página, pudiendo observar de que sección específica de la página se trata al pasar el ratón por encima.
En la imagen se puede observar como se selecciona la sección en la que se encuentra el título "Segunda charla Autentia: Pruebas sobre aplicaciones web con Selenium HQ".
Utilizacion 5

5. Buscador integrado

Permite buscar los elementos del código fuente de manera muy rápida y sencilla, además permite exportar los cambios para aplicarlos sobre el código fuente real.
Una de las opciones que también permite es la de filtrar la consola para que sólo muestren los errores que coinciden con el texto buscado.
En la imagen se puede observar como se ha buscado en el código "Pruebas sobre aplicaciones web con Selenium HQ " y en el área de la izquierda de Firebug (Pestaña HTML) aparece la línea de código en la que se ha encontrado.
Utilizacion 6

6. Pestaña Consola

Al principio os encontraréis la consola deshabilitada, asi que primero de todo tendréis; que habilitar los módulos seleccionados:
  • Módulo Consola : Soporte para loggear en la consola.
  • Módulo Script : Soporte para depuración de Javascript.
  • Módulo Red : Soporte para monitorizar la red.
Posteriormente a la selección de los módulos habrá que habilitar los paneles seleccionados para la p´gina.
Utilizacion 7
En este ejemplo seleccionamos todos y como se puede comprobar se habilitaron los módulos indicados.
Utilizacion 8
Con estos elementos habilidados se podrán ejecutar funcionalidades que se explicarán en puntos posteriores de este tutorial.
En la pestaña Consola se puede desplegar una opciones:
  • Habilitado : Habilitar la consola siempre.
  • Deshabilitado : Deshabilitar la consola siempre.
  • Habilitar la consola para URL : Habilita la consola para la web indicada.
  • Deshabilitar la para URL : Deshabilita la consola para la web indicada.
  • Sites... : Permite gestionar la lista de habilidatos y de deshabilitados
Permite ejecutar código en la consola, como si fuera parte de la página, mostrando el valor devuelto mediante la consola. Por ejemplo si se conoce el camino en el DOM hay veces que se puede utilizar para encontrar elementos. La consola incorpora la opción de autocompletado por lo que se facilita el acceso al nombre de variables o de propiedades.Desde la línea de comandos se puede acceder a otras pestañas, por ejemplo cuando se muestra un resultado a una petición y se realiza un clic sobre el resultado,entonces se produce una situación similar a inspeccionar ese elemento.
Utilizacion 26
Se puede ampliar la entrada de la consola para que puedan ejecutar comandos o combinaciones de comandos de mayor envergadura.
Utilizacion 27

7. Pestaña HTML

Con esta pestaña habilitada, se permite mostrar toda la estructura de código fuente que forma la página.Se suele asociar con el botón Inspeccionar para encontrar secciones de código específicas,aunque también permite desplazarse entre el código a partir de estructuras desplegables de elementos HTML.
Utilizacion 9
Firebug ofrece una ayuda para aquellas situaciones en las que los elementos HTML han sido creados, modificados o eliminados mediante Javascript u otras formas,para ello marca los cambios que se producen en amarillo (temporalmente).De esta manera se identifican de una manera rápida todos los cambios que se producen.
Se pueden editar los atributos de un elemento HTML de una manera directa, para ello hay que situarse en el atributo a cambiar (o muevete entre ellos mediante el tabulador) cambie el elemento y a continuación se cambiará en la pantalla.Como se puede observar en la imagen se ha cambiado el nombre del título "Segunda charla Autentia: Pruebas sobre aplicaciones web con Selenium HQ" por el de "Prueba Firebug : Segundo Cambio" desde la pestaña HTML.
Utilizacion 10
Con esta pestaña seleccionada las pestañas de la parte derecha son accesibles (CSS, Maquetacion y DOM) , permiendo descubrir detalles de las hojas de estilo, el DOM, etc. (Todo esto será detallado en puntos posteriores que se corresponden con dichas pestañas)
Cuando se pulsa con el botón derecho sobre esta pestaña cuando un elemento ha sido inspeccionado se despliegan las siguientes opciones:
  • Copiar : Copia el elemento seleccionado al portapapeles.
  • Copiar HTML : Copia el código HTML del elemento seleccionado al portapapeles.
  • Copiar innerHTML : Copia el atributo "innerHTML" de elemento seleccionado al portapapeles.
  • Copiar Xpath :Copia al portapapeles la expresión que identifica al elemento de manera única.
  • Registrar evento : Permite registrar un evento asociado al elemento seleccionado.
  • Desplazarse hacia la vista :Muestra en la pantalla la página en la que aparece el elemento seleccionado.
  • Atributo nuevo : Permite incorporar un atributo nuevo al elemento seleccionado.
  • Editar "atributo" : Permite editar un atributo concreto en caso de tenerlo seleccionado.
  • Borrar "atributo" : Permite borrar un atributo concreto en caso de tenerlo seleccionado.
  • Editar HTML : Misma funcionalidad que el botón Editar.
  • Borrar elemento : Elimina el elemento del código.
  • Inspeccionar en pestaña DOM : Muestra los datos DOM asociados al elemento seleccionado.
Esta pestaña incorpora una serie de opciones que pueden mejorar su uso.

8. Pestaña CSS

Con esta pestaña habilitada, se permite mostrar toda la estructura de estilo que forma la página. Se suele asociar con el botón Inspeccionar para encontar el estilo asociado de las secciones de código indicadas, aunque también permite desplazarse entre los estilos que forman la página en general.
Utilizacion 11
Se pueden editar los atributos de estilo un elemento HTML de una manera directa, para ello hay que situarse en el atributo a cambiar desde Inspeccionar con la pestaña HTML habilitada, como se puede observar la pestaña de CSS pasa a formar parte de las que aparecen en el área de la derecha.Se puede cambia el estilo de cualquier elemento seleccionando el estilo y cambiando su propiedad a continuación se cambiará en la pantalla.
En la imagen se muestra como se ha inspeccionado el tíulo "Segunda charla Autentia: Pruebas sobre aplicaciones web con Selenium HQ" y en la pestaña de CSS se ha añadido un atributo que da color a todos los elementos "a".
Utilizacion 12
Permite mostrar una vista previa de los colores y las imágenes utilizadas en los estilos, para ello carga una pequeña descripción al situar el ratón encima de la propiedad.En el caso de una imagen muestra las dimensiones del archivo, lo que permite ahorrar mucho tiempo a la hora de ajustar el tamaño.
Muestra en cascada todas las reglas de estilo asociadas al elemento seleccionado, para ello se ordenan en orden de preferencia. Además se incorpora un enlace al archivo que contiene el estilo para que se pueda ir de forma directa a la línea deseada.
Permite autocompletar propiedades , para ello al situarse en la propiedad permite seleccionar entre su valores posibles mediante las flechas arriba y abajo. Por ejemplo text-align : left /center /justify .
Permite autocompletar números , para ello hay que situarse en la propiedad a cambiar y mediante la flechas de arriba y abajo se puede modificar o mejor dicho ajustar dichos números de una manera más detallada.
Cuando se pulsa con el botón derecho sobre esta pestaña cuando un elemento ha sido inspeccionado se despliegan las siguientes opciones:
  • Copiar : Copia el elemento seleccionado al portapapeles.
  • Editar estilo del elemento.. : Permite editar los atributos del elemento seleccionado.
  • Propiedad nuevo : Permite incorporar una propiedad nueva al estilo seleccionado.
  • Editar "propiedad" (Con un elemento de estilo seleccionado) : Permite editar una propiedad concreta en caso de tenerla seleccionada.
  • Borrar "propiedad" (Con un elemento de estilo seleccionado) : Permite borrar una propiedad concreta en caso de tenerla seleccionada.
  • Deshabilitar propiedad (Con un elemento de estilo seleccionado) : Impide que se aplique sobre la página el resultado de dicha propiedad.
  • Refrescar : Permite que se muestren los cambios sobre la página en caso de que todavia no se hayan producido.
  • Inspeccionar en pestaña DOM : Muestra los datos DOM asociados al elemento seleccionado.
Esta pestaña incorpora una serie de opciones que pueden mejorar su uso.

9. Pestaña Script

Con esta pestaña habilitada, se permite mostrar toda las funciones de Javascript utilizadas en la página. En este punto cabe recordar que Firebug incluye un depurador de Javascript realmente potente, que permite entre otras cosas conocer el valor de cada variable un momento dado e incluso detener la ejecución en cualquier instante.
Utilizacion 13
A la derecha del botón Inspeccionar se podrá seleccionar entre una serie de filtros para mostrar las funciones de Javascript.Las cuales son:
  • Mostrar scripts estáticos.
  • Mostrar scripts estáticos y eval.
  • Mostrar scripts estáticos y de eventos.
  • Mostrar scripts estáticos,eval y de eventos.
Se pueden encontrar los scripts de manera muy sencilla, para ello Firebug dispone de una lista que permitirá encontrar cualquier fichero en cualquier momento. Esta lista se carga pulsando al elemento seleccionado que se situa a la derecha de donde se establece el filtro anterior.
Nota: Se puede acceder a una línea de forma directa con sólo escribir # seguido del número de la línea en el apartado de buscar.
Entre las funciones que se incluyen en esta pestaña esta el poder parar la ejecución de las líneas, para ello se pueden establecer pausas en el código, es en estos instantes cuando se puede examinar los objetos para comprobar sus valores. Para incorporar una interrupción simplemente basta con realizar un clic en la línea deseada y esta quedará marcada con un "punto rojo" (Voviendo a pulsar sobre dicha línea se eliminara la interrupció y por tanto el punto rojo )
Utilizacion 14
A veces que se produza mucho una interrupción puede ser un engorro es por eso que se pueden establecer interrupciones condicionales, es decir, interrupciones que sólo se producen cuando se da una determinada condición. Para establecer una interrupción de este tipo se puede hacer con el clic derecho del ratón sobre la línea de código, posteriormente se mostrará una burbuja sobre la que pondremos la condición en Javascript. Esta condición se puede cambiar en cualquier instante, para ello bastará con hacer clic con el botón derecho del ratón o bien se puede eliminar esta interrupción haciendo un clic en la línea.
Utilizacion 15
Una vez que se ha detenido con una interrupción se puede cambiar el modo de ejecución para que se produzca en modo "línea a línea", de esta forma se puede controlar como van cambiando los valores de las variables a medida que se van ejecutando las diferentes l´neas de código.Para ello se habilitarán una serie de controles en la parte superior (donde estaba el buscador) que permitirán ejecutar los diferentes modos de ejecución.
Utilizacion 16
Cuando el depurador se detiene las pestañas que se encuentran en el área de la derecha cobran utilidad:
  1. Observar : Muestra los datos de los objetos y expresiones complejas ("Resumen" DOM).De esta forma se pueden ver los atributos, modificarlos, etc..
  2. Pila :Muestra la pila de llamadas (conjunto de llamadas jeraquizadas a funciones que se est&aaacute;n ejecutando actualmente), puediendo acceder a cada una de ellas mediante un clic que irá a la línea donde se ha producdo la interrupción.
  3. Puntos de ruptura :Muestra todos lo puntos de ruptura, incluyendo fichero, línea de código (numerico y texto),etc.
Cada una de las pestañas dispone de una serie de opciones permitidas. Por ejemplo deshabilitar los puntos de ruptura, mostrar las funciones del DOM , etc..
Una opció muy importante, es que se puede observar el rendimiento a nivel de Javascript, para ello se realiza un completo análisis de los tiempos de carga y ejecución que ha provocado la navegación por la página.Para activar esta opción basta con acceder a la consola y pulsar al botón Perfilar, recargar la página y volver a pulsar Perfilar, después se mostrará un informe con el detalle donde se muestra el nombre de las funciones utilizadas y el tiempo que tardo cada una de ellas.
Utilizacion 17
Cuando se pulsa con el botón derecho sobre esta pestaña cuando un elemento ha sido inspeccionado se despliegan las siguientes opciones:
  • Copiar : Copia el elemento seleccionado al portapapeles.
  • Poner punto de ruptura : Permite poner un punto de ruptura en esa línea.
  • Editar condición del punto de ruptura : Permite establecer o modificar la condición de ejecución de un punto de ruptura.

10. Pestaña DOM

El DOM (Modelo de objetos para la represación de documentos) se encarga de definir la estructura lógica de los objetos,sus funciones, el modo de manipulación y acceso a cada objeto
Se distinguen dos tipos de objetos DOM
  • Objetos DOM estándar
  • Objetos Javascript
DOM serí la interfaz mediante la cual los programas y script acceden y modifican de forma dinámica el contenido, estructura y estilo de los documentos HTML.
Con esta pestaña habilitada, se permite mostrar todo el resumen de los objetos DOM.Para ello se muestra el árbol DOM de la página.
Utilizacion 18
Las opciones de filtrado permiten distinguir entre los tipos de objetos DOM.
Firebug trata de mostrar en detalle los diferentes tipos de objetos, para ello establece diferentes estilo a la hora de mostrar la información en el detalle de esta forma se facilita la búsqueda ,etc..
Los objetos DOM se pueden modificar de manera rápida a través de el detalle anterior, además la edición dispone de la opción de autocompletado lo que facilita en gran medida las operaciones realizadas sobre ellos. Mediante el tabulador se puede completar el nombre de las propiedades de un objeto.
Recordar que esta opciones tambien esta disponible cuando se trabaja con las pestaña HTML, sólo que se encuentra en el área de pestañas de la derecha.

11. Pestaña Maquetación

Con esta pestaña habilitada, se permite mostrar las posiciones que ocupa un elemento HTML. Esta pestaña se encuentra accesible desde la pestaña de HTML y tiene utilidad cuando se ha inspeccionado previamente un elemento.Esta pestaña permite alinear correctamente los estilos sin tener que perder tu tiempo y dejarte los ojos.
Utilizacion 19
Como se puede observar en el área de la derecha se muestra una ficha de diseño visual donde se muestra el detalle de cada zona de edición junto son sus alturas y anchuras.Esta ficha es totalmente editable, permitiendo el uso de las flechas arriba/abajo para cambiar el número de uno en uno y las teclas de página arriba /abajo para hacerlo de 10 en 10.
Para facilitar este trabajo Firebug dispone de un modelo de sombreado de cuadros, de esta manera se permite distinguir entre el margen , el contenido, etc.. De esta manera se puede observar de un simple vistazo a que nos estamos refiriendo en cada instante y en cada zona.
Al seleccionar una de las zonas se activarán sobre la página las reglas y las guías que facilitarán la visualización de las modificaciones a realizar.
Utilizacion 20

12. Pestaña Red

Con esta pestaña habilitada, puede mostrar el tiempo de carga de la página web.Para ello utiliza una línea de tiempo, permitiendo establecer filtros por tipos de archivos, examinar las cabeceras, monitorizar el XMLHttpRequest y sobre todo ver que datos se sirven en caché, esto permite diferenciar entre la carga de caché del servidor y la carga que no se encuentra cacheada. Con esta opción seguro que descubres por qué va un poco lenta tu web.
Utilizacion 21
La línea de tiempo muestra cuando un archivo se inicio y se detuvo en el contexto del resto de los archivos, para eso utiliza una representación gráfica en forma de barra
Con el filtrado de tipos de archivos, uno se puede centrar en tratar de mejorar la carga para este tipo de elementos, además asi se permite indicar el tiempo que tarda en cargar un determinado elemento o bien averiguar el total de elemento cargados (y el tiempo total de los filtrados).
Utilizacion 22
La manera de comprobar si un elemento ha sido cargado desde la caché del navegador reside en que los elementos cargados desde el servidor dipone de barras coloreadas y los que son cargados desde cache son grises.
Imagen de ejemplo de carga desde el servidor.
Utilizacion 23
Imagen de ejemplo de carga desde caché.
Utilizacion 24
Como ya he comentado antes también se puden observar las cabeceras HTTP, estas cabeceras muestran información como el tipo de MIME del archivo, el tipo de servidor web, etc. . Para acceder a ellas basta con hacer un clic sobre la solicitud y expandirla.
Utilizacion 25
Para todos aquellos que os gustan usar las accesos directos de las funciones os dejo la siguiente página http://getfirebug.com/keyboard.html

6. Logging mediante Javascript.

Muchas veces con disponer de un buen depurador no es suficiente, por eso otra forma de descubrir los problemas es mediante el muestreo de la mayor cantidad de información a medida que se va ejecutando el código (es decir, mediante el uso de un "log"). Firebug destaca en este punto, ya que permite hacer uso de un conjunto de funciones que pueden ser llamadas desde la página web.
Es el sustituto perfecto a las "cargantes ventanas" ALERT.
Ejemplo de escritura en la consola de Firebug.Ejemplo : console.log("Adictos al Trabajo");
Utilizacion 28

Lista con las funciones de logging de la consola Firebug

Función Descripción
console.assert(expresion[,object]) Comprueba que una expresión sea cierta, sino muestra en la consola la excepción recibida.
console.count([title]) Muestra el número de líneas de código que han sido contadas hasta que fue ejecutada.
console.debug(object[,object]) Similar a log pero incluye un hyperlink hacia la línea desde donde ha sido llamado.
console.dir(object) Muestra una lista interactiva de las propiedades de un objeto (similar DOM).
console.dirxml(node) Muestra el arbol XML del elemento HTML o XML (similar HTML).
console.error(object[, object]) Similar a debug pero con el indicador de tipo "error".
console.group(object[,object,...]) Anida mensajes dentro de la consola (requiere console.groupEnd()).
console.groupEnd() Cierra el bloque anidado.
consolo.info(object[, object]) Similar a debug pero con el indicador de tipo "info".
console.log(object[,object]) Muestra el contenido indicado.
console.profile([title]) Permite definir un bloque.
console.profileEnd() Cierra el bloque.
console.time(name) Crea un temporizador con el nombre que le indiquemos.
console.timeEnd(name) Termina el temporizador con el nombre indicado.
console.trace() Muestra una traza interactiva desde donde fue llamada.
console.warn(object[,object]) Similar a debug pero con el indicador de tipo "warning".
Todos estos comandos se pueden combinar con algunos modificadores para dar más información.
Modificadores (El formato numérico todavía no esta soportado):
  • %s : Cadena
  • %d : Entero
  • %i : Entero
  • %f : Flotante
  • %o : Objeto Hyperlink

Ejemplo de modificadores

Primera forma de incorporar información a la consola
  1. console.log("Adictos al trabajo da la bienvenida a ",usuario," a la charla ",tituloCharla," que es la número ",numeroCharla);   
Segunda forma de incorporar información a la consola
  1. console.log("Adictos al trabajo da la bienvenida %s a la charla %s que es la número %i",usuario,tituloCharla,numeroCharla);   

Ejemplo completo

Para ejecutar este ejemplo guarda el código en un archivo HTML y abrelo con Firefox con Firebug instalado. Los mensajes se encuentran en la consola.
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  2. <html>  
  3.   <head>  
  4.   <meta http-equiv="content-type" content="text/html; charset=windows-1250">  
  5.   <title>Ejemplo Logging en Javascript desde consola Firebug</title>  
  6.   </head>  
  7.   <script>  
  8.     usuario       = "Desconocido";  
  9.     tituloCharla  = "Conocer Firebug a fondo";  
  10.     numeroCharla  = 3;  
  11.     alert("Tratamos de evitar este tipo de mensajes ;-)");  
  12.     console.log("Mejor el uso de este tipo");  
  13.     console.log("Adictos al trabajo da la bienvenida %s a la charla %s que es la número ",usuario,tituloCharla,numeroCharla);     
  14.     console.profile("BloquePrueba");    
  15.     console.time("Temporizador");    
  16.     console.info("Mensaje informativo");    
  17.     console.debug("Mensaje debug");    
  18.     console.warn("Mensaje warning");    
  19.     console.error("Mensaje error");    
  20.     console.timeEnd("Temporizador");    
  21.     console.profileEnd("BloquePrueba");    
  22.   </script>  
  23.   <body>  
  24.     <h1>Ejemplo Logging en Javascript desde consola Firebug</h1>  
  25.     <p>Para ejecutar este ejemplo simplemente hay que abrirlo desde Firefox con Firebug instalado y  
  26.     observar la consola.</p>  
  27.   </body>  
  28. </html>  

7. Conclusiones.

Una vez que se utiliza por primera vez, uno descubre la cantidad de horas de trabajo que ha perdido y la "calidad de vida" que va ganar en el futuro desde que esta herramienta pase a formar parte de su vida.
Como se ha podido ver a lo largo de este tutorial Firebug es un complemento indispensable dentro de las herramientas de cualquier desarrollador web, ya que permite realizar todas las operaciones que un desarrollador web tiene que hacer (edición HTML, edición estilo , etc.) integradas dentro de una misma aplicación.
Y yo me pregunto: ¿A qué hubiera dedicado todas las horas que he perdido mientras no conocía esta herramienta? ;-)

Introducción a BPMN

Tomado de: Introducción a BPMN


0. Índice de contenidos.

1. Introducción

El objetivo de este tutorial es introduciros en el mundo de las anotaciones de BPM mediante el uso de BPMN
¿Qué es BPMN?
BPMN es el acrónimo de Business Process Modeling Notation y no es otra cosa que una notación gráfica estandarizada para el modelado de los procesos de negocio.
Su principal objetivo es : Resolver las dificultades de comunicación que tiene el lenguaje común
  • Proporciona un método normalizado para representar procesos de negocio
  • Facilita su entendimiento debido a la poca complejidad de su notación
  • Proporciona un lenguaje común entre los usuarios de negocio y los técnicos
  • Facilita la diagramación de los procesos de negocio
  • ....
Está basado en la idea de que existen diferentes roles con diferentes responsabilidades y cuya comunicación se realiza de forma similar a lo que sería un diagrama de estados pero dentro de un tiempo determinado.
Es muy similar a lo que sería un diagrama de estados.
Desarrollado originalmente por la BPMI pero mantenido en la actualidad por OMG
Actualmente tiene mayor uso la versión 1.2 pero cada vez es más facil ver la versión 2.0

2. Entorno.

El tutorial está escrito usando el siguiente entorno:

3. Actividades

Una actividad representa una acción dentro de un proceso, sirve para denominar el trabajo realizado por un participante.
Una actividad puede ser en función de su ejecución :
  • Manual (cuando se realiza por un participante humano)
  • Automático (cuando se realiza por un participante de proceso o de sistema)
Una actividad puede ser :
  • Independiente
  • Emisor de una notificación
  • Receptor de un mensaje
  • Solicitud-Respuesta
Una actividad se puede implementar :
  • Tarea (Task) : Unidad mínima de trabajo dentro de un proceso
  • Subproceso (Sub-process) : Unidad compuesta de trabajo formado por más de una tarea o subproceso
En definitiva, un subproceso agrupa tareas en una única tarea.
Los subprocesos debido a que son agrupaciones de varias tareas y otros subprocesos tiene la propiedad de poder mostrarse contraídos y expandidos.
Se representan con un rectángulo.
Ejemplo de componentes :


4. Participantes.

Un participante o pool representa a cualquier recurso involucrado en un proceso, tiene la función de ser el contenedor gráfico que indica las actividades que se van a realizar así como las condiciones de su ejecución.
Lógicamente, las actividades contenidas dentro de un participante sólo podrán ser ejecutadas por dicho participante
Existen 3 tipos de participantes :
  • Humano
  • Sistema
  • Proceso
Cada participante debería de ser un pool diferente
Ejemplo de participantes :

Un participante puede hacer uso de un modificador de ruta o lane
¿Qué es una ruta o lane?
Una ruta o lane representa una partición lógica del participante o pool
Puede ser :
  • Vertical
  • Horizontal
Se suelen utilizar para organizar y categorizar las actividades, con vistas a separar una parte sobre la que se realizará un propósito específico
Ejemplo de ruta :


5. Conectores de flujo.

Un conector de flujo representa el orden de ejecución de las tareas.
En el caso de un participante, representa el tipo de transición en el tiempo de cada una de las tareas.
Cuando nos referimos al orden de ejecución dentro de un mismo participante se denomina : transición.
Se representan con una flecha.
Cuando nos referimos al orden de ejecución entre participantes se denomina : interacción.
Remarcar que en este segundo concepto lo que se produce es un intercambio de flujo de información entre los participantes
Reglas especiales para una interacción :
  • 1)Dentro de un participante o pool no existen interacciones.
  • 2)Se representa con una flecha punteada (distinto a una transición).
  • 3)En un proceso automatizado todas las interacciones son entre el proceso y los participantes -> Función controladora.
Ejemplo de componentes de flujo :


6. Eventos.

Un evento representa situaciones que afectan al flujo de ejecución de un proceso.
Cualquier proceso puede disparar un evento o es un resultado .
Con los eventos se consigue que un proceso pueda : comenzar , pararse , interrumpirse , finalizar correctamente, etc.
Se representan con un círculo.
Existen 3 tipos de eventos :
  • Inicio (Start) : Se representa con un círculo con una línea de traza.
  • Intermedio (Intermediate) : Se representa con un círculo con una línea doble de traza.
  • Fin (End) : Se representa con un círculo con una línea de traza ancha.
Ejemplo de eventos :

Categoría Símbolo Descripción
Inicio Vacío Vacío Indica que es un evento de inicio del proceso pero sin indicar que lo define
Intermedio Vacío Vacío Indica que se produce un cambio de estado en el diagrama ( punto KPI - Key Performance Indicator)
Final vacío Punto Indica que el proceso finaliza en ese punto
Mensaje Sobre Indica el envío o recepción de un mensaje
Error Rayo Indica que se ha producido algún tipo de problema
Cancelar Símbolo X Indica que se empide continuar por esa línea por algún motivo
Señal Triángulo Indica algún tipo de información puntual
Enlace Flecha
Compensación Rebobinado Indica que se realizará algún tipo de acción para manetener la integridad
Temporizador Reloj Indica el proceso se inicia en base a un tiempo o bien que hay que esperar un tiempo

6. Condicionales.

Un condicional o gateway representa un punto de decisión en el proceso para que el flujo sea condicionado y permita canalizar por diversas ramas durante su ejecución.
Se representan con un rombo.
Existen 3 tipos de condicionales :
  • Exclusivo (Exclusively) : Sólo una rama puede ser ejecutada (basado en eventos / basado en datos)
  • Inclusivo (Inclusively) : Una o más ramas pueden ser ejecutadas
  • Paralelo (In parallel) : Todas las ramas pueden ser ejecutadas
Ejemplos de condicionales :


7. Conclusiones.

Espero haber conseguido el objetivo de este tutorial que ha sido introduciros en la notación BPMN y así poder sentar las bases de lo que iremos haciendo en próximos tutoriales. Para cualquier cosa ya sabeis cómo contactar conmigo

BPM con BONITASOFT

Tomado de:Introducción a Bonita Open Solution

0. Índice de contenidos.

1. Introducción

Bonita Open Solution es otra de las maravillas existentes para la gestión de procesos BPM. Ha sido creada por BonitaSoft una de las empresas que son líderes en este mercado y por suerte para nosotros es Open Source ;-).
Esta herramienta destaca sobre todo por la facilidad en su utilización debido al diseño intuitivo de los diferentes elementos que lo componen y por el bajo coste de su implantación (al no requerir ninguna inversión más que de tiempo de aprendizaje). Además, la modelización de los procesos es compatible con la especificación BPMN 2.0 (Para el que no conozca esta notación para el modelado de procesos BPMN aconsejo visualizar antes de continuar el siguiente tutorial Introducción a BPMN ) por lo que estaríamos a la última en lo que se refiere a BPM.
Características principales de esta herramienta :
  • Open Source
  • Es ligera
  • Compatibilidad con BPMN 2.0
  • Interfaz Intuitiva
  • Potente
  • Fácil importación de procesos desde otras herramientas (Tibco, Lobardi, etc.)
  • Personalización de las herramientas
  • Integración de los procesos con reglas de negocio
  • Conectores nativos (+ de 100) : SAP , Microsoft Exchange , etc
  • Conectores propios (realizados por la comunidad de BonitaSoft)
  • Integración en Talend MDM Enterprise Edition
Bonita Open Solution esta compuesto por varios módulos :
  • Bonita Execution Engine
  • Bonita Studio
  • Bonita Form Builder
  • Bonita User Experience

1) Bonita Execution Engine

Es el motor de BPM de Bonita yse encarga de la conexión de los procesos que existen en el sistema asi como el despliegue y ejecución de los procesos. El módulo de Bonita Studio esta conectado directamente a este otro módulo para funcionar.
Por suerte, este motor es genérico y extensible por lo que siempre seremos capaces de añadir con mayor o menor dificultad nuevos estándares o bien servicios que puedan aparacer en el mundo de BPM con posterioridad.

2) Bonita Studio

Es la aplicación gráfica cuya función es diseñar los procesos BPM usando la notación anteriormente comentada : BPMN (Business Process Management Notation) sobre un área de diseño (pizarra) de forma muy intuitiva basada en "arrastrar" los elementos y en su configuración específica mediante una o varias pestañas habilitadas para ello

3) Bonita Form Builder

Es la aplicación encargada de mostrar los formularios a los usuarios de la aplicación. Recordar que muchos de los pasos que se producen en un proceso BPM requieren de la entrada de datos por parte del usuario implicado.
(form destined for end user Web application)

4) Bonita User Experience (User XP)

Es la aplicación encarga de la gestión de todo lo relacionado con los procesos BPM desplegados. Por suerte es muy intutiva ya que su interfaz se "parece" a una aplicación de gestión de correo
El objetivo de este tutorial, es por tanto, inicializaros en el uso esta herramienta mediante su instalación , su configuración y mediante la creación de un ejemplo de proceso muy básico que simplemente nos ayude a habituarnos con la interfaz. Poco a poco espero ir introduciendo más elementos que compliquen los procesos BPM hasta que llegue a explicar como manejarlos desde la herramienta de User Experience, etc.

2. Entorno.

El tutorial está escrito usando el siguiente entorno:

3. Instalación.

En este punto, se pretende enseñar a instalar esta herramienta que como veréis en los pasos no va a resultar demasiado complicado.
PASO 1 : Nos conectamos a la página web http://www.bonitasoft.com

PASO 2 : Seleccionamos la opción de "Download"

PASO 3 : Seleccionamos la opción de "Download Now" (Versión Windows)

PASO 4 : Nos descagaremos el ejecutable

PASO 5 : Tras descargárnoslo lo lanzaremos y seleccionaremos el idioma

PASO 6 : Accederemos a los pasos de la instalación y los seguiremos

PASO 7 : Aceptaremos las condiciones de la licencia

PASO 8 : Seleccionaremos el directorio de instalación

PASO 9 : Una vez seleccionado, confirmaremos las condiciones de la instalación

PASO 10 : Poco a poco ira realizano la instalación

PASO 11 : Con esto habremos finalizado la instalación y podremos arracar Bonita Studio

PASO 12 : La primera vez que lo arranquemos nos solicitará que nos registremos

PASO 13 : Una vez registrados arrancará la aplicación.

Con esto ya tendremos instalado todo lo necesarios y ya podremos empezar a trabajar ;-)

4. Uso

En este punto se va enseñar a usar un poco la herramienta (sobre todo centrandonos en el uso de la interfaz de Bonita Studio), el motivo muy sencillo, si no empezamos definiendo bien nuestro proceso BPM desde su diseño nos complicaremos la vida en las siguientes fases.
PASO 1 : Cargamos la aplicación y seleccionamos la opción "Create New Process"

PASO 2 : Tras seleccionar esta opción nos cargará una diagrama BPM Básico de ejemplo

PASO 3 : Seleccionaremos la tarea definida y en la ficha de detalle cambiaremos su identificador y añadiremos una descripción

La pantalla de detalle de las tareas permitirá poder configurar diferentes aspectos agrupados en varias pestañas. Por ejemplo en la pestaña general podremos modificar cosas como :
  • Identificador
  • Texto descriptivo
  • Tipo de actividad : Humana / Automática / Subproceso / ....
  • Prioridad : Normal / High / Urgent
En el resto de pestañas podremos configurar aspectos como el tipo de ejecución, si tiene algun tipo de condición de ejecución basado en tiempo, si tiene algun tipo de filtro de los usuarios que podrán ejecutarla, etc.
Importante : Estas propiedades no solo se aplican sobre las actividades sino que se aplican sobre cualquier elemento que forme parte del proceso. Hay que tener en cuenta que estas propiedades cambiarán de un elemento a otro
PASO 4 : Añadimos otra tarea (pero del tipo autmático) al diagrama y la conectamos con "Tarea 1"

PASO 5 : Añadimos un estado de finalización y lo conectamos con "Tarea 2"


5. Configuración.

La herramienta Bonita Open Studio permite editar sus preferencias para ellos dispone una opción de menu : Editar -> Preferences

Las principales pestañas son las siguientes :
Bonita : En esta pestaña se permite configurar cosas para el módulo Studio como son el idioma de la interfaz de usuario y lo que es más importanta la inclusión automática de un identificador a cada uno de los elementos del diagrama.
Por otro lado, también permite configurar ciertas propiedades del módulo de User Experience como son el host y puerto en el que lo arrancará, si lo hará en un explirador web frecuente o bien en una interfaz interna de Bonita Studio.

General : En esta pestaña se permite configurar aspectos como : si la ejecución se hará en background , la configuración de las características de workspace (refrescar, guardar, codificación, etc).

Java : En esta pestaña se podrá configurar la JDK con las que se compilará el proyecto, los directorios creados en la ejecución de un asistente de creación de un nuevo proyecto Java , etc.

Mi consejo es que os deis una vuelta por el resto de opciones.

6. Conclusiones.

Aquí termina el primer tutorial de esta herramienta, que como habéis podido comprobar de momento no ha presentado ninguna problemática o dificultad a la hora de instalarla (ojalá fueran todas asi). Para los que ya tenéis cierta experiencia con herramientas BPM Open Source os habréis dado cuente de que es de las herramientas más intutivas y si me permitis el chiste fácil de las más "Bonitas" visualmente hablando, aunque como todos ya sabemos no hay que fijarse solamente en el físico y en ese caso Bonita también deja entrever su potencia real (que es mucha). Espero que os haya gustado