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

31
1 Uma introdução sobre WF Windows Workflow Foundation Waldemir Cambiucci Arquiteto de Soluções Microsoft Brasil twitter.com/wcamb blogs.msdn.com/wcamb

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

Page 1: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

11

Uma introdução sobre WF – Windows Workflow Foundation

Waldemir CambiucciArquiteto de SoluçõesMicrosoft Brasil

twitter.com/wcambblogs.msdn.com/wcamb

Page 2: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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

Page 3: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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.

Page 4: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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.

Page 5: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

.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.

Page 6: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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

Page 7: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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

Page 8: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

8

WorkflowWF

O que é o WF?

No Visual Studio, o WF é construido

de forma visual

Page 9: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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.

Page 10: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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)

Page 11: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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

Page 12: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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).

Page 13: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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

Page 14: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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

Page 15: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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

Page 16: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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

Page 17: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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

Page 18: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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

Page 19: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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

Page 20: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

20

Novidades do WF 4.0

WF declarativosMelhorias na

BaseActivity Library

Atividadescustomizadassimplificadas

Fluxo de dadosMelhorias no

Runtime/designer

Page 21: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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.

Page 22: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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

Page 23: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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

Page 24: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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

Page 25: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

25

WorkflowElement

Activity CodeActivity NativeActivity

Criação de atividades customizadas

Novo modelo de programação

Page 26: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicaçã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

Page 27: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

2727

Page 28: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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.

Page 29: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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

Page 30: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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

Page 31: Uma introdução sobre WF Windows Workflow Foundationdownload.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C… · Integração WF+WCF Novidades do WF 4.0 Conclusões Publicação:

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.