SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
php | Motores de Workflow
Más allá de las Aplicaciones CRUD

Carlos Buenosvinos (carlos.buenosvinos@gmail.com)
Zend PHP Certified – CIO at Latam Training

Carlos Crespo (thecresp@gmail.com)
PHP Consultant at Latam Training
Presentación
   Ponente y Ayudante
       Carlos Buenosvinos
           25 años, Ingeniero Informático Superior por la UPC (Universitat Politècnica de Catalunya)
           Zend PHP Certified, Ponente en la 1ª phpBarcelona Conference
           CIO at Latam Training (Consultoría de eRRHH – www.latamtraining.com)
       Carlos Crespo
           25 años, Ingeniero Informático Superior por la UPC (Universitat Politècnica de Catalunya)
           PHP Consultant at Latam Training (Consultoria de eRRHH – www.latamtraining.com)


   Objetivos del Taller
       Conocer los Principios de un Motor de Workflow
       Identificar cuándo es interesante aplicar un Motor de Workflow
       Conocer las Soluciones de Motores de Workflow existentes en PHP
       Practicar la implementación de un Motor de Workflow en una pequeña Aplicación Web


   Metodología del Taller
       Duración: 1 hora y media
           Ponencia: 30 minutos
           Parte Práctica: 1 hora
       Guiado a através de Ejercicios Prácticos (Guía Online)
       ¿Qué pasa si tengo un problema o duda?
Conceptos Previos
   Flujo de Trabajo (Workflow)
       El Flujo de trabajo es el estudio de los aspectos operacionales de una actividad de trabajo:
        cómo se estructuran las tareas, cómo se realizan, cuál es su orden correlativo, cómo se
        sincronizan, cómo fluye la información que soporta las tareas y cómo se le hace seguimiento al
        cumplimiento de las tareas.


   Proceso de Negocio (Business Process)
       Un proceso de negocio es un conjunto de tareas relacionadas lógicamente llevadas a cabo para
        lograr un resultado de negocio definido. Cada proceso de negocio tiene sus entradas, funciones
        y salidas. Las entradas son requisitos que deben tenerse antes de que una función pueda ser
        aplicada. Cuando una función es aplicada a las entradas de un método, tendremos ciertas
        salidas resultantes.


   BPM (Business Process Management)
       Se llama Business Process Management a la metodología empresarial cuyo objetivo es
        mejorar la eficiencia a través de la gestión sistemática de los procesos de negocio (BPR), que se
        deben modelar, automatizar, integrar, monitorear y optimizar de forma contínua.


   Lenguaje de Definición de Workflow (Workflow Language)
       BPEL (Business Process Execution Language)
       XPDL (XML Process Definition Language)
       YAWL (Yet Another Workflow Language)
Case Study: MeGustaRefactorizar S.L.
 Introducción
 MeGustaRefactorizar S.L dispone de una Aplicación Web a medida
    (rucu-rucu) para gestionar la Elaboración, Presentación y Aprobación
    de Proyectos para Clientes.

   Problema nº 1
   Con las sucesivas expansiones de la Empresa, el proceso se ha ido y se irá haciendo
    cada vez más complejo  Facilidad de ampliación e interrelación (Extensibilidad)
   Problema nº 2
   En función del Director de Ventas, el proceso cambia alterando los pasos, algunos
    aspectos del proceso, etc. Para ello, se refactoriza mucho cuando realmente sólo
    cambia el orden de los pasos (proceso)  Facilidad en la modificación (Adaptabilidad)
   Problema nº 3
   Cuando los procesos cambian, el control sobre el estado de cada uno de ellos,
    monitorización, etc. se ha de reimplementar  Control sobre los Procesos (Gestión)
 ¿Os animáis a implementar un
            Inicio
          expediente
                                                                       proceso de estas
                                                                       características, a mano, siendo
             Inicial
                                                                       susceptible de que cambie, se
                                                                       amplíe, etc.?
                                        30 días
          Negociación
            cliente
           Iniciador


                                                  Fin Rechazado
           Propuesta




            Revisión                                                                    Reestudio
                                                                             Eleva
                                                        Evaluación
                                  Rechazado                                Propuesta
           Interventor                                                                   Riesgos
                                                                            Central
                                                           Iniciador




                         Aceptado
60 días



                         Notificación
                           Cliente
                          Iniciador




                                                   Firma                                Tramite
                         Notificado
                                                                         Firmado                    Fin Aceptado
                                                                                       Administr.
                          cliente
                                                  Delegado                              Gestoría
Case Study: MeGustaRefactorizar S.L.
 Carta a los Reyes Magos
   Quiero poder definir un proceso fácilmente (entradas,
    salidas, acciones, etc.) a través de un fichero de
    configuración o de definición.
   Quiero modificar el proceso fácilmente a través de modificar
    el fichero de configuración y que todo siga funcionando.
   Quiero tener una herramienta que me permita crear una
    instancia de un proceso, ejecutarla, pararla, reanudarla, etc.


 Solución
   Utilizar un Gestor de Workflows o Motor de Workflows, en su
    defecto.
¿Qué es un Gestor de Workflows?
 Gestor de Workflows (Workflow Management)
   Una aplicación que automatiza la secuencia de acciones, actividades o
      tareas utilizadas para la ejecución del proceso, incluyendo el
      seguimiento del estado de cada una de sus etapas y la aportación de
      las herramientas necesarias para gestionarlo


 Objetivos de un Gestor de Workflows
   Reflejar, mecanizar y automatizar los métodos y organización en el
      sistema de información
     Establecer los mecanismos de control y seguimiento de los
      procedimientos organizativos
     Independizar el método y flujo de trabajo de las personas que lo
      ejecutan
     Facilitar la movilidad del personal
     Soportar procesos de reingeniería de negocio
Elementos de un Gestor de Workflows
                      Definición y Modelado
                           del Proceso




                           API Workflow
Otros Motores                                       Herramientas de
(Por ejemplo:                                       Monitorización y
                             Motor de
   Reglas)                                              Gestión
                             Workflow




                                    Aplicaciones Invocadas
          Aplicaciones Cliente
                                          (Servicios)
Arquitectura de un Motor de WFs
Soluciones Motores de WF en PHP
   Soluciones Nativas en PHP
       Alto Nivel: CuteFlow: http://www.cuteflow.org/ (Workflow de quot;Documentosquot;, no se
        ajusta exactamente)
       Medio Nivel: Galaxia Workflow (forma parte de TikiWiki Project):
        http://workflow.tikiwiki.org/ (Stand-alone complejo)
       Bajo Nivel: Usar ezcWorkflow Components (ezComponents -
        http://ezcomponents.org): Subconjunto de los ezComponents (eZ Systems AS – Derick
        Rethans) orientado a ejecutar flujos de trabajo representados a través de Grafos
       Alternativas:
           Esperar a que los frameworks MVC más utilizados (Zend, Symfony, CakePHP, CodeIgnition, etc.)
            implementen unos componentes parecidos a los ezcWorkflows
           Desarrollar nuestro propio Motor de Workflow


   Otras soluciones
       Java dispone de infinitos sistemas de Workflow
       Podemos utilizarlos a través de un PHP-Java Bridge
           php/Java Bridge (http://php-java-bridge.sourceforge.net)
       Algunos de los Motores de WF en JAVA más usados:
           OpenWFE (www.openwfe.org)
           jBPM (http://jbpm.org/)
           JavaFlow (http://commons.apache.org/sandbox/javaflow)
Aplicaciones para los Motores de WF
 Sistemas de Reserva Online
      Hoteles, Viajes, etc. (Introducir fechas y destino, elegir disponibilidad, datos bancarios,
       confirmación del pago, etc.)

 ECM (Enterprise Content Management)
 Simulación / Árboles de Decisión
 Implementación de Autómatas (Reconocer Lenguajes, IA, etc.)
 Gestores Documentales
      Generación, Validación y Revisión de Documentos

 CMS (Content Management System)
 Procesos de Instalación
 BPM (Business Process Management)
      Procesos de Negocio Internos (Selección de Personal, Fabricación de Productos, Gestión
       de Stocks, etc.)
      Procesos de Negocio Externos (Gestión de Proveedores, Gestión de Clientes, etc.)
Ventajas y Desventajas
 Ventajas
   Ahorro de Tiempo en la redefinición de Procesos (sólo modificar un
    XML)
   Ahorro de Tiempo en la creación de nuevos Procesos (definir
    proceso e implementar los Servicios), utilización de Servicios ya
    existentes
   Más Claridad en la definición de la Lógica de la Aplicación
   Ayuda a definir el Propio proceso de Negocio



 Desventajas
   Capa Adicional (Mayor Complejidad)
   Configuraciones Adicionales
Conclusión
 Por el tiempo/coste de Implementación,
 vale la pena usar un Motor de Workflow en
 Aplicaciones Web que gestionen Procesos
 susceptibles de modificarse y/o ampliarse
 en el tiempo.
php | Conceptos Prácticos
Entrando en los ezWorkflow Components
Conceptos Prácticos: ezcWorkflow
Los ezcWorkflows disponen de 2 APIs:
 Workflow Definition API
      API para crear, modificar y borrar definiciones de Workflows


 Workflow Execution API
      Funcionalidades para iniciar, suspender, parar y reanudar la ejecución de un
       Workflow
      Funcionalidades para monitorizar la ejecución de un Workflow
Workflow de Ejemplo

    Diferentes Tipos de Nodo

    Start, End, Cancel, Finish

          Nodos Acción
  Parallel Split, Exlusive Choive,
 Simple Merge, Synchronization,
             Loop, etc.
           Input Nodes

       Subworkflow Nodes

     Variable Modify Nodes
Código PHP en Nodos Action
     Interficie a Implementar: execute($execution) y __toString()
1.
Definir el Workflow (Código PHP)
     Creamos un Workflow llamado ‘Test’
1.
     Creamos un Nodo Input que espera una variable booleana
2.
     llamada ‘choice’
     Asignamos, como salida del nodo inicial, el nuevo nodo creado
3.
Definir el Workflow (Código PHP)
     Creamos dos Nodos Action del Servicio ‘MyServiceObject’
1.
     pasando argumentos diferentes.
Definir el Workflow (Código PHP)
     Creamos un Nodos de Selección Exclusiva cuyo nodo precedente
1.
     es el que hemos creado dos diapositivas antes.
Definir el Workflow (Código PHP)
     Acabamos de Configurar el resto del Workflow.
1.
Leer y Grabar el Workflow en XML
     Grabar el XML del Workflow.
1.




     Leer el XML del Workflow.
2.
Fichero de Definición en XML

                     Definición de un Workflow
                                 !=
                     Ejecución de un Workflow
Guardar el Workflow en BBDD
     Creamos el DB Adapter
1.
     Nos creamos una definición del tipo de Almacenaje
2.
     Invocamos el método “save” pasándole el Workflow
3.
Leer el Workflow de una BBDD
     Creamos el DB Adapter
1.
     Nos creamos una definición del tipo de Almacenaje
2.
     Buscamos el Workflow a través de su Nombre
3.
Ejecutar un Workflow
     Después de obtener el Workflow, se asigna a la excución y se
1.
     invoca el método “start”
Resumir y Cancelar un Workflow
     Cancelamos invocando el Método “cancel”.
1.




     Después de obtener el Workflow utilizamos el método “resume”
2.
Material Teórico
 Teoría de Workflows
   http://martinfowler.com/articles/languageWorkbench.html
   http://docs.jboss.com/jbpm/v3/userguide/graphorientedprogram
    ming.html
   http://www.esw.inesc.pt/~ars/ps/sofsem2004.pdf
   http://www.yawlfoundation.org/documents/yawls.pdf
   http://www.wfmc.org/standards/docs/TC-1025_xpdl_2_2005-09-
    07_xpdl_2.pdf
php | Muchas Gracias
¡Muchas Gracias por vuestra Atención!

Más contenido relacionado

La actualidad más candente

Actividad 5 presentacion
Actividad 5 presentacionActividad 5 presentacion
Actividad 5 presentacionMilher Gonzales
 
Selección e Implantación de un Sistema de Gestión Integrado
Selección e Implantación de un Sistema de Gestión IntegradoSelección e Implantación de un Sistema de Gestión Integrado
Selección e Implantación de un Sistema de Gestión IntegradoDigital Learning SL
 
Introducción bpms
Introducción bpmsIntroducción bpms
Introducción bpmsmayer2380
 
selección e implementación de un ERP
selección e implementación de un ERPselección e implementación de un ERP
selección e implementación de un ERPGabriel Gongora
 
7 Elementos cruciales para la Gestión de servicios de TI
7 Elementos cruciales para la Gestión de servicios de TI7 Elementos cruciales para la Gestión de servicios de TI
7 Elementos cruciales para la Gestión de servicios de TISistemas Integrados de Gestión
 
Sensibilización en Metodologías Ágiles
Sensibilización en Metodologías ÁgilesSensibilización en Metodologías Ágiles
Sensibilización en Metodologías ÁgilesSorey García
 
AST Probatch - Workload Automation
AST Probatch - Workload AutomationAST Probatch - Workload Automation
AST Probatch - Workload Automationagustinars
 
Obstáculos en la implementación de ERPs
Obstáculos en la implementación de ERPsObstáculos en la implementación de ERPs
Obstáculos en la implementación de ERPsejordi
 
Analisis y especificacion de requerimientos
Analisis y especificacion de requerimientosAnalisis y especificacion de requerimientos
Analisis y especificacion de requerimientosUPTP
 
Arquitecturas Empresariales, Soa Y Bpm 1.0
Arquitecturas Empresariales, Soa Y Bpm 1.0Arquitecturas Empresariales, Soa Y Bpm 1.0
Arquitecturas Empresariales, Soa Y Bpm 1.0Alberto Otero
 
Tm ds of_procesos_v20120222_v2_linkedin
Tm ds of_procesos_v20120222_v2_linkedinTm ds of_procesos_v20120222_v2_linkedin
Tm ds of_procesos_v20120222_v2_linkedinHernan Maiante
 
Plataforma Oracle para BPM
Plataforma Oracle para BPMPlataforma Oracle para BPM
Plataforma Oracle para BPMCROSSNET S.A.C.
 
Servicios Geinprod : Consultoría, Formación, Iimplantación, Soporte
Servicios Geinprod : Consultoría, Formación, Iimplantación, SoporteServicios Geinprod : Consultoría, Formación, Iimplantación, Soporte
Servicios Geinprod : Consultoría, Formación, Iimplantación, SoportePROServer Servicios Informáticos, SL
 
Adopción de BPM y SOA al interior de una organización financiera
Adopción de BPM y SOA al interior de una organización financieraAdopción de BPM y SOA al interior de una organización financiera
Adopción de BPM y SOA al interior de una organización financieraIBMSSA
 

La actualidad más candente (20)

Actividad 5 presentacion
Actividad 5 presentacionActividad 5 presentacion
Actividad 5 presentacion
 
Articulo idef
Articulo idefArticulo idef
Articulo idef
 
Proyecto análisis y Diseño de Sistemas
Proyecto análisis y Diseño de SistemasProyecto análisis y Diseño de Sistemas
Proyecto análisis y Diseño de Sistemas
 
Selección e Implantación de un Sistema de Gestión Integrado
Selección e Implantación de un Sistema de Gestión IntegradoSelección e Implantación de un Sistema de Gestión Integrado
Selección e Implantación de un Sistema de Gestión Integrado
 
Introducción bpms
Introducción bpmsIntroducción bpms
Introducción bpms
 
Herramientas de Software para Proyectos BPM
Herramientas de Software para Proyectos BPMHerramientas de Software para Proyectos BPM
Herramientas de Software para Proyectos BPM
 
selección e implementación de un ERP
selección e implementación de un ERPselección e implementación de un ERP
selección e implementación de un ERP
 
7 Elementos cruciales para la Gestión de servicios de TI
7 Elementos cruciales para la Gestión de servicios de TI7 Elementos cruciales para la Gestión de servicios de TI
7 Elementos cruciales para la Gestión de servicios de TI
 
Como mejorar gestión procesos negocio 9 etapas
Como mejorar gestión procesos negocio 9 etapasComo mejorar gestión procesos negocio 9 etapas
Como mejorar gestión procesos negocio 9 etapas
 
Sensibilización en Metodologías Ágiles
Sensibilización en Metodologías ÁgilesSensibilización en Metodologías Ágiles
Sensibilización en Metodologías Ágiles
 
Segunda unidad i
Segunda unidad iSegunda unidad i
Segunda unidad i
 
AST Probatch - Workload Automation
AST Probatch - Workload AutomationAST Probatch - Workload Automation
AST Probatch - Workload Automation
 
Obstáculos en la implementación de ERPs
Obstáculos en la implementación de ERPsObstáculos en la implementación de ERPs
Obstáculos en la implementación de ERPs
 
Analisis y especificacion de requerimientos
Analisis y especificacion de requerimientosAnalisis y especificacion de requerimientos
Analisis y especificacion de requerimientos
 
Arquitecturas Empresariales, Soa Y Bpm 1.0
Arquitecturas Empresariales, Soa Y Bpm 1.0Arquitecturas Empresariales, Soa Y Bpm 1.0
Arquitecturas Empresariales, Soa Y Bpm 1.0
 
Tm ds of_procesos_v20120222_v2_linkedin
Tm ds of_procesos_v20120222_v2_linkedinTm ds of_procesos_v20120222_v2_linkedin
Tm ds of_procesos_v20120222_v2_linkedin
 
Plataforma Oracle para BPM
Plataforma Oracle para BPMPlataforma Oracle para BPM
Plataforma Oracle para BPM
 
Servicios Geinprod : Consultoría, Formación, Iimplantación, Soporte
Servicios Geinprod : Consultoría, Formación, Iimplantación, SoporteServicios Geinprod : Consultoría, Formación, Iimplantación, Soporte
Servicios Geinprod : Consultoría, Formación, Iimplantación, Soporte
 
Adopción de BPM y SOA al interior de una organización financiera
Adopción de BPM y SOA al interior de una organización financieraAdopción de BPM y SOA al interior de una organización financiera
Adopción de BPM y SOA al interior de una organización financiera
 
Ponencia gestión por procesos
Ponencia gestión por procesosPonencia gestión por procesos
Ponencia gestión por procesos
 

Destacado

Sistemas Workflow-BPS (Gestión de Procesos)
Sistemas Workflow-BPS (Gestión de Procesos)Sistemas Workflow-BPS (Gestión de Procesos)
Sistemas Workflow-BPS (Gestión de Procesos)Digital Learning SL
 
Seminario Business Analysis - La conexión entre negocio y equipo tecnológico
Seminario Business Analysis - La conexión entre negocio y equipo tecnológicoSeminario Business Analysis - La conexión entre negocio y equipo tecnológico
Seminario Business Analysis - La conexión entre negocio y equipo tecnológiconetmind
 
Proceso WorkFlow
Proceso WorkFlowProceso WorkFlow
Proceso WorkFlowinfopgn
 
Gijón modelo e-administración y utilización de servicios comunes del CTT_PAE
Gijón modelo e-administración y utilización de servicios comunes del CTT_PAEGijón modelo e-administración y utilización de servicios comunes del CTT_PAE
Gijón modelo e-administración y utilización de servicios comunes del CTT_PAEFernando Alvarez
 
Curso introduccion microsoft_sql_server_business_intelligence
Curso introduccion microsoft_sql_server_business_intelligenceCurso introduccion microsoft_sql_server_business_intelligence
Curso introduccion microsoft_sql_server_business_intelligenceSalvador Ramos
 
Php Barcelona Workshop2008 Motores De Workflow En Php Guia
Php Barcelona Workshop2008 Motores De Workflow En Php GuiaPhp Barcelona Workshop2008 Motores De Workflow En Php Guia
Php Barcelona Workshop2008 Motores De Workflow En Php GuiaCarlos Buenosvinos
 
Groupware y Workflow
Groupware y WorkflowGroupware y Workflow
Groupware y WorkflowCesar Flores
 
1998 08-28 mm (costa rica, una - spanish) - workflow-documents
1998 08-28  mm (costa rica, una - spanish) - workflow-documents1998 08-28  mm (costa rica, una - spanish) - workflow-documents
1998 08-28 mm (costa rica, una - spanish) - workflow-documentsMike Marin
 
La minería de procesos en la auditoria de sistemas de información
La minería de procesos en la auditoria de sistemas de informaciónLa minería de procesos en la auditoria de sistemas de información
La minería de procesos en la auditoria de sistemas de informaciónG2, Gobierno y Gestión de TI, SL
 
Ley Nº 30309 Ley que promueve proyectos de Investigación, Desarrollo Tecnológ...
Ley Nº 30309 Ley que promueve proyectos de Investigación, Desarrollo Tecnológ...Ley Nº 30309 Ley que promueve proyectos de Investigación, Desarrollo Tecnológ...
Ley Nº 30309 Ley que promueve proyectos de Investigación, Desarrollo Tecnológ...Oannes, Señor de las Olas
 
Curso Liferay 6.2: Unidad Didáctica 05 Workflow
Curso Liferay 6.2: Unidad Didáctica 05 WorkflowCurso Liferay 6.2: Unidad Didáctica 05 Workflow
Curso Liferay 6.2: Unidad Didáctica 05 WorkflowDavid Vaquero
 
Clase 04 Arquitectura PACS
Clase 04 Arquitectura PACSClase 04 Arquitectura PACS
Clase 04 Arquitectura PACSEduardo Silva
 
Reingeniería de procesos
Reingeniería de procesosReingeniería de procesos
Reingeniería de procesosteolbaldo
 
Estilos de Software
Estilos de SoftwareEstilos de Software
Estilos de Softwarebjjuarez
 

Destacado (20)

Sistemas Workflow-BPS (Gestión de Procesos)
Sistemas Workflow-BPS (Gestión de Procesos)Sistemas Workflow-BPS (Gestión de Procesos)
Sistemas Workflow-BPS (Gestión de Procesos)
 
Seminario Business Analysis - La conexión entre negocio y equipo tecnológico
Seminario Business Analysis - La conexión entre negocio y equipo tecnológicoSeminario Business Analysis - La conexión entre negocio y equipo tecnológico
Seminario Business Analysis - La conexión entre negocio y equipo tecnológico
 
Proceso WorkFlow
Proceso WorkFlowProceso WorkFlow
Proceso WorkFlow
 
Workflow
WorkflowWorkflow
Workflow
 
Gijón modelo e-administración y utilización de servicios comunes del CTT_PAE
Gijón modelo e-administración y utilización de servicios comunes del CTT_PAEGijón modelo e-administración y utilización de servicios comunes del CTT_PAE
Gijón modelo e-administración y utilización de servicios comunes del CTT_PAE
 
Curso introduccion microsoft_sql_server_business_intelligence
Curso introduccion microsoft_sql_server_business_intelligenceCurso introduccion microsoft_sql_server_business_intelligence
Curso introduccion microsoft_sql_server_business_intelligence
 
Php Barcelona Workshop2008 Motores De Workflow En Php Guia
Php Barcelona Workshop2008 Motores De Workflow En Php GuiaPhp Barcelona Workshop2008 Motores De Workflow En Php Guia
Php Barcelona Workshop2008 Motores De Workflow En Php Guia
 
Groupware y Workflow
Groupware y WorkflowGroupware y Workflow
Groupware y Workflow
 
1998 08-28 mm (costa rica, una - spanish) - workflow-documents
1998 08-28  mm (costa rica, una - spanish) - workflow-documents1998 08-28  mm (costa rica, una - spanish) - workflow-documents
1998 08-28 mm (costa rica, una - spanish) - workflow-documents
 
La minería de procesos en la auditoria de sistemas de información
La minería de procesos en la auditoria de sistemas de informaciónLa minería de procesos en la auditoria de sistemas de información
La minería de procesos en la auditoria de sistemas de información
 
Groupware y Workflow
Groupware y Workflow Groupware y Workflow
Groupware y Workflow
 
jBPM, open source BPM
jBPM, open source BPMjBPM, open source BPM
jBPM, open source BPM
 
Ley Nº 30309 Ley que promueve proyectos de Investigación, Desarrollo Tecnológ...
Ley Nº 30309 Ley que promueve proyectos de Investigación, Desarrollo Tecnológ...Ley Nº 30309 Ley que promueve proyectos de Investigación, Desarrollo Tecnológ...
Ley Nº 30309 Ley que promueve proyectos de Investigación, Desarrollo Tecnológ...
 
Reingenieria
ReingenieriaReingenieria
Reingenieria
 
Guía business case
Guía business caseGuía business case
Guía business case
 
Curso Liferay 6.2: Unidad Didáctica 05 Workflow
Curso Liferay 6.2: Unidad Didáctica 05 WorkflowCurso Liferay 6.2: Unidad Didáctica 05 Workflow
Curso Liferay 6.2: Unidad Didáctica 05 Workflow
 
Clase 04 Arquitectura PACS
Clase 04 Arquitectura PACSClase 04 Arquitectura PACS
Clase 04 Arquitectura PACS
 
Workflow
WorkflowWorkflow
Workflow
 
Reingeniería de procesos
Reingeniería de procesosReingeniería de procesos
Reingeniería de procesos
 
Estilos de Software
Estilos de SoftwareEstilos de Software
Estilos de Software
 

Similar a Php Barcelona Workshop2008 Motores De Workflow En Php Presentacion

Kaldeera Workflow Desginer 2009
Kaldeera Workflow Desginer 2009Kaldeera Workflow Desginer 2009
Kaldeera Workflow Desginer 2009Kaldeera
 
Semana 3 racionalizacion gestión por procesos
Semana 3 racionalizacion gestión por procesosSemana 3 racionalizacion gestión por procesos
Semana 3 racionalizacion gestión por procesosAugusto Javes Sanchez
 
Pb110021 Metodologia
Pb110021 MetodologiaPb110021 Metodologia
Pb110021 Metodologiaoswchavez
 
Ciclo de vida del sofware
Ciclo de vida del sofwareCiclo de vida del sofware
Ciclo de vida del sofwareADRIAN ROMERO
 
Ciclo De Vida
Ciclo De VidaCiclo De Vida
Ciclo De VidaJgperez
 
Los procesos en las empresas
Los procesos en las empresasLos procesos en las empresas
Los procesos en las empresasPauline1717
 
Bpm Value Proposition + Ultimus
Bpm Value Proposition + UltimusBpm Value Proposition + Ultimus
Bpm Value Proposition + UltimusHernan Marsili
 
Sesion 1 proceso software
Sesion 1 proceso softwareSesion 1 proceso software
Sesion 1 proceso softwareJulio Pari
 
El arte del modelado de procesos de negocio ejecutables
El arte del modelado de procesos de negocio ejecutablesEl arte del modelado de procesos de negocio ejecutables
El arte del modelado de procesos de negocio ejecutablesEsteban J. Felipe M.
 
Cómo crear un Centro de Excelencia de Automatización 2
Cómo crear un Centro de Excelencia de Automatización 2Cómo crear un Centro de Excelencia de Automatización 2
Cómo crear un Centro de Excelencia de Automatización 2HelpSystems
 
Sesion 1 ds introduccion_disenoprevios
Sesion 1 ds introduccion_disenopreviosSesion 1 ds introduccion_disenoprevios
Sesion 1 ds introduccion_disenopreviosJulio Pari
 
Rup ing soft
Rup ing softRup ing soft
Rup ing softDuan_305
 
Procesos avanzados de gestion II
Procesos avanzados de gestion IIProcesos avanzados de gestion II
Procesos avanzados de gestion IIUTPL UTPL
 
Arquitectura de un sistema financiero complejo
Arquitectura de un sistema financiero complejoArquitectura de un sistema financiero complejo
Arquitectura de un sistema financiero complejoGabriel Omar Cotelli
 

Similar a Php Barcelona Workshop2008 Motores De Workflow En Php Presentacion (20)

Kaldeera Workflow Desginer 2009
Kaldeera Workflow Desginer 2009Kaldeera Workflow Desginer 2009
Kaldeera Workflow Desginer 2009
 
Semana 3 racionalizacion gestión por procesos
Semana 3 racionalizacion gestión por procesosSemana 3 racionalizacion gestión por procesos
Semana 3 racionalizacion gestión por procesos
 
Construccion de sistemas
Construccion de sistemasConstruccion de sistemas
Construccion de sistemas
 
Pb110021 Metodologia
Pb110021 MetodologiaPb110021 Metodologia
Pb110021 Metodologia
 
Ciclo de vida del sofware
Ciclo de vida del sofwareCiclo de vida del sofware
Ciclo de vida del sofware
 
Ciclo de vida software
Ciclo de vida softwareCiclo de vida software
Ciclo de vida software
 
Ciclo De Vida
Ciclo De VidaCiclo De Vida
Ciclo De Vida
 
Los procesos en las empresas
Los procesos en las empresasLos procesos en las empresas
Los procesos en las empresas
 
Bpm Value Proposition + Ultimus
Bpm Value Proposition + UltimusBpm Value Proposition + Ultimus
Bpm Value Proposition + Ultimus
 
Sesion 1 proceso software
Sesion 1 proceso softwareSesion 1 proceso software
Sesion 1 proceso software
 
El arte del modelado de procesos de negocio ejecutables
El arte del modelado de procesos de negocio ejecutablesEl arte del modelado de procesos de negocio ejecutables
El arte del modelado de procesos de negocio ejecutables
 
Cómo crear un Centro de Excelencia de Automatización 2
Cómo crear un Centro de Excelencia de Automatización 2Cómo crear un Centro de Excelencia de Automatización 2
Cómo crear un Centro de Excelencia de Automatización 2
 
Procesos crea
Procesos creaProcesos crea
Procesos crea
 
Provision
ProvisionProvision
Provision
 
Sesion 1 asi
Sesion 1 asiSesion 1 asi
Sesion 1 asi
 
Sesion 1 ds introduccion_disenoprevios
Sesion 1 ds introduccion_disenopreviosSesion 1 ds introduccion_disenoprevios
Sesion 1 ds introduccion_disenoprevios
 
Rup
RupRup
Rup
 
Rup ing soft
Rup ing softRup ing soft
Rup ing soft
 
Procesos avanzados de gestion II
Procesos avanzados de gestion IIProcesos avanzados de gestion II
Procesos avanzados de gestion II
 
Arquitectura de un sistema financiero complejo
Arquitectura de un sistema financiero complejoArquitectura de un sistema financiero complejo
Arquitectura de un sistema financiero complejo
 

Más de Carlos Buenosvinos

Kit de Supervivencia para CTOs y Engineering Managers
Kit de Supervivencia para CTOs y Engineering ManagersKit de Supervivencia para CTOs y Engineering Managers
Kit de Supervivencia para CTOs y Engineering ManagersCarlos Buenosvinos
 
Deliveritis Crónica - CAS Spain 2020 (Agile Is The New Normal)
Deliveritis Crónica - CAS Spain 2020 (Agile Is The New Normal)Deliveritis Crónica - CAS Spain 2020 (Agile Is The New Normal)
Deliveritis Crónica - CAS Spain 2020 (Agile Is The New Normal)Carlos Buenosvinos
 
Eventos, mensajería y otras fábulas - PulpoCon 2019
Eventos, mensajería y otras fábulas - PulpoCon 2019Eventos, mensajería y otras fábulas - PulpoCon 2019
Eventos, mensajería y otras fábulas - PulpoCon 2019Carlos Buenosvinos
 
Road From Hex. Architecture to Event Sourcing
Road From Hex. Architecture to Event SourcingRoad From Hex. Architecture to Event Sourcing
Road From Hex. Architecture to Event SourcingCarlos Buenosvinos
 
De Arquitectura Hexagonal a Event Sourcing
De Arquitectura Hexagonal a Event SourcingDe Arquitectura Hexagonal a Event Sourcing
De Arquitectura Hexagonal a Event SourcingCarlos Buenosvinos
 
Primeros Pasos Liderando Equipos Técnicos - Techne 2018
Primeros Pasos Liderando Equipos Técnicos - Techne 2018Primeros Pasos Liderando Equipos Técnicos - Techne 2018
Primeros Pasos Liderando Equipos Técnicos - Techne 2018Carlos Buenosvinos
 
A Journey from Hexagonal Architecture to Event Sourcing - SymfonyCon Cluj 2017
A Journey from Hexagonal Architecture to Event Sourcing - SymfonyCon Cluj 2017A Journey from Hexagonal Architecture to Event Sourcing - SymfonyCon Cluj 2017
A Journey from Hexagonal Architecture to Event Sourcing - SymfonyCon Cluj 2017Carlos Buenosvinos
 
A Journey from Hexagonal Architecture to Event Sourcing
A Journey from Hexagonal Architecture to Event SourcingA Journey from Hexagonal Architecture to Event Sourcing
A Journey from Hexagonal Architecture to Event SourcingCarlos Buenosvinos
 
Integrating Bounded Contexts Tips - Dutch PHP 2016
Integrating Bounded Contexts Tips - Dutch PHP 2016Integrating Bounded Contexts Tips - Dutch PHP 2016
Integrating Bounded Contexts Tips - Dutch PHP 2016Carlos Buenosvinos
 
Economía del Desarrollo de Software - PHP Barcelona - Marzo 2015
Economía del Desarrollo de Software - PHP Barcelona - Marzo 2015Economía del Desarrollo de Software - PHP Barcelona - Marzo 2015
Economía del Desarrollo de Software - PHP Barcelona - Marzo 2015Carlos Buenosvinos
 
Desarrollo Profesional con PHP 2014/15 - Nivel Bajo / Medio
Desarrollo Profesional con PHP 2014/15 - Nivel Bajo / MedioDesarrollo Profesional con PHP 2014/15 - Nivel Bajo / Medio
Desarrollo Profesional con PHP 2014/15 - Nivel Bajo / MedioCarlos Buenosvinos
 
Hexagonal Architecture - PHP Barcelona Monthly Talk (DDD)
Hexagonal Architecture - PHP Barcelona Monthly Talk (DDD)Hexagonal Architecture - PHP Barcelona Monthly Talk (DDD)
Hexagonal Architecture - PHP Barcelona Monthly Talk (DDD)Carlos Buenosvinos
 
PHP 2014/15 - Visión global del ecosistema PHP
PHP 2014/15 - Visión global del ecosistema PHPPHP 2014/15 - Visión global del ecosistema PHP
PHP 2014/15 - Visión global del ecosistema PHPCarlos Buenosvinos
 
Desarrollo móvil con Titanium, PhoneGap y otros
Desarrollo móvil con Titanium, PhoneGap y otrosDesarrollo móvil con Titanium, PhoneGap y otros
Desarrollo móvil con Titanium, PhoneGap y otrosCarlos Buenosvinos
 
Introducción a Agile y Scrum (BetaBeers.com)
Introducción a Agile y Scrum (BetaBeers.com)Introducción a Agile y Scrum (BetaBeers.com)
Introducción a Agile y Scrum (BetaBeers.com)Carlos Buenosvinos
 
Team Engagement PHP Barcelona 2011
Team Engagement PHP Barcelona 2011Team Engagement PHP Barcelona 2011
Team Engagement PHP Barcelona 2011Carlos Buenosvinos
 
Scrum al Detalle: Revision práctica y perversiones humanas
Scrum al Detalle: Revision práctica y perversiones humanasScrum al Detalle: Revision práctica y perversiones humanas
Scrum al Detalle: Revision práctica y perversiones humanasCarlos Buenosvinos
 
Zend PHP 5.3 Demo Certification Test
Zend PHP 5.3 Demo Certification TestZend PHP 5.3 Demo Certification Test
Zend PHP 5.3 Demo Certification TestCarlos Buenosvinos
 

Más de Carlos Buenosvinos (20)

Kit de Supervivencia para CTOs y Engineering Managers
Kit de Supervivencia para CTOs y Engineering ManagersKit de Supervivencia para CTOs y Engineering Managers
Kit de Supervivencia para CTOs y Engineering Managers
 
Deliveritis Crónica - CAS Spain 2020 (Agile Is The New Normal)
Deliveritis Crónica - CAS Spain 2020 (Agile Is The New Normal)Deliveritis Crónica - CAS Spain 2020 (Agile Is The New Normal)
Deliveritis Crónica - CAS Spain 2020 (Agile Is The New Normal)
 
Eventos, mensajería y otras fábulas - PulpoCon 2019
Eventos, mensajería y otras fábulas - PulpoCon 2019Eventos, mensajería y otras fábulas - PulpoCon 2019
Eventos, mensajería y otras fábulas - PulpoCon 2019
 
Road From Hex. Architecture to Event Sourcing
Road From Hex. Architecture to Event SourcingRoad From Hex. Architecture to Event Sourcing
Road From Hex. Architecture to Event Sourcing
 
De Arquitectura Hexagonal a Event Sourcing
De Arquitectura Hexagonal a Event SourcingDe Arquitectura Hexagonal a Event Sourcing
De Arquitectura Hexagonal a Event Sourcing
 
Primeros Pasos Liderando Equipos Técnicos - Techne 2018
Primeros Pasos Liderando Equipos Técnicos - Techne 2018Primeros Pasos Liderando Equipos Técnicos - Techne 2018
Primeros Pasos Liderando Equipos Técnicos - Techne 2018
 
A Journey from Hexagonal Architecture to Event Sourcing - SymfonyCon Cluj 2017
A Journey from Hexagonal Architecture to Event Sourcing - SymfonyCon Cluj 2017A Journey from Hexagonal Architecture to Event Sourcing - SymfonyCon Cluj 2017
A Journey from Hexagonal Architecture to Event Sourcing - SymfonyCon Cluj 2017
 
A Journey from Hexagonal Architecture to Event Sourcing
A Journey from Hexagonal Architecture to Event SourcingA Journey from Hexagonal Architecture to Event Sourcing
A Journey from Hexagonal Architecture to Event Sourcing
 
Scrum, no eres tú, soy yo
Scrum, no eres tú, soy yoScrum, no eres tú, soy yo
Scrum, no eres tú, soy yo
 
Integrating Bounded Contexts Tips - Dutch PHP 2016
Integrating Bounded Contexts Tips - Dutch PHP 2016Integrating Bounded Contexts Tips - Dutch PHP 2016
Integrating Bounded Contexts Tips - Dutch PHP 2016
 
Economía del Desarrollo de Software - PHP Barcelona - Marzo 2015
Economía del Desarrollo de Software - PHP Barcelona - Marzo 2015Economía del Desarrollo de Software - PHP Barcelona - Marzo 2015
Economía del Desarrollo de Software - PHP Barcelona - Marzo 2015
 
Desarrollo Profesional con PHP 2014/15 - Nivel Bajo / Medio
Desarrollo Profesional con PHP 2014/15 - Nivel Bajo / MedioDesarrollo Profesional con PHP 2014/15 - Nivel Bajo / Medio
Desarrollo Profesional con PHP 2014/15 - Nivel Bajo / Medio
 
Hexagonal Architecture - PHP Barcelona Monthly Talk (DDD)
Hexagonal Architecture - PHP Barcelona Monthly Talk (DDD)Hexagonal Architecture - PHP Barcelona Monthly Talk (DDD)
Hexagonal Architecture - PHP Barcelona Monthly Talk (DDD)
 
PHP 2014/15 - Visión global del ecosistema PHP
PHP 2014/15 - Visión global del ecosistema PHPPHP 2014/15 - Visión global del ecosistema PHP
PHP 2014/15 - Visión global del ecosistema PHP
 
Desarrollo móvil con Titanium, PhoneGap y otros
Desarrollo móvil con Titanium, PhoneGap y otrosDesarrollo móvil con Titanium, PhoneGap y otros
Desarrollo móvil con Titanium, PhoneGap y otros
 
Introducción a Agile y Scrum (BetaBeers.com)
Introducción a Agile y Scrum (BetaBeers.com)Introducción a Agile y Scrum (BetaBeers.com)
Introducción a Agile y Scrum (BetaBeers.com)
 
Team Engagement PHP Barcelona 2011
Team Engagement PHP Barcelona 2011Team Engagement PHP Barcelona 2011
Team Engagement PHP Barcelona 2011
 
"Al rico" PHP
"Al rico" PHP"Al rico" PHP
"Al rico" PHP
 
Scrum al Detalle: Revision práctica y perversiones humanas
Scrum al Detalle: Revision práctica y perversiones humanasScrum al Detalle: Revision práctica y perversiones humanas
Scrum al Detalle: Revision práctica y perversiones humanas
 
Zend PHP 5.3 Demo Certification Test
Zend PHP 5.3 Demo Certification TestZend PHP 5.3 Demo Certification Test
Zend PHP 5.3 Demo Certification Test
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 

Último (11)

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 

Php Barcelona Workshop2008 Motores De Workflow En Php Presentacion

  • 1. php | Motores de Workflow Más allá de las Aplicaciones CRUD Carlos Buenosvinos (carlos.buenosvinos@gmail.com) Zend PHP Certified – CIO at Latam Training Carlos Crespo (thecresp@gmail.com) PHP Consultant at Latam Training
  • 2. Presentación  Ponente y Ayudante  Carlos Buenosvinos  25 años, Ingeniero Informático Superior por la UPC (Universitat Politècnica de Catalunya)  Zend PHP Certified, Ponente en la 1ª phpBarcelona Conference  CIO at Latam Training (Consultoría de eRRHH – www.latamtraining.com)  Carlos Crespo  25 años, Ingeniero Informático Superior por la UPC (Universitat Politècnica de Catalunya)  PHP Consultant at Latam Training (Consultoria de eRRHH – www.latamtraining.com)  Objetivos del Taller  Conocer los Principios de un Motor de Workflow  Identificar cuándo es interesante aplicar un Motor de Workflow  Conocer las Soluciones de Motores de Workflow existentes en PHP  Practicar la implementación de un Motor de Workflow en una pequeña Aplicación Web  Metodología del Taller  Duración: 1 hora y media  Ponencia: 30 minutos  Parte Práctica: 1 hora  Guiado a através de Ejercicios Prácticos (Guía Online)  ¿Qué pasa si tengo un problema o duda?
  • 3. Conceptos Previos  Flujo de Trabajo (Workflow)  El Flujo de trabajo es el estudio de los aspectos operacionales de una actividad de trabajo: cómo se estructuran las tareas, cómo se realizan, cuál es su orden correlativo, cómo se sincronizan, cómo fluye la información que soporta las tareas y cómo se le hace seguimiento al cumplimiento de las tareas.  Proceso de Negocio (Business Process)  Un proceso de negocio es un conjunto de tareas relacionadas lógicamente llevadas a cabo para lograr un resultado de negocio definido. Cada proceso de negocio tiene sus entradas, funciones y salidas. Las entradas son requisitos que deben tenerse antes de que una función pueda ser aplicada. Cuando una función es aplicada a las entradas de un método, tendremos ciertas salidas resultantes.  BPM (Business Process Management)  Se llama Business Process Management a la metodología empresarial cuyo objetivo es mejorar la eficiencia a través de la gestión sistemática de los procesos de negocio (BPR), que se deben modelar, automatizar, integrar, monitorear y optimizar de forma contínua.  Lenguaje de Definición de Workflow (Workflow Language)  BPEL (Business Process Execution Language)  XPDL (XML Process Definition Language)  YAWL (Yet Another Workflow Language)
  • 4. Case Study: MeGustaRefactorizar S.L.  Introducción  MeGustaRefactorizar S.L dispone de una Aplicación Web a medida (rucu-rucu) para gestionar la Elaboración, Presentación y Aprobación de Proyectos para Clientes.  Problema nº 1  Con las sucesivas expansiones de la Empresa, el proceso se ha ido y se irá haciendo cada vez más complejo  Facilidad de ampliación e interrelación (Extensibilidad)  Problema nº 2  En función del Director de Ventas, el proceso cambia alterando los pasos, algunos aspectos del proceso, etc. Para ello, se refactoriza mucho cuando realmente sólo cambia el orden de los pasos (proceso)  Facilidad en la modificación (Adaptabilidad)  Problema nº 3  Cuando los procesos cambian, el control sobre el estado de cada uno de ellos, monitorización, etc. se ha de reimplementar  Control sobre los Procesos (Gestión)
  • 5.  ¿Os animáis a implementar un Inicio expediente proceso de estas características, a mano, siendo Inicial susceptible de que cambie, se amplíe, etc.? 30 días Negociación cliente Iniciador Fin Rechazado Propuesta Revisión Reestudio Eleva Evaluación Rechazado Propuesta Interventor Riesgos Central Iniciador Aceptado 60 días Notificación Cliente Iniciador Firma Tramite Notificado Firmado Fin Aceptado Administr. cliente Delegado Gestoría
  • 6. Case Study: MeGustaRefactorizar S.L.  Carta a los Reyes Magos  Quiero poder definir un proceso fácilmente (entradas, salidas, acciones, etc.) a través de un fichero de configuración o de definición.  Quiero modificar el proceso fácilmente a través de modificar el fichero de configuración y que todo siga funcionando.  Quiero tener una herramienta que me permita crear una instancia de un proceso, ejecutarla, pararla, reanudarla, etc.  Solución  Utilizar un Gestor de Workflows o Motor de Workflows, en su defecto.
  • 7. ¿Qué es un Gestor de Workflows?  Gestor de Workflows (Workflow Management)  Una aplicación que automatiza la secuencia de acciones, actividades o tareas utilizadas para la ejecución del proceso, incluyendo el seguimiento del estado de cada una de sus etapas y la aportación de las herramientas necesarias para gestionarlo  Objetivos de un Gestor de Workflows  Reflejar, mecanizar y automatizar los métodos y organización en el sistema de información  Establecer los mecanismos de control y seguimiento de los procedimientos organizativos  Independizar el método y flujo de trabajo de las personas que lo ejecutan  Facilitar la movilidad del personal  Soportar procesos de reingeniería de negocio
  • 8. Elementos de un Gestor de Workflows Definición y Modelado del Proceso API Workflow Otros Motores Herramientas de (Por ejemplo: Monitorización y Motor de Reglas) Gestión Workflow Aplicaciones Invocadas Aplicaciones Cliente (Servicios)
  • 9. Arquitectura de un Motor de WFs
  • 10. Soluciones Motores de WF en PHP  Soluciones Nativas en PHP  Alto Nivel: CuteFlow: http://www.cuteflow.org/ (Workflow de quot;Documentosquot;, no se ajusta exactamente)  Medio Nivel: Galaxia Workflow (forma parte de TikiWiki Project): http://workflow.tikiwiki.org/ (Stand-alone complejo)  Bajo Nivel: Usar ezcWorkflow Components (ezComponents - http://ezcomponents.org): Subconjunto de los ezComponents (eZ Systems AS – Derick Rethans) orientado a ejecutar flujos de trabajo representados a través de Grafos  Alternativas:  Esperar a que los frameworks MVC más utilizados (Zend, Symfony, CakePHP, CodeIgnition, etc.) implementen unos componentes parecidos a los ezcWorkflows  Desarrollar nuestro propio Motor de Workflow  Otras soluciones  Java dispone de infinitos sistemas de Workflow  Podemos utilizarlos a través de un PHP-Java Bridge  php/Java Bridge (http://php-java-bridge.sourceforge.net)  Algunos de los Motores de WF en JAVA más usados:  OpenWFE (www.openwfe.org)  jBPM (http://jbpm.org/)  JavaFlow (http://commons.apache.org/sandbox/javaflow)
  • 11. Aplicaciones para los Motores de WF  Sistemas de Reserva Online  Hoteles, Viajes, etc. (Introducir fechas y destino, elegir disponibilidad, datos bancarios, confirmación del pago, etc.)  ECM (Enterprise Content Management)  Simulación / Árboles de Decisión  Implementación de Autómatas (Reconocer Lenguajes, IA, etc.)  Gestores Documentales  Generación, Validación y Revisión de Documentos  CMS (Content Management System)  Procesos de Instalación  BPM (Business Process Management)  Procesos de Negocio Internos (Selección de Personal, Fabricación de Productos, Gestión de Stocks, etc.)  Procesos de Negocio Externos (Gestión de Proveedores, Gestión de Clientes, etc.)
  • 12. Ventajas y Desventajas  Ventajas  Ahorro de Tiempo en la redefinición de Procesos (sólo modificar un XML)  Ahorro de Tiempo en la creación de nuevos Procesos (definir proceso e implementar los Servicios), utilización de Servicios ya existentes  Más Claridad en la definición de la Lógica de la Aplicación  Ayuda a definir el Propio proceso de Negocio  Desventajas  Capa Adicional (Mayor Complejidad)  Configuraciones Adicionales
  • 13. Conclusión  Por el tiempo/coste de Implementación, vale la pena usar un Motor de Workflow en Aplicaciones Web que gestionen Procesos susceptibles de modificarse y/o ampliarse en el tiempo.
  • 14. php | Conceptos Prácticos Entrando en los ezWorkflow Components
  • 15. Conceptos Prácticos: ezcWorkflow Los ezcWorkflows disponen de 2 APIs:  Workflow Definition API  API para crear, modificar y borrar definiciones de Workflows  Workflow Execution API  Funcionalidades para iniciar, suspender, parar y reanudar la ejecución de un Workflow  Funcionalidades para monitorizar la ejecución de un Workflow
  • 16. Workflow de Ejemplo Diferentes Tipos de Nodo Start, End, Cancel, Finish Nodos Acción Parallel Split, Exlusive Choive, Simple Merge, Synchronization, Loop, etc. Input Nodes Subworkflow Nodes Variable Modify Nodes
  • 17. Código PHP en Nodos Action Interficie a Implementar: execute($execution) y __toString() 1.
  • 18. Definir el Workflow (Código PHP) Creamos un Workflow llamado ‘Test’ 1. Creamos un Nodo Input que espera una variable booleana 2. llamada ‘choice’ Asignamos, como salida del nodo inicial, el nuevo nodo creado 3.
  • 19. Definir el Workflow (Código PHP) Creamos dos Nodos Action del Servicio ‘MyServiceObject’ 1. pasando argumentos diferentes.
  • 20. Definir el Workflow (Código PHP) Creamos un Nodos de Selección Exclusiva cuyo nodo precedente 1. es el que hemos creado dos diapositivas antes.
  • 21. Definir el Workflow (Código PHP) Acabamos de Configurar el resto del Workflow. 1.
  • 22. Leer y Grabar el Workflow en XML Grabar el XML del Workflow. 1. Leer el XML del Workflow. 2.
  • 23. Fichero de Definición en XML Definición de un Workflow != Ejecución de un Workflow
  • 24. Guardar el Workflow en BBDD Creamos el DB Adapter 1. Nos creamos una definición del tipo de Almacenaje 2. Invocamos el método “save” pasándole el Workflow 3.
  • 25. Leer el Workflow de una BBDD Creamos el DB Adapter 1. Nos creamos una definición del tipo de Almacenaje 2. Buscamos el Workflow a través de su Nombre 3.
  • 26. Ejecutar un Workflow Después de obtener el Workflow, se asigna a la excución y se 1. invoca el método “start”
  • 27. Resumir y Cancelar un Workflow Cancelamos invocando el Método “cancel”. 1. Después de obtener el Workflow utilizamos el método “resume” 2.
  • 28. Material Teórico  Teoría de Workflows  http://martinfowler.com/articles/languageWorkbench.html  http://docs.jboss.com/jbpm/v3/userguide/graphorientedprogram ming.html  http://www.esw.inesc.pt/~ars/ps/sofsem2004.pdf  http://www.yawlfoundation.org/documents/yawls.pdf  http://www.wfmc.org/standards/docs/TC-1025_xpdl_2_2005-09- 07_xpdl_2.pdf
  • 29. php | Muchas Gracias ¡Muchas Gracias por vuestra Atención!