Uma introdução sobre WF Windows Workflow...

Post on 14-Jun-2020

1 views 0 download

Transcript of Uma introdução sobre WF Windows Workflow...

11

Uma introdução sobre WF – Windows Workflow Foundation

Waldemir CambiucciArquiteto de SoluçõesMicrosoft Brasil

twitter.com/wcambblogs.msdn.com/wcamb

2

Agenda

O que é o WF?

Cenários recomendados de utilização

Cenários não recomendados de utilização

Integração WF+WCF

Novidades do WF 4.0

Conclusões

Publicação: Outubro/2009

3

Objetivos da Sessão

Apresentar uma introdução sobre o WF – Windows Workflow Foundation.

Apresentar aspectos de integração entre WF e WCF – Windows Communication Foundation.

Apresentar alguns recursos do WF 4.0.

4

O que é o WF?

WF – Windows Workflow Foundation é um framework de desenvolvimento do .NET Framework, que permitea construção de workflows e máquinas de estado paraa coordenação de atividades em aplicações diversas.

Parte integrante do .NET Framework desde a versão3.0, o WF suporta uma série de cenários, controles de fluxo e máquinas de estado.

.NET Framework 3.5 SP1

ADO.NET Entity

Framework

ADO.NET Data Services

ASP.NET Dynamic Data

ASP.NET Routing

.NET Framework 3.5

REST AJAX LINQ RSS

POX ATOM JSON +BCL

.NET Framework 3.0

WCF WPF WFCard

Space

.NET Framework 2.0

ADO.NET CLRWeb

ServicesASP.NET

.NET Framework

Principaisrecursos do .NET Framework.

6

O que é o WF?

O que é um workflow?

Um conjunto de atividades que coordena pessoas e/ou software, organizadas em alguma forma de fluxo de trabalho.

Flowcharts Diagramas de estados

7

O que é o WF?

Host Process

Windows

Workflow Foundation

Um Workflow

Uma atividade

Base Activity Library

Custom Activity Library

Visual Designer

• Visual Designer: módulo gráfico paraconstrução e composição

• Workflows executam dentro de um processo host: qualqueraplicação ou servidor

• Desenvolvedores podem construirsuas próprias Custom Activity Libraries

• Base Activity Library: atividades

“Out-of-box” e base para customizações• Runtime Engine: Gerenciamento de

Workflow e estado de execução• Runtime Services: Camada de

comunicação e conectividade

Componentes

Runtime Engine

Runtime Services

8

WorkflowWF

O que é o WF?

No Visual Studio, o WF é construido

de forma visual

9

Benefícios

Entre os principais benefícios do WF citamos:Ferramenta visual para a construção de workflows, processos e máquinas de estado;

Suporte a uma série de atividades, controles de fluxo, laços, estruturas condicionais, escopotransacional, entre outros;

Disponibilidade de inúmeros templates integradosao Visual Studio 2008;

Integração completa com interfaces de serviços emWCF – Windows Communication Foundation;

Suporte para diversos hospedeiros de processos, como IIS, Windows Service, Dublin, WAS, etc.

10

Cenários exemplo

Veja um cenáriogenérico de uso de WCF, WF e WPF no .NET Framework

Camada de serviços (WCF)

Camada de Aplicações (LoB)

Camada de processos ou workflows (WF)

Camada de Apresentação(WPF)

11

Cenários recomendados

O WF é indicado para cenários de coordenaçãode atividades no escopo da aplicação ou no domínio da solução, suportando:

escopo transacional

long running workflow

integração de serviços

integração de máquinas de estado

cenários de orquestração de web services

exposição de web services como workflows

12

Cenários não recomendadosO WF não é recomendado para cenários com:

grande volume de transformação de mensagens;

necessidade de integração de diversos adaptadores ou diferentesplataformas;

presença de mecanismos de monitoração, inspeção de mensagens ou composição dinâmica de chamadas.

Nesses casos, deve-se avaliar a necessidade de um núcleoEAI – Enterprise Application Integration, como oferecidopelo BizTalk Server 2009, por exemplo.

Para a composição de serviços dinâmicos, com patterns de roteamento, transformação e itinerário de mensagens, devemos avaliar um barramento de serviços (ESB).

13

Interoperabilidade na plataformaMicrosoft

Interop In the Box: BizTalk Server / BizTalk ESB Toolkit 2.0

LOB applications:

SAP Siebel ApplicationsPeopleSoft EnterpriseJD Edwards OneWorldJD Edwards Enterprise One

B2B standards:

XMLEDI (EDIFACT, ANSI X12, HIPAA)AS2SWIFTHL7RosettaNet

Heritage (IBM):

CICS, IMS3270, APPCCOBOL, RPGDB2, VSAM

Message buses:

WebSphere MQ MSMQ/MSMQTTIBCO RendezvousTIBCO EnterpriseMessage Service

Other formats:

SQL ServerSharePointOracle DBMSFile, FTPHTTP, SOAPPOP3/SMTP

Interop in the Framework: WCF / WF

Messaging & Metadata:

SOAP, WS-Addressing, MTOM WSDL, WS-MetadataExchange, WS-Policy

Web 2.0

POXRESTJSONRSS/ATOM

Security, Reliability & Transactions:

WS-Security, WS-SecureConversation, WS-Trust WS-Reliable Messaging, WS-Coordination, WS-AtomicTransaction

Unified Protocols:

ASMXWSE.NET RemotingCOM+MSMQ

Interop in the Cloud: .NET Services do Windows Azure

Access Control Service Bus Federated Services

14

Cliente

Serviço

MensagemABC

A B C

A B C

Metadata

Bv

Bv

Bv

Bv

Proxy

ServiceHost<T>()Address Binding Contract

(Onde) (Como) (O quê)

Endpoint

Endpoint

Anatomia de um serviço no WCF

15

Integração WCF+WF

Com o .NET 3.0, um workflow WF podia interagir com serviços apenas através de interfaces Web Services, ou seja, a integração com WCF não era nativa.

Invocando um Web Service com

os recursos do .NET 3.0

16

Integração WCF+WF

O .NET 3.5 trouxe novas funcionalidades e entre elas, uma maior facilidade para o consumo de serviços WCF a partir de fluxos de trabalho em WF.

Para a exportação do worfklow

como um serviço

Para o consumo de um serviço a

partir do workflow

17

WCF + WF = Workflow Services

Total suporte a diversos cenários de integraçãoWCF+WF

WCF Service

WF Workflow

WCF endpoint

WCF endpoint

External Service

External Service

Client

18

Integração WCF+WFPodemos consumirserviços WCF a partir de workflows em WF

A B C

A B C

ServiçoWCF

Bv

Bv

WorkflowWF

19

Integração WCF+WFPodemos expor workflows WF através de interfaces de serviços em WCF

WorkflowWF

A B C

A B C Bv

Bv

ABC

ClienteWCF

Bv

Bv

20

Novidades do WF 4.0

WF declarativosMelhorias na

BaseActivity Library

Atividadescustomizadassimplificadas

Fluxo de dadosMelhorias no

Runtime/designer

21

Workflows Declarativos

C#

DSL

Visio

Representação em vários formatosXAML, C#, Visio, DSL, etc.

A definição do programa é somente dadoArquivo XML facilmente manipulávelPossibilidade de várias ferramentasArmazenado em qualquer lugar

arquivo, DB, nuvem, etc.

22

Base Activity Library

.NET 4.0 traz novas atividades, além de melhorias

Flowchart

ForEach

Parallel

ParallelForEach

DoWhile

Pick

AddToCollection

RemoveFromCollection

ExistsInCollection

ClearCollection

...

Assign

InvokeMethod

Persist

TryCatch

CompensableActivity

Interop

...

Flow Control Collection Outras

Microsoft está planejando disponibilizar novasatividades no CodePlex

23

Flow Chart Model

Controle do fluxo de processamento com ifs, loops, etc

Permite retornar o fluxo paraatividades anteriores

Flowcharts é um meio termo entre o modelosequencial e a máquina de estado

24

Modelo de Programação Simplificado

Maior facilidade para:Hospedar e rodar as instâncias dos workflows

Gerenciar bookmarks

Criar atividades customizadas

Trafegar e armazenar dados

25

WorkflowElement

Activity CodeActivity NativeActivity

Criação de atividades customizadas

Novo modelo de programação

26

WF 4.0 Data Flow Constructs

Arguments

Variables

Expressions

Utilizado para definir o fluxo de dados das atividades; Cada um tem uma direção: input, output, ouinput/output.

Armazenamento de dados dentro de uma atividade;Podem ter vários escopos dentro do workflow

Funcionam como funções, recebem parâmetros, realizamalguma operação e retornam algum valor

2727

28

Conclusões

WF suporta diferentes cenários para workflows, máquinas de estado e orquestração de serviços e processos no domínio da aplicação.

Podemos implementar regras de negócio e fluxos de tomada de decisão através de workflows em WF, com grande produtividade.

Cenários baseados em EAI – Enterprise Application Integration ou ESB – Enterprise Service Bus podem compor workflows implementados em WF.

Devemos avaliar as reais necessidades de interoperabilidade e composição de processos em nossas soluções.

29

Recursos

WCF and WF Services in the .NET Framework 4.0 and "Dublin"

http://msdn.microsoft.com/en-us/magazine/2009.01.net40.aspx

The Workflow Way: Understanding Windows Workflow Foundation

http://msdn.microsoft.com/en-us/library/dd851337.aspx

A Developer's Introduction to Windows Workflow Foundation (WF4) in .NET 4 Beta 1

http://msdn.microsoft.com/en-us/library/ee342461.aspx

A Developer’s Introduction to Windows Communication Foundation (WCF) .NET 4 Beta 1

http://msdn.microsoft.com/pt-br/library/ee354381(en-us).aspx

30

Recursos (cont.)

ArqBR.Groupshttp://arqbr.groups.live.com/

ArqCasts no Channel9/Brasilhttp://channel9.msdn.com/brasil/

ebook Arquitetura de Soluçõeshttp://blogs.msdn.com/wcamb/archive/2009/10/01/ebook-sobre-arquitetura-de-solu-es.aspx

Centro de Arquitetura MSDNhttp://msdn.microsoft.com/pt-br/architecture/default.aspx

31

© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,

IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.