logging in or signing up 01 IntroducciÃn A WWF Haralda Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 949 Category: Entertainment License: All Rights Reserved Like it (1) Dislike it (0) Added: November 28, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... By: cxfranco (45 month(s) ago) Excelent Work. Saving..... Post Reply Close Saving..... Edit Comment Close Premium member Presentation Transcript Windows Workflow FoundationMódulo 1: Introducción: Windows Workflow Foundation Módulo 1: Introducción Gabriel Cor spaces.msn.com/gabrielcorAgenda: Agenda Introducción a Workflow Foundation Workflow Básico Parámetros de Workflow Activities: los bloques básicos de workflow Características adicionalesWindows Workflow Foundation : Framework & herramientas para los productos Microsoft y para el ecosistema Windows Workflow Foundation Tecnología unificada de workflow para Windows Base para los productos Microsoft y para los ISVs/clientes La misma para workflows “human based” y “system workflow” Framework para incluir workflow en aplicaciones Un framework para construir – no una aplicación o un servidor Expuesto a los developers vía el Framework 3.0 Trae el workflow al desarrollo corriente en .NET Lo saca de un nicho a algo común Para construir un ecosistema fuerte Consiste de Un namespace, un engine de workflow, designers para Vs.NetQué es un workflow?: Qué es un workflow? Un conjunto de unidades elementales llamadas actividades que se almacenan como un modelo… …que describe un proceso del mundo real Escalar a Gerente Ejemplos Revisar InventarioDemo 1Mi primer Workflow: Demo 1 Mi primer WorkflowPor qué Workflow?: Por qué Workflow?Por qué Workflow?: Por qué Workflow? “Las órdenes se confirman en 48 horas y se entregan dentro de 30 días.” “La mayoría de los proveedores confirman nuestras órdenes pero algunos se olvidan y necesitamos seguirlo.” “Cuales son los pasos siguientes para manejar esta order?” Long Running y Stateful Los Workflows corren hasta por 30 días y mantienen el estado Control Flexible Flexibilidad para que las personas salteen o no ejecuten pasos en el workflow Transparencia Tener una renderización disponible para ver los pasos de un flujo de control Ejemplos Valor agregadoEscenarios: Escenarios Participantes: personas, roles Estilo: flexible, dinámico Datos: no estructurados, documentos Participantes: apps, servicios Flow style: prescriptivo, protocolizado Datos: estructurados, transaccionalesEcosistema de Desarroladores: Application WWF Runtime Ecosistema de Desarroladores Workflows Workflow Developers Mínima codificación Activity Developers Ejecución personaliada y Lógica de validación Host Developers Servicios de aplicación Y host Flow Logic Services Custom Services Custom ActivitiesWorkflow y BizTalk Server: Framework 3.0 Workflow y BizTalk Server Windows Workflow Foundation Messaging Design Tools Business Activity Monitor And Admin Tools Orchestration Transformation Adapters BizTalk Server Accelerators Premium BPM server Producto Para escenarios B2B, EAI, BPM Herramientas deployment Gerenciamiento, Scale-out Workflow framework Expuesto via el Framework 3.0 Otros escenarios Para construir soluciones o servidores workflow-enabled Permite gerenciamiento y scale-out Visual Studio Designer BTS 2008 usará WWF para la orquestación WorkflowWorkflow FoundationConceptos Clave: Workflow Foundation Conceptos Clave Un Workflow Es un conjunto de Activities Todos los Workflows corren en un runtime engine in-process conocida como workflow runtime engine Un runtime engine puede tener muchas instancias corriendo Solo puede haber un runtime engine por Application Domain Un Activity Es la unidad elemental del workflow WF tiene un conjunto de activities estándar Se pueden crear custom activities Servicios El runtime engine usa servicios cuando corre y son componentes “pluggable” Ej: Persistencia, Tracking, Timer Comunicación y Correlación El proceso host y el workflow se pueden comunicar por servicios de comunicación Un host puede interactuar con una instancia específica via un ID único, a esto se le llama correlación.Windows Workflow Foundation: Windows Workflow Foundation Conceptos Clave Host Process Windows Workflow Foundation Runtime Engine Un Workflow Una Activity Runtime Services Base Activity Library Custom Activity Library Visual Designer Visual Designer: Construcción gráfica y basada en código Workflows son un conjunto de Activities Los Workflows corren en un Host Process: cualquier aplicación o servidor Los desarrolladores pueden construir sus propias Custom Activity Libraries Componentes Base Activity Library: Out-of-box activities y base para custom activities Runtime Engine: Ejecución de workflow y manejo de estado Runtime Services: Flexibilidad de hosting y comunicacionesWorkflow Basics: Workflow Basics Un workflow es una clase Una clase de workflow puede definirse con markup Imports System.Workflow.Activities Public Class MyWorkflow Inherits SequentialWorkflow … End Class <?Mapping XmlNamespace="Activities" ClrNamespace="System.Workflow.Activities" Assembly="System.Workflow.Activities" ?> <SequentialWorkflow x:Class="MyWorkflow" xmlns="Activities" xmlns:x="Definition"> … </SequentialWorkflow>Workflow Basics: Workflow Basics El constructor de Workflow configura las actividades contenidas (como forms & controls) Imports System.Workflow.Activities Partial Public Class MyWorkflow Inherits SequentialWorkflow Public Sub New() MyBase.New() InitializeComponent() End Sub End Class Partial Public Class MyWorkflow REM designer generated Private Sub InitializeComponent() Me.delay1 = New System.Workflow.Activities.Delay Me.delay1.ID = "delay1" Me.delay1.TimeoutDuration = System.TimeSpan.Parse("00:00:05") Me.Activities.Add(Me.delay1) Me.ID = "MyWorkflow" End Sub Private WithEvents delay1 As System.Workflow.Activities.Delay End ClassWorkflow Authoring Modes: Workflow Authoring Modes .NET assembly ctor defines workflow Solo Markup XAML Markup y Código Solo Código XAML XML define la estructura del workflow y el flujo de datos XML define el workflow Y se combina con código C#/VB Método por defecto Puede usarse con o sin Designer Workflow Compiler wfc.exe C#/VB Compiler Recibiendo parámetros: Recibiendo parámetros Parámetros Se pasa un parámetro a la creación del workflow de tipo Dictionary La clase del Workflow debe tener propiedades públicas con los nombres usados en el diccionario Eventos Usa el ExternalDataExchangeService HandleExternalEvent/CallExternalMethod WebServiceInput ActivityDemo 2Recibiendo parámetros: Demo 2 Recibiendo parámetrosActivity Basics: Activity Basics Bloques básicos de construcción workflow Son la unidad de Ejecución Reuso Composición Pueden ser Simples (Basic Activities) Compuestas (Composite Activities) Cada activity tiene Metadata asociada que describe sus propiedades de tiempo de diseño Lógica de validación de la metadata Lógica que determina su comportamiento Datos de instancia de tiempo de ejecuciónActivity Basics: Activity Basics Activities disponibles Base Activity Library provee un conjunto de activities out-of-the-box Se pueden construir custom activities 26 Out-of-the box CallExternalMethod, HandleExternalEvent IfElse, While WebServiceInput, Output, Fault, Call TransactionScope,Compensate Code Conditioned Activity Group Listen, Parallel, Terminate …Demo 3UsandoActivities: Demo 3 Usando ActivitiesExtensibilidad: Custom Activities: Extensibilidad: Custom Activities Heredar de Activity Realizar el override del método Execute Retornar el Status adecuado Executing Closed .. Agregar companion classes Designer, Validator, CodeGenerator Serializer, ToolboxItemEjemplo: SendMail Activity: Ejemplo: SendMail Activity using System.Workflow.ComponentModel; public partial class SendMail : System.Workflow.ComponentModel.Activity { public SendMail() { InitializeComponent(); } protected override Status Execute(ActivityExecutionContext context) { // aquí la lógica para enviar el mail return Status.Closed; } } public partial class SendMail { public string subject; public string Subject { get { return subject; } set { this.subject = value; } } private void InitializeComponent() // generado por diseñador { this.ID = "SendMail"; } } Activities: Otras Características: Activities: Otras Características Serializer Code Generator Designer ToolboxItem [Designer(typeof(MyDesigner))] [Validator(typeof(MyValidator))] [CodeGenerator(typeof(MyCodeGen))] [Serializer(typeof(MySerializer))] [ToolboxItem(typeof(MyToolboxItem))] Validator [SupportsTransaction] [SupportsExceptionHandlers] public class MyActivity: Activity { ... } Companion Classes Transactions BehaviorsActivities: Modelo Extensible : Activities: Modelo Extensible OOB activities, tipos de workflow , Propóstio General Crear/Extender/ Componer activities Agregar building blocks de aplicación Todas del mismo “nivel” Base Activity Library Custom Activity Libraries Out-of-Box ActivitiesFlujo de Control Flexible: Flujo de Control Flexible Rules-driven Activities Step2 Step1 Rule1 Rule2 Data Reglas y estado de Datos dirigen el orden Data-driven Condiciones simples, Policies complejas State Machine Workflow Event Event Los eventos externos dirigen el orden Reactivos, event-driven Skip/re-work, exception handling Metáfora de grafo Sequential Workflow Step1 Step2 Estructura secuencial Prescribe el orden Prescriptivo, formal Automatización Metáfora de Flowchart Transparencia en Runtime: Transparencia en Runtime Runtime Engine Runtime Services Tracking Service Tracking Store Instance Mgr Scheduler WorkflowInstance instance = Runtime.GetWorkflowInstance(…); Acceder a una instancia en ejecución (pull) WorkflowInstance class Se usa para determinar el estado de una actividad para una instancia Capturar datos tracking (push): Tracking profile, servicio Registra datos de la instancia cuando se ejecuta Use el default o puede construir uno propio Tracking ProfileDemo 4UsandoOtras Activitiesy Event-Based Activities: Demo 4 Usando Otras Activities y Event-Based ActivitiesResumen: Windows Workflow Foundation provee un framework extensible y herramientas para construir workflow en aplicaciones Windows Resumen Tecnología unificada Un framework para construir no un servidor o aplicación Características principales Permite workflows long running Framework de activities extensible Flujo flexible: escenarios de human y system workflow Transparencia en runtime Diseñador visual para creación gráfica You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
01 IntroducciÃn A WWF Haralda Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 949 Category: Entertainment License: All Rights Reserved Like it (1) Dislike it (0) Added: November 28, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... By: cxfranco (45 month(s) ago) Excelent Work. Saving..... Post Reply Close Saving..... Edit Comment Close Premium member Presentation Transcript Windows Workflow FoundationMódulo 1: Introducción: Windows Workflow Foundation Módulo 1: Introducción Gabriel Cor spaces.msn.com/gabrielcorAgenda: Agenda Introducción a Workflow Foundation Workflow Básico Parámetros de Workflow Activities: los bloques básicos de workflow Características adicionalesWindows Workflow Foundation : Framework & herramientas para los productos Microsoft y para el ecosistema Windows Workflow Foundation Tecnología unificada de workflow para Windows Base para los productos Microsoft y para los ISVs/clientes La misma para workflows “human based” y “system workflow” Framework para incluir workflow en aplicaciones Un framework para construir – no una aplicación o un servidor Expuesto a los developers vía el Framework 3.0 Trae el workflow al desarrollo corriente en .NET Lo saca de un nicho a algo común Para construir un ecosistema fuerte Consiste de Un namespace, un engine de workflow, designers para Vs.NetQué es un workflow?: Qué es un workflow? Un conjunto de unidades elementales llamadas actividades que se almacenan como un modelo… …que describe un proceso del mundo real Escalar a Gerente Ejemplos Revisar InventarioDemo 1Mi primer Workflow: Demo 1 Mi primer WorkflowPor qué Workflow?: Por qué Workflow?Por qué Workflow?: Por qué Workflow? “Las órdenes se confirman en 48 horas y se entregan dentro de 30 días.” “La mayoría de los proveedores confirman nuestras órdenes pero algunos se olvidan y necesitamos seguirlo.” “Cuales son los pasos siguientes para manejar esta order?” Long Running y Stateful Los Workflows corren hasta por 30 días y mantienen el estado Control Flexible Flexibilidad para que las personas salteen o no ejecuten pasos en el workflow Transparencia Tener una renderización disponible para ver los pasos de un flujo de control Ejemplos Valor agregadoEscenarios: Escenarios Participantes: personas, roles Estilo: flexible, dinámico Datos: no estructurados, documentos Participantes: apps, servicios Flow style: prescriptivo, protocolizado Datos: estructurados, transaccionalesEcosistema de Desarroladores: Application WWF Runtime Ecosistema de Desarroladores Workflows Workflow Developers Mínima codificación Activity Developers Ejecución personaliada y Lógica de validación Host Developers Servicios de aplicación Y host Flow Logic Services Custom Services Custom ActivitiesWorkflow y BizTalk Server: Framework 3.0 Workflow y BizTalk Server Windows Workflow Foundation Messaging Design Tools Business Activity Monitor And Admin Tools Orchestration Transformation Adapters BizTalk Server Accelerators Premium BPM server Producto Para escenarios B2B, EAI, BPM Herramientas deployment Gerenciamiento, Scale-out Workflow framework Expuesto via el Framework 3.0 Otros escenarios Para construir soluciones o servidores workflow-enabled Permite gerenciamiento y scale-out Visual Studio Designer BTS 2008 usará WWF para la orquestación WorkflowWorkflow FoundationConceptos Clave: Workflow Foundation Conceptos Clave Un Workflow Es un conjunto de Activities Todos los Workflows corren en un runtime engine in-process conocida como workflow runtime engine Un runtime engine puede tener muchas instancias corriendo Solo puede haber un runtime engine por Application Domain Un Activity Es la unidad elemental del workflow WF tiene un conjunto de activities estándar Se pueden crear custom activities Servicios El runtime engine usa servicios cuando corre y son componentes “pluggable” Ej: Persistencia, Tracking, Timer Comunicación y Correlación El proceso host y el workflow se pueden comunicar por servicios de comunicación Un host puede interactuar con una instancia específica via un ID único, a esto se le llama correlación.Windows Workflow Foundation: Windows Workflow Foundation Conceptos Clave Host Process Windows Workflow Foundation Runtime Engine Un Workflow Una Activity Runtime Services Base Activity Library Custom Activity Library Visual Designer Visual Designer: Construcción gráfica y basada en código Workflows son un conjunto de Activities Los Workflows corren en un Host Process: cualquier aplicación o servidor Los desarrolladores pueden construir sus propias Custom Activity Libraries Componentes Base Activity Library: Out-of-box activities y base para custom activities Runtime Engine: Ejecución de workflow y manejo de estado Runtime Services: Flexibilidad de hosting y comunicacionesWorkflow Basics: Workflow Basics Un workflow es una clase Una clase de workflow puede definirse con markup Imports System.Workflow.Activities Public Class MyWorkflow Inherits SequentialWorkflow … End Class <?Mapping XmlNamespace="Activities" ClrNamespace="System.Workflow.Activities" Assembly="System.Workflow.Activities" ?> <SequentialWorkflow x:Class="MyWorkflow" xmlns="Activities" xmlns:x="Definition"> … </SequentialWorkflow>Workflow Basics: Workflow Basics El constructor de Workflow configura las actividades contenidas (como forms & controls) Imports System.Workflow.Activities Partial Public Class MyWorkflow Inherits SequentialWorkflow Public Sub New() MyBase.New() InitializeComponent() End Sub End Class Partial Public Class MyWorkflow REM designer generated Private Sub InitializeComponent() Me.delay1 = New System.Workflow.Activities.Delay Me.delay1.ID = "delay1" Me.delay1.TimeoutDuration = System.TimeSpan.Parse("00:00:05") Me.Activities.Add(Me.delay1) Me.ID = "MyWorkflow" End Sub Private WithEvents delay1 As System.Workflow.Activities.Delay End ClassWorkflow Authoring Modes: Workflow Authoring Modes .NET assembly ctor defines workflow Solo Markup XAML Markup y Código Solo Código XAML XML define la estructura del workflow y el flujo de datos XML define el workflow Y se combina con código C#/VB Método por defecto Puede usarse con o sin Designer Workflow Compiler wfc.exe C#/VB Compiler Recibiendo parámetros: Recibiendo parámetros Parámetros Se pasa un parámetro a la creación del workflow de tipo Dictionary La clase del Workflow debe tener propiedades públicas con los nombres usados en el diccionario Eventos Usa el ExternalDataExchangeService HandleExternalEvent/CallExternalMethod WebServiceInput ActivityDemo 2Recibiendo parámetros: Demo 2 Recibiendo parámetrosActivity Basics: Activity Basics Bloques básicos de construcción workflow Son la unidad de Ejecución Reuso Composición Pueden ser Simples (Basic Activities) Compuestas (Composite Activities) Cada activity tiene Metadata asociada que describe sus propiedades de tiempo de diseño Lógica de validación de la metadata Lógica que determina su comportamiento Datos de instancia de tiempo de ejecuciónActivity Basics: Activity Basics Activities disponibles Base Activity Library provee un conjunto de activities out-of-the-box Se pueden construir custom activities 26 Out-of-the box CallExternalMethod, HandleExternalEvent IfElse, While WebServiceInput, Output, Fault, Call TransactionScope,Compensate Code Conditioned Activity Group Listen, Parallel, Terminate …Demo 3UsandoActivities: Demo 3 Usando ActivitiesExtensibilidad: Custom Activities: Extensibilidad: Custom Activities Heredar de Activity Realizar el override del método Execute Retornar el Status adecuado Executing Closed .. Agregar companion classes Designer, Validator, CodeGenerator Serializer, ToolboxItemEjemplo: SendMail Activity: Ejemplo: SendMail Activity using System.Workflow.ComponentModel; public partial class SendMail : System.Workflow.ComponentModel.Activity { public SendMail() { InitializeComponent(); } protected override Status Execute(ActivityExecutionContext context) { // aquí la lógica para enviar el mail return Status.Closed; } } public partial class SendMail { public string subject; public string Subject { get { return subject; } set { this.subject = value; } } private void InitializeComponent() // generado por diseñador { this.ID = "SendMail"; } } Activities: Otras Características: Activities: Otras Características Serializer Code Generator Designer ToolboxItem [Designer(typeof(MyDesigner))] [Validator(typeof(MyValidator))] [CodeGenerator(typeof(MyCodeGen))] [Serializer(typeof(MySerializer))] [ToolboxItem(typeof(MyToolboxItem))] Validator [SupportsTransaction] [SupportsExceptionHandlers] public class MyActivity: Activity { ... } Companion Classes Transactions BehaviorsActivities: Modelo Extensible : Activities: Modelo Extensible OOB activities, tipos de workflow , Propóstio General Crear/Extender/ Componer activities Agregar building blocks de aplicación Todas del mismo “nivel” Base Activity Library Custom Activity Libraries Out-of-Box ActivitiesFlujo de Control Flexible: Flujo de Control Flexible Rules-driven Activities Step2 Step1 Rule1 Rule2 Data Reglas y estado de Datos dirigen el orden Data-driven Condiciones simples, Policies complejas State Machine Workflow Event Event Los eventos externos dirigen el orden Reactivos, event-driven Skip/re-work, exception handling Metáfora de grafo Sequential Workflow Step1 Step2 Estructura secuencial Prescribe el orden Prescriptivo, formal Automatización Metáfora de Flowchart Transparencia en Runtime: Transparencia en Runtime Runtime Engine Runtime Services Tracking Service Tracking Store Instance Mgr Scheduler WorkflowInstance instance = Runtime.GetWorkflowInstance(…); Acceder a una instancia en ejecución (pull) WorkflowInstance class Se usa para determinar el estado de una actividad para una instancia Capturar datos tracking (push): Tracking profile, servicio Registra datos de la instancia cuando se ejecuta Use el default o puede construir uno propio Tracking ProfileDemo 4UsandoOtras Activitiesy Event-Based Activities: Demo 4 Usando Otras Activities y Event-Based ActivitiesResumen: Windows Workflow Foundation provee un framework extensible y herramientas para construir workflow en aplicaciones Windows Resumen Tecnología unificada Un framework para construir no un servidor o aplicación Características principales Permite workflows long running Framework de activities extensible Flujo flexible: escenarios de human y system workflow Transparencia en runtime Diseñador visual para creación gráfica