AAB304 - Windows Workflow Foundation - wcamb

  • 1,139 views
Uploaded on

Uma introdução sobre o WF - Windows Workflow Foundation …

Uma introdução sobre o WF - Windows Workflow Foundation
Publicação: Outubro/2009.
Autor: Waldemir Cambiucci.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,139
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
0
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Uma introdução sobre WF – Windows Workflow Foundation Waldemir Cambiucci Arquiteto de Soluções twitter.com/wcamb Microsoft Brasil blogs.msdn.com/wcamb 1
  • 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 2
  • 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. 3
  • 4. O que é o WF? WF – Windows Workflow Foundation é um framework de desenvolvimento do .NET Framework, que permite a construção de workflows e máquinas de estado para a coordenação de atividades em aplicações diversas. Parte integrante do .NET Framework desde a versão 3.0, o WF suporta uma série de cenários, controles de fluxo e máquinas de estado. 4
  • 5. .NET Framework 3.5 SP1 .NET ADO.NET Entity ADO.NET Data Services ASP.NET Dynamic Data ASP.NET Routing Framework Framework .NET Framework 3.5 Principais REST AJAX LINQ RSS recursos do POX ATOM JSON +BCL .NET Framework. .NET Framework 3.0 Card WCF WPF WF Space .NET Framework 2.0 Web ADO.NET CLR Services ASP.NET
  • 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 6
  • 7. O que é o WF? Visual Designer • Workflows executam dentro de Um Workflow um processo host: qualquer aplicação ou servidor Uma atividade Componentes Custom Activity Library • Base Activity Library: atividades Windows “Out-of-box” e base para customizações • Runtime Engine: Gerenciamento de Workflow Foundation Workflow e estado de execução Base Activity Library • Runtime Services: Camada de comunicação e conectividade Runtime Engine • Visual Designer: módulo gráfico para construção e composição Runtime Services • Desenvolvedores podem construir suas próprias Custom Activity Libraries Host Process 7
  • 8. O que é o WF? No Visual Studio, Workflow o WF é construido WF de forma visual 8
  • 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, escopo transacional, entre outros; Disponibilidade de inúmeros templates integrados ao Visual Studio 2008; Integração completa com interfaces de serviços em WCF – Windows Communication Foundation; Suporte para diversos hospedeiros de processos, como IIS, Windows Service, Dublin, WAS, etc. 9
  • 10. Cenários exemplo Veja um cenário Camada de genérico de uso de Apresentação (WPF) WCF, WF e WPF no .NET Framework Camada de processos ou workflows (WF) Camada de serviços (WCF) Camada de Aplicações (LoB) 10
  • 11. Cenários recomendados O WF é indicado para cenários de coordenação de 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 11
  • 12. Cenários não recomendados O WF não é recomendado para cenários com: grande volume de transformação de mensagens; necessidade de integração de diversos adaptadores ou diferentes plataformas; 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úcleo EAI – Enterprise Application Integration, como oferecido pelo 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). 12
  • 13. Interoperabilidade na plataforma Microsoft Interop in the Cloud: .NET Services do Windows Azure Access Control Service Bus Federated Services Interop In the Box: BizTalk Server / BizTalk ESB Toolkit 2.0 LOB applications: B2B standards: Message buses: Heritage (IBM): Other formats: SAP XML WebSphere MQ CICS, IMS SQL Server Siebel Applications EDI (EDIFACT, ANSI X12, MSMQ/MSMQT 3270, APPC SharePoint PeopleSoft Enterprise HIPAA) TIBCO Rendezvous COBOL, RPG Oracle DBMS JD Edwards OneWorld AS2 TIBCO Enterprise DB2, VSAM File, FTP JD Edwards Enterprise One SWIFT Message Service HTTP, SOAP HL7 POP3/SMTP RosettaNet Interop in the Framework: WCF / WF Unified Protocols: Messaging & Metadata: Security, Reliability & Transactions: Web 2.0 ASMX SOAP, WS-Addressing, MTOM WS-Security, WS-SecureConversation, WS-Trust POX WSE WSDL, WS-MetadataExchange, WS-Reliable Messaging, WS-Coordination, REST .NET Remoting WS-Policy WS-AtomicTransaction JSON COM+ RSS/ATOM MSMQ 13
  • 14. Anatomia de um serviço no WCF Metadata Cliente Bv Endpoint Serviço Bv C B A Mensagem A B C Bv A B C Bv Proxy Address Binding Contract ServiceHost<T>() Endpoint (Onde) (Como) (O quê) 14
  • 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 15
  • 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 16
  • 17. WCF + WF = Workflow Services Total suporte a diversos cenários de integração WCF+WF WCF Service WF Workflow WCF endpoint Client External Service WCF endpoint External Service 17
  • 18. Integração WCF+WF Podemos consumir serviços WCF a partir de workflows em WF Serviço WCF A B C Bv A B C Bv Workflow WF 18
  • 19. Integração WCF+WF Podemos expor workflows WF através de interfaces de serviços em WCF Cliente WCF Bv Bv C B A A B C Bv Workflow A B C WF Bv 19
  • 20. Novidades do WF 4.0 Melhorias na Atividades WF declarativos Base customizadas Activity Library simplificadas Melhorias no Fluxo de dados Runtime/designer 20
  • 21. Workflows Declarativos A definição do programa é somente dado Arquivo XML facilmente manipulável Possibilidade de várias ferramentas Visio Armazenado em qualquer lugar arquivo, DB, nuvem, etc. DSL Representação em vários formatos C# XAML, C#, Visio, DSL, etc. 21
  • 22. Base Activity Library .NET 4.0 traz novas atividades, além de melhorias Flow Control Collection Outras Flowchart AddToCollection Assign ForEach RemoveFromCollection InvokeMethod Parallel ExistsInCollection Persist ParallelForEach ClearCollection TryCatch DoWhile ... CompensableActivity Pick Interop … ... Microsoft está planejando disponibilizar novas atividades no CodePlex 22
  • 23. Flow Chart Model Flowcharts é um meio termo entre o modelo sequencial e a máquina de estado Controle do fluxo de processamento com ifs, loops, etc Permite retornar o fluxo para atividades anteriores 23
  • 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 24
  • 25. Criação de atividades customizadas Novo modelo de programação WorkflowElement Activity CodeActivity NativeActivity 25
  • 26. WF 4.0 Data Flow Constructs Arguments Utilizado para definir o fluxo de dados das atividades; Cada um tem uma direção: input, output, ou input/output. Variables Armazenamento de dados dentro de uma atividade; Podem ter vários escopos dentro do workflow Expressions Funcionam como funções, recebem parâmetros, realizam alguma operação e retornam algum valor 26
  • 27. 27
  • 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. 28
  • 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 29
  • 30. Recursos (cont.) ArqBR.Groups http://arqbr.groups.live.com/ ArqCasts no Channel9/Brasil http://channel9.msdn.com/brasil/ ebook Arquitetura de Soluções http://blogs.msdn.com/wcamb/archive/2009/10/01/ebook- sobre-arquitetura-de-solu-es.aspx Centro de Arquitetura MSDN http://msdn.microsoft.com/pt-br/architecture/default.aspx 30
  • 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. 31