La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Roberto González MVP Biztalk Server 2006 Renacimiento Sistemas.

Presentaciones similares


Presentación del tema: "Roberto González MVP Biztalk Server 2006 Renacimiento Sistemas."— Transcripción de la presentación:

1

2 Roberto González MVP Biztalk Server 2006 Renacimiento Sistemas

3 Breve revisión de WF y WCF Mejor juntos– WF y WCF Arquitectura de WF Services Servicios Persistentes

4 Lógica de larga ejecución Flexibilidad ¿Qué es un Workflow? Workflow es la organización de trabajo representando procesos de negocio o lógica de la aplicación ¿Cuál es el valor del workflow? Liberado Nov 2006 como parte de Windows Vista Transparencia

5 [ServiceContract] public interface IMyInterface { [OperationContract] public void MyMethod(String arg); } [ServiceBehavior(InstanceContextMode= InstanceContextMode.Single] public class MyService: IMyInterface { public void MyMethod(String arg){…} } <endpoint name=MyService address=MyAddress binding=netTcpBinding contract=IMyInterface/> Tipo de Servicio Definición de Contrato del servicio Address, Binding, Contract Address, Binding, Contract

6 ServiceHostServiceHost ServiceDescription ServiceBehavior OperationBehavior App.config Service Runtime OperationInvoker OperationSelector InstanceProvider MessageInspector ListenerChannel Service Instance Operation 1 Operation 2 Service.cs

7 Feedback de clientes: Los servicios de WCF necesitan una capa de persistencia Workflows expuestos como un servicio de WCF En.NET 3.0, nosotros teníamos que hacer la integración

8 Inicia el runtime del workflow Crea una instancia de un workflow Mapea mensajes a una instancia de workflow Hidrata una instancia de workflow según sea necesario Entrada/Salida de un workflow en el momento adecuado ….NET 3.5 hace esto y más usando puntos de extensibilidad de.NET 3.0 (Workflow Services).NET 3.5 hace esto y más usando puntos de extensibilidad de.NET 3.0 (Workflow Services)

9 Workflow + Servicios Implementa Servicios-WCF con un workflow Simplifica la integración entre WCF y WF Proporciona Servicios de larga duración y persistentes Los Workflows pueden ser activados mediante mensajes Consume Servicios-WCF dentro de un workflow Llama a servicios-WCF con actividades de workflow Enlaza y propaga datos Permite rápidamente componer aplicaciones que usan servicios WCF y WF proporcionan un framework integrado WCF Extensions – WorkflowServiceHost Activities (Send y Receive) Diseñador y herramientas (Contract-first ó Workflow-first)

10 Workflow Runtime ServiceHost ServiceDescription ServiceBehavior OperationBehavior Workflow.cs or Workflow.xoml App.config Service Runtime OperationInvoker OperationSelector InstanceProvider MessageInspector ListenerChannel Service Instance Operation 1 Operation 2 Workflow ServiceHost Workflow ServiceHost WorkflowServiceBehavior WorkflowOperationBehavior WorkflowOperationInvoker DurableInstanceProvider MessageContextInspector ContextChannel Workflow Instance ReceiveActivity 1 ReceiveActivity 2 WF Persistence DB Service.cs

11 Nuevas Actividades de WF: Send & Receive Binding ContextBindingElement BasicHttpContextBinding, NetTcpContextBinding, WSHttpContextBinding Behaviors WorkflowRuntimeBehavior, PersistenceProviderBehavior, DurableServiceAttribute, DurableOperationAttribut e Hosting WorkflowServiceHostFactory, WorkflowServiceHost

12 Autenticación proporcionada por Canales de WCF Soporta control de acceso estático usando extensibilidad de WCF AuthorizationManager ReceiveActivity PrincipalPermission (estático) OperationValidator (dinámico)

13

14 Persistence Provider ServiceHost ServiceDescription ServiceBehavior OperationBehavior Service.cs App.config Service Runtime OperationInvoker OperationSelector InstanceProvider MessageInspector ListenerChannel Service Instance Operation 1 Operation 2 DurableServiceBehavior DurableOperationBehavior DurableInstanceProvider MessageContextInspector ContextChannel

15

16 El Modelo de transporte no trabajará en procesos de larga duración Gestión en la capa de proceso o aplicación Necesidad de acordar un protocolo de intercambio de contexto

17 ServiceService ReceiveReceive ReceiveReceive ClientClient SendSend SendSend [ServiceContract] interface ICalculator { [OperationContract] [OperationContract] int Add(int value) int Add(int value) [OperationContract] [OperationContract] int Complete() int Complete()}[ServiceContract] interface ICalculator { [OperationContract] [OperationContract] int Add(int value) int Add(int value) [OperationContract] [OperationContract] int Complete() int Complete()} 55 {instanceId} Add 55 Add Response Add 45 {instanceId} 100 Add Response

18 ContextChannel implementa el intercambio de token de contexto Recepción Extraer contexto de ContextMessageProperty Aplicar contexto en respuesta a peticiones de activación Envío Añadir contexto a todos los mensajes salientes Representación del contexto Cabecera SOAP Cookie HTTP En código: IDictionary Service Runtime OperationInvoker OperationSelector InstanceProvider MessageInspector ListenerChannel WorkflowOperationInvoker DurableInstanceProvider MessageContextInspector ContextChannel

19 // dentro del códio wf IDictionary context; // context = … obtener contexto desde el //almacen sendActivity.Context = context; //dinámicamente asignar la dirección de envío sendActivity.CustomAddress = net.tcp://140.141.2.5/service.svc;

20 // aplicación de wpf, winforms, … IDictionary context; // context = … obtener contexto desde el almacén IContextManager cm = proxy.InnerChannel.GetProperty (); if (null != cm) cm.SetContext(context); // se necesita usar un channel stack que incluya el // canal de contexto, o escribir las cabeceras directamente // en el mensaje (no-WCF)

21

22 Motivación: Superar el comportamiento bloqueante de la actividad de envío, permitir al workflow continuar mientras ocurre el procesamiento. Aplicabilidad: Interactuar con un servicio que retorna rápidamente mientras continua el trabajo, notificar cuando se complete

23

24 Workflow Services proporciona una forma natural de construir servicios Con una comprensión del contexto, se pueden implementar avanzados patrones de comunicación Consigue los ejemplos mostrados hoy: http://www.thinkingtogether.net rgon@renacimiento.com

25


Descargar ppt "Roberto González MVP Biztalk Server 2006 Renacimiento Sistemas."

Presentaciones similares


Anuncios Google