jueves, 27 de marzo de 2014

WINDOWS WORKFLOW FUNDATION CONCEPTOS GENERALES

Introducción:        
En esta lección se describirán en detalle las características de un workflow. Descubrirá cuáles son las aplicaciones en las que se podría utilizar, cuáles son los requerimientos que debe cumplir y qué beneficios ofrece. 

Objetivos:
         Describir las características de un workflow.
         Conocer los requerimientos que debe cumplir un workflow.
         Comprender loss beneficios y características de un worklow.


¿Qué es un workflow?
Un workflow es un conjunto de unidades elementales llamadas actividades, que son almacenadas en forma de un modelo que describe un proceso del mundo real. Los workflows proveen una manera de describir el orden de ejecución y de relaciones dependientes entre piezas cortas o largas de un trabajo que se está ejecutando. Este trabajo pasa por el modelo de principio a fin, y las actividades pueden ser ejecutadas por personas o por funciones de sistema.

Windows Workflow Foundation
Windows Workflow Foundation está diseñado para que los programadores puedan crear aplicaciones de tipo workflow en Windows. Para esto es requisito contar con la presencia de .NET Framework 2.0, y, por supuesto, se pueden crear dentro de Visual Studio 2005.        
Windows Workflow Foundation puede ser desarrollado y ejecutado en Windows Vista, Windows XP y la familia de Windows Server 2003. WF incluye soporte para workflow tanto de sistemas como humano, a través de un extenso rango de escenarios, que incluyen:
         Workflow dentro de la línea de aplicaciones de negocios.
         Flujo de página de la interfaz del usuario.
         Workflow humano.
         Workflow compuesto para aplicaciones orientadas a servicios.
         Workflow conducido por reglas de negocios.
         Workflow para manejo de sistemas.
           
Windows Workflow Foundation provee una experiencia de desarrollo consistente y familiar con otras tecnologías de WinFX, como ASP.NET, Windows Communication Foundation y Windows Presentation Foundation. Ofrece también un soporte total para depurar un diseño gráfico y brinda la habilidad para desarrollar un workflow  propio totalmente en código Visual Basic .NET y C#. Windows Workflow Foundation provee, a su vez, un modelo y un diseño extensivos para construir actividades personalizadas que encapsulan funcionalidades workflow para los fines del usuario o para su reutilización a través de múltiples proyectos.

Aplicaciones que podrían llegar a usar workflows
Una aplicación ASP.NET que muestre páginas a sus usuarios podría usar un workflow para controlar el orden en que esas páginas son exhibidas. Esto hace que sea más fácil cambiar el flujo de las páginas sin que ellos tengan que modificarlas, como también separar la aplicación de la interfaz del usuario de su lógica de control.
Una aplicación compuesta en un ambiente orientado a servicios podría implementar su comportamiento de base usando un workflow. Como cada vez más y más las aplicaciones exponen su lógica a través de servicios Web, crear procesos de negocios que utilicen esos servicios se vuelve más fácil. Una tecnología workflow como Windows Workflow Foundation provee un contenedor para la lógica que invocaría a esos servicios, poniéndolos juntos en una aplicación compleja.


Ver Diapositivas Workfolw


Una aplicación que apunte a un problema específico, como, por ejemplo, el manejo de la relación con el cliente (CRM: Customer Relationship Management), o un mercado vertical concreto, como el de servicios financieros, podrían ser construidos alrededor de un workflow. Este tipo de aplicación comúnmente implementa un número diferente de procesos de negocios, construyendo la lógica que manejan esos procesos en un WF común. De esta forma, la aplicación será más rápida de construir, más rápida de cambiar y más fácil de personalizar.

Requerimientos que debe cumplir un workflow simple   
1) Debe tener la habilidad de tomar decisiones basadas en reglas de negocios.  Este requerimiento incluye reglas simples, por ejemplo, una decisión de o no basada en el resultado de un chequeo de crédito, como también reglas más complejas, por ejemplo, conjuntos potencialmente largos que deben ser evaluados para hacer una decisión inicial.
2) Formas de comunicarse con otros programas y otros sistemas fuera de workflows. Un ejemplo son los servicios Web u otras tecnologías.
3) Maneras de interactuar con las personas. Por ejemplo, un encargado debe aprobar a sus empleados. Por lo tanto, el workflow debe ser capaz de mostrar una interfaz para el usuario o interactuar con los seres humanos a través de otro software.
4) La habilidad de mantener el estado durante el tiempo de vida de un workflow. Especialmente cuando hay gente envuelta, como el encargado en este ejemplo, un workflow puede tomar mucho tiempo en completarse (por ejemplo, ¿qué pasaría si el encargado se tomara el día o dos semanas de vacaciones?). Construir sistemas escalables requiere una manera de desactivar el workflow y almacenar su estado persistentemente, para luego reactivarlo y cargar ese estado cuando el siguiente paso sea ejecutado.

Un workflow puede ofrecer cosas como:
    1.  Un componente de tipo acercamiento a workflows, donde cada paso pueda ser implementado por una porción específica de software. Como en otras tecnologías de componentes, es posible especificar declarativamente los comportamientos para estos pasos (como, por ejemplo, transacciones) en vez de escribir código que implemente estos comportamientos. También se pueden crear pasos predefinidos para workflows que son útiles en un dominio en particular, como, por ejemplo, aplicaciones de seguros o manejo de sistemas, y luego usar éstos en diferentes workflows.
    2.  Herramientas que crean y modifican workflows gráficamente. Como un workflow consiste en un número definido de pasos, puede ser construido usando herramientas que ilustran esos pasos y las relaciones entre ellos.
    3.  La habilidad de monitorear un workflow que se está ejecutando, examinando su  ejecución en tiempo real. Por ejemplo, con la actividad Tracing.
    4.  Una manera de cambiar una instancia workflow que se está ejecutando; por ejemplo, agregar un paso. Aunque esto no es típicamente necesario cuando sólo se abarca software, este tipo de flexibilidad es un requerimiento común para que Workflows interactúe con personas.

Una tecnología workflow común para Windows
Estén creadas por Microsoft o por otros, muchas aplicaciones Windows incluyen algún tipo de soporte para workflows. Los productos Microsoft que utilizan la tecnología workflow hoy en día son: Microsoft BizTalk Server, Microsoft Exchange Server y otros. Pero como no tiene mucho sentido tener tantas tecnologías para Windows, como otras corrientes principales de desarrollo de tecnologías, el soporte de workflow debería ser parte de la plataforma misma de Windows.
Esto es lo que Windows Workflow Foundation provee. Implementando Workflow como una parte de WinFX, este acercamiento para crear software estará disponible para cualquier aplicación de Windows que lo necesite. Esto incluye aplicaciones ejecutándose en clientes o en servidores, como en las aplicaciones creadas para usuarios finales, por vendedores de software independientes (ISVs: Independent Software Vendors) y por Microsoft.

Workflows de sistemas
A pesar de que los procesos de negocios comúnmente involucran tanto a personas como a aplicaciones y automatizan acciones entre software, esto es muy diferente de automatizar interacciones entre personas. Una de las mayores metas de Windows Workflow Foundation es proveer una solución unificada que apunte a ambos problemas.
Los workflows de sistemas son interacciones automatizadas entre aplicaciones. Estas interacciones son usualmente predecibles y relativamente estáticas. La lógica que dirige esta interacción puede ser especificada una sola vez, y luego ser utilizada una y otra vez sin cambios. Los workflows de sistemas también intercambian datos bien definidos y estructurados, como, por ejemplo, documentos XML, que pueden ser procesados efectivamente por software sin ninguna intervención humana.


                                       Ver video de Windows Workflow Fundation

10 comentarios:

  1. Interesante tema compañera, ya aprendí sobre sistemas de Información Gerencial.

    ResponderEliminar
  2. FELICIDADES, SIGUE ADELANTE CON ESFUERZO

    ResponderEliminar
  3. Muy buen blog compañera aunque debería agregar un salto de linea en la entrada para que no sea tan larga al inicio porque al tener bastante entradas el blog tardaría mas en cargar :D

    ResponderEliminar
    Respuestas
    1. Muchas gracias por su comentario y su valiosa recomendación compañero!! :)

      Eliminar
  4. Interesante tema para enriquecer nuestros conocimientos.!!!

    ResponderEliminar
  5. Muy buen trabajo me gusto mucho la información.

    ResponderEliminar
  6. Muchas gracias a tod@s por sus valiosos comentarios! Les agradezco mucho mucho :) :)

    ResponderEliminar