1.11 Flujo de trabajo y Desarrollo de Aplicaciones.

# **Flujo de trabajo**

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. Generalmente los problemas de flujo de trabajo se modelan con redes de Petri.

Si bien el concepto de flujo de trabajo no es específico a la tecnología de la información, una parte esencial del software para trabajo colaborativo (groupware) es justamente el flujo de trabajo.

Una aplicación de flujos de trabajo 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

Se pueden distinguir tres tipos de actividad:

* Actividades colaborativas: Un conjunto de usuarios trabajan sobre un mismo repositorio de datos para obtener un resultado común. Tiene entidad el trabajo de cada uno de ellos en sí mismo.
* Actividades cooperativas: Un conjunto de usuarios trabajan sobre su propio conjunto particular, estableciendo los mecanismos de cooperación entre ellos. No tiene entidad el trabajo de ninguno de ellos si no es visto desde el punto de vista global del resultado final.
* Actividades de coordinación.

## **Objetivos de un sistema de workflow**

* 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.
* Agilizar el proceso de intercambio de información y agilizar la toma de decisiones de una organización, empresa o institución.
* Adicionalmente optimizar el servicio
* Mejorar la gestión del conocimiento

## **Sistemas de flujo de trabajo**

El propósito de los sistemas de flujo de trabajo, (o BPMS, business process management systems), es acercar personas, procesos y máquinas, con el objeto de reducir tiempo y acelerar la realización de un trabajo. Estos sistemas permiten trabajar en equipo desde diferentes lugares físicos. Los sistemas de workflow facilitan la automatización de los flujos de trabajo entre procesos y permiten integrar los procesos de la empresa, re diseñados de acuerdo con ayuda de nuevas estrategias.

Existen en el mercado varios productos como FlowMind, openEDMS, wf.com.mx, cardiff, IBM, etc. Existen muchas metodologías que culminan en la implementación de un sistema de este tipo como son diagrama de roles, BPMN, IDEF0, ciclos de trabajo, etc.

## **Workflow de aprobación de facturas**

Con el desarrollo de las nuevas tecnologías, la aprobación manual de facturas de mesa en mesa es algo que las empresas de cierto tamaño han sustituido por flujos de trabajo automatizados de aprobación de facturas, que son aplicaciones que facilitan que a los diferentes usuarios aprobadores de facturas de una organización, les llegue la imagen digitalizada de una factura de manera que puedan aprobarla directamente en la aplicación, direccionarla a otros usuarios o rechazar su aprobación.

La gestión automatizada de los procesos de gestión y aprobación de facturas busca la maximización de la eficiencia del procedimiento y la reducción de los costes asociados al proceso.

## **Lenguajes de especificación de workflow**

* BPMN
* BPEL
* XPDL
* YAWL

***Desarrollo de Aplicaciones***

El desarrollo de aplicaciones móviles es el conjunto de procesos y procedimientos involucrados en la escritura de software para pequeños dispositivos inalámbricos de cómputo, como teléfonos inteligentes o tabletas.

**El desarrollo de aplicaciones móviles** Es similar al desarrollo de aplicaciones web, y tiene sus raíces en el desarrollo de software más tradicional. Una diferencia fundamental, sin embargo, es que las aplicaciones (apps) móviles a menudo se escriben específicamente para aprovechar las características únicas que ofrece un dispositivo móvil en particular. Por ejemplo, una aplicación para juegos podría escribirse para aprovechar el acelerómetro del iPhone.

Una forma de asegurar que las aplicaciones muestren un rendimiento óptimo en un dispositivo determinado es desarrollar la aplicación (app) de forma nativa en ese dispositivo. Esto significa que, a un nivel muy bajo, el código se escribe específicamente para el procesador de un dispositivo particular. Cuando una app necesita ejecutarse en varios sistemas operativos, sin embargo, hay poco –si es que hay alguno– código que puede ser reutilizado desde el desarrollo inicial. La aplicación debe ser esencialmente reescrita para cada dispositivo específico.

En el futuro, se espera que la mayoría de los esfuerzos de desarrollo de aplicaciones móviles se centren en la creación de aplicaciones basadas en navegador que sean agnósticas del dispositivo. Las aplicaciones basadas en navegador son simplemente sitios web creados para navegadores móviles. Estos sitios se construyen para cargar rápidamente a través de una red celular y tienen una navegación fácil de usar con los dedos.