01 IntroducciÃn A WWF

Information about 01 IntroducciÃn A WWF

Published on November 28, 2007

Author: Haralda

Source: authorstream.com

Content

Windows Workflow Foundation Módulo 1: Introducción:  Windows Workflow Foundation Módulo 1: Introducción Gabriel Cor spaces.msn.com/gabrielcor Agenda:  Agenda Introducción a Workflow Foundation Workflow Básico Parámetros de Workflow Activities: los bloques básicos de workflow Características adicionales Windows 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.Net Qué 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 Inventario Demo 1 Mi primer Workflow:  Demo 1 Mi primer Workflow Por 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 agregado Escenarios:  Escenarios Participantes: personas, roles Estilo: flexible, dinámico Datos: no estructurados, documentos Participantes: apps, servicios Flow style: prescriptivo, protocolizado Datos: estructurados, transaccionales Ecosistema 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 Activities Workflow 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 Workflow Workflow Foundation Conceptos 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 comunicaciones Workflow 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 Class Workflow 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 Activity Demo 2 Recibiendo parámetros:  Demo 2 Recibiendo parámetros Activity 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ón Activity 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 3 Usando Activities:  Demo 3 Usando Activities Extensibilidad: 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, ToolboxItem Ejemplo: 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 Behaviors Activities: 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 Activities Flujo 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 Profile Demo 4 Usando Otras Activities y Event-Based Activities:  Demo 4 Usando Otras Activities y Event-Based Activities Resumen:  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

Related presentations


Other presentations created by Haralda

Tantric Gallery
04. 12. 2007
0 views

Tantric Gallery

e learning 2004
27. 03. 2008
0 views

e learning 2004

todd movie
27. 02. 2008
0 views

todd movie

Session05
24. 02. 2008
0 views

Session05

lecture 4
20. 02. 2008
0 views

lecture 4

Capati
07. 01. 2008
0 views

Capati

RF Lecture Notes Occtober 12
04. 01. 2008
0 views

RF Lecture Notes Occtober 12

carbonPLFAposter1
03. 01. 2008
0 views

carbonPLFAposter1

cs679 10
03. 01. 2008
0 views

cs679 10

05th ppt
02. 01. 2008
0 views

05th ppt

Household Water Systems
08. 11. 2007
0 views

Household Water Systems

Interactivity OnineTchg FSI
10. 12. 2007
0 views

Interactivity OnineTchg FSI

PowerPoint4 The Byzantine Empire
29. 10. 2007
0 views

PowerPoint4 The Byzantine Empire

cyrillic IDN
29. 10. 2007
0 views

cyrillic IDN

steel analysis
07. 11. 2007
0 views

steel analysis

trade agreements
15. 11. 2007
0 views

trade agreements

ALLABOUTAZTECS
19. 11. 2007
0 views

ALLABOUTAZTECS

FP7 information EPSO 10 Jan
23. 11. 2007
0 views

FP7 information EPSO 10 Jan

Images de Rome
31. 10. 2007
0 views

Images de Rome

Basics of Fundraising DJ
23. 12. 2007
0 views

Basics of Fundraising DJ

8 GHGs Wightman
28. 12. 2007
0 views

8 GHGs Wightman

DeBolt and Shaw SRM presentation
11. 12. 2007
0 views

DeBolt and Shaw SRM presentation

ib2
17. 12. 2007
0 views

ib2

2005 09 topwg bernardo
29. 10. 2007
0 views

2005 09 topwg bernardo

wpf8
30. 11. 2007
0 views

wpf8

r8486 2
31. 12. 2007
0 views

r8486 2

CareerSuccess V1
27. 11. 2007
0 views

CareerSuccess V1

ARMA NOVA 2004 03 Meeting
26. 11. 2007
0 views

ARMA NOVA 2004 03 Meeting

Varsavia 2003 SF
15. 11. 2007
0 views

Varsavia 2003 SF

atw0601
01. 10. 2007
0 views

atw0601

fish tank vr
12. 11. 2007
0 views

fish tank vr

Estudos Casos
14. 11. 2007
0 views

Estudos Casos

Spring 2003 Topic 7
07. 12. 2007
0 views

Spring 2003 Topic 7

DiseaseUpdate04
04. 10. 2007
0 views

DiseaseUpdate04

laund
30. 12. 2007
0 views

laund

lev oldb
26. 10. 2007
0 views

lev oldb