Uma introdução sobre WF Windows Workflow...
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.