SlideShare uma empresa Scribd logo
1 de 31
Uma introdução sobre
    WF – Windows Workflow
    Foundation


    Waldemir Cambiucci
    Arquiteto de Soluções        twitter.com/wcamb
    Microsoft Brasil        blogs.msdn.com/wcamb

1
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
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
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
.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
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
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
O que é o WF?




                               No Visual Studio,
                    Workflow   o WF é construido
                      WF        de forma visual

8
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
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
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
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
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
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
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
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
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
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
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
Novidades do WF 4.0


                            Melhorias na        Atividades
       WF declarativos          Base           customizadas
                           Activity Library    simplificadas


                                      Melhorias no
                 Fluxo de dados
                                    Runtime/designer




20
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
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
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
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
Criação de atividades customizadas
              Novo modelo de programação

                    WorkflowElement



         Activity     CodeActivity    NativeActivity




25
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
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
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
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
© 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

Mais conteúdo relacionado

Mais procurados

Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Javalimadavi
 
AAB305 - Service Oriented Architecture - wcamb
AAB305 - Service Oriented Architecture - wcambAAB305 - Service Oriented Architecture - wcamb
AAB305 - Service Oriented Architecture - wcambMicrosoft Brasil
 
Web services, aplicações, acesso a aplicações, XML, API
Web services, aplicações, acesso a aplicações, XML, APIWeb services, aplicações, acesso a aplicações, XML, API
Web services, aplicações, acesso a aplicações, XML, APINuno Pereira
 
AAB309 - SQL Azure Database - wcamb
AAB309 - SQL Azure Database - wcambAAB309 - SQL Azure Database - wcamb
AAB309 - SQL Azure Database - wcambguest34ed8ec
 
04 - Felipe Oliveira - Think Decoupled! (SOA)
04 - Felipe Oliveira - Think Decoupled! (SOA)04 - Felipe Oliveira - Think Decoupled! (SOA)
04 - Felipe Oliveira - Think Decoupled! (SOA)DNAD
 
Lync Server 2010 - Arquitetura
Lync Server 2010 - ArquiteturaLync Server 2010 - Arquitetura
Lync Server 2010 - Arquiteturabrunoestrozi
 
Introdução a Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a ServiçosIntrodução a Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a ServiçosIgor Takenami
 
Interop day wcf_presentation
Interop day wcf_presentationInterop day wcf_presentation
Interop day wcf_presentationAndre_Bonfante
 
O que ganhamos com Java e Cloud Computing?
O que ganhamos com Java e Cloud Computing?O que ganhamos com Java e Cloud Computing?
O que ganhamos com Java e Cloud Computing?Bruno Borges
 
Sistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web ServicesSistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web ServicesAdriano Teixeira de Souza
 
Apresentação servidores de aplicação
Apresentação   servidores de aplicaçãoApresentação   servidores de aplicação
Apresentação servidores de aplicaçãoHelen Picoli
 
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Tiago Marchetti Dolphine
 
Introdução a Arquitetura de Sistemas
Introdução a Arquitetura de SistemasIntrodução a Arquitetura de Sistemas
Introdução a Arquitetura de SistemasIgor Takenami
 
Arquitetura da plataforma com o Biztalk Server
Arquitetura da plataforma com o Biztalk ServerArquitetura da plataforma com o Biztalk Server
Arquitetura da plataforma com o Biztalk ServerMarkus Christen
 
SOA - Uma Breve Introdução
SOA - Uma Breve IntroduçãoSOA - Uma Breve Introdução
SOA - Uma Breve IntroduçãoAndré Borgonovo
 

Mais procurados (20)

Arquitetura orientada a serviços (SOA)
Arquitetura orientada a serviços (SOA)Arquitetura orientada a serviços (SOA)
Arquitetura orientada a serviços (SOA)
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Java
 
Web Services XML - .NET framework
Web Services XML - .NET frameworkWeb Services XML - .NET framework
Web Services XML - .NET framework
 
AAB305 - Service Oriented Architecture - wcamb
AAB305 - Service Oriented Architecture - wcambAAB305 - Service Oriented Architecture - wcamb
AAB305 - Service Oriented Architecture - wcamb
 
Web services, aplicações, acesso a aplicações, XML, API
Web services, aplicações, acesso a aplicações, XML, APIWeb services, aplicações, acesso a aplicações, XML, API
Web services, aplicações, acesso a aplicações, XML, API
 
AAB309 - SQL Azure Database - wcamb
AAB309 - SQL Azure Database - wcambAAB309 - SQL Azure Database - wcamb
AAB309 - SQL Azure Database - wcamb
 
A Estrutura de um Web Service
A Estrutura de um Web ServiceA Estrutura de um Web Service
A Estrutura de um Web Service
 
04 - Felipe Oliveira - Think Decoupled! (SOA)
04 - Felipe Oliveira - Think Decoupled! (SOA)04 - Felipe Oliveira - Think Decoupled! (SOA)
04 - Felipe Oliveira - Think Decoupled! (SOA)
 
Web Services Rest
Web Services RestWeb Services Rest
Web Services Rest
 
Lync Server 2010 - Arquitetura
Lync Server 2010 - ArquiteturaLync Server 2010 - Arquitetura
Lync Server 2010 - Arquitetura
 
Introdução a Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a ServiçosIntrodução a Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a Serviços
 
Interop day wcf_presentation
Interop day wcf_presentationInterop day wcf_presentation
Interop day wcf_presentation
 
O que ganhamos com Java e Cloud Computing?
O que ganhamos com Java e Cloud Computing?O que ganhamos com Java e Cloud Computing?
O que ganhamos com Java e Cloud Computing?
 
Sistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web ServicesSistemas Distribuídos - Comunicação Distribuída – Web Services
Sistemas Distribuídos - Comunicação Distribuída – Web Services
 
Apresentação servidores de aplicação
Apresentação   servidores de aplicaçãoApresentação   servidores de aplicação
Apresentação servidores de aplicação
 
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
 
Introdução a Arquitetura de Sistemas
Introdução a Arquitetura de SistemasIntrodução a Arquitetura de Sistemas
Introdução a Arquitetura de Sistemas
 
Arquitetura da plataforma com o Biztalk Server
Arquitetura da plataforma com o Biztalk ServerArquitetura da plataforma com o Biztalk Server
Arquitetura da plataforma com o Biztalk Server
 
Microservices
MicroservicesMicroservices
Microservices
 
SOA - Uma Breve Introdução
SOA - Uma Breve IntroduçãoSOA - Uma Breve Introdução
SOA - Uma Breve Introdução
 

Semelhante a AAB304 - Windows Workflow Foundation - wcamb

Web Sphere Application Server
Web Sphere Application ServerWeb Sphere Application Server
Web Sphere Application ServerFabricio Carvalho
 
Palestra Plataforma .NET na ETEC Marília
Palestra Plataforma .NET na ETEC MaríliaPalestra Plataforma .NET na ETEC Marília
Palestra Plataforma .NET na ETEC MaríliaElvis Fusco
 
Introdução ao Windows Azure
Introdução ao Windows AzureIntrodução ao Windows Azure
Introdução ao Windows AzureFernando Correia
 
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcambAAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcambMicrosoft Brasil
 
Web Services Xml
Web Services XmlWeb Services Xml
Web Services XmlUFMG
 
Desvendando a Plataforma de Serviços Windows Azure
Desvendando a Plataforma de Serviços Windows AzureDesvendando a Plataforma de Serviços Windows Azure
Desvendando a Plataforma de Serviços Windows AzureLucasRomao
 
Middleware Reflexivo
Middleware ReflexivoMiddleware Reflexivo
Middleware Reflexivoelliando dias
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETRenato Groff
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETRenato Groff
 
Architecture In A Box: SOI com Dublin
Architecture In A Box: SOI com DublinArchitecture In A Box: SOI com Dublin
Architecture In A Box: SOI com DublinMarkus Christen
 
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...tdc-globalcode
 
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...Marcelo Palladino
 
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...tdc-globalcode
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVCBenicio Ávila
 
Roadshow TOTVS RM 2010 v.11.0
Roadshow TOTVS RM 2010 v.11.0Roadshow TOTVS RM 2010 v.11.0
Roadshow TOTVS RM 2010 v.11.0Andre Bretas
 
Chamada remota de procedimentos .net
Chamada remota de procedimentos   .netChamada remota de procedimentos   .net
Chamada remota de procedimentos .netGabii Fonseca
 
AAB308 - Cloud Computing Windows Azure - wcamb.pdf
AAB308 - Cloud Computing Windows Azure - wcamb.pdfAAB308 - Cloud Computing Windows Azure - wcamb.pdf
AAB308 - Cloud Computing Windows Azure - wcamb.pdfMicrosoft Brasil
 
Desenvolvimento de Software na Plataforma Microsoft .NET
Desenvolvimento de Software na Plataforma Microsoft .NETDesenvolvimento de Software na Plataforma Microsoft .NET
Desenvolvimento de Software na Plataforma Microsoft .NETGustavo Malheiros
 

Semelhante a AAB304 - Windows Workflow Foundation - wcamb (20)

Web Sphere Application Server
Web Sphere Application ServerWeb Sphere Application Server
Web Sphere Application Server
 
Palestra Plataforma .NET na ETEC Marília
Palestra Plataforma .NET na ETEC MaríliaPalestra Plataforma .NET na ETEC Marília
Palestra Plataforma .NET na ETEC Marília
 
Introdução ao Windows Azure
Introdução ao Windows AzureIntrodução ao Windows Azure
Introdução ao Windows Azure
 
AAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcambAAB303 - Windows Communication Foundation - wcamb
AAB303 - Windows Communication Foundation - wcamb
 
Web Services Xml
Web Services XmlWeb Services Xml
Web Services Xml
 
Desvendando a Plataforma de Serviços Windows Azure
Desvendando a Plataforma de Serviços Windows AzureDesvendando a Plataforma de Serviços Windows Azure
Desvendando a Plataforma de Serviços Windows Azure
 
Middleware Reflexivo
Middleware ReflexivoMiddleware Reflexivo
Middleware Reflexivo
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
 
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NETArquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
Arquitetura de Serviços - SOA, REST, Microservices e a plataforma .NET
 
Architecture In A Box: SOI com Dublin
Architecture In A Box: SOI com DublinArchitecture In A Box: SOI com Dublin
Architecture In A Box: SOI com Dublin
 
IBM WebSphere Portal
IBM WebSphere PortalIBM WebSphere Portal
IBM WebSphere Portal
 
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
 
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
 
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Introdução ao Asp.NET MVC
Introdução ao Asp.NET MVCIntrodução ao Asp.NET MVC
Introdução ao Asp.NET MVC
 
Roadshow TOTVS RM 2010 v.11.0
Roadshow TOTVS RM 2010 v.11.0Roadshow TOTVS RM 2010 v.11.0
Roadshow TOTVS RM 2010 v.11.0
 
Chamada remota de procedimentos .net
Chamada remota de procedimentos   .netChamada remota de procedimentos   .net
Chamada remota de procedimentos .net
 
AAB308 - Cloud Computing Windows Azure - wcamb.pdf
AAB308 - Cloud Computing Windows Azure - wcamb.pdfAAB308 - Cloud Computing Windows Azure - wcamb.pdf
AAB308 - Cloud Computing Windows Azure - wcamb.pdf
 
Desenvolvimento de Software na Plataforma Microsoft .NET
Desenvolvimento de Software na Plataforma Microsoft .NETDesenvolvimento de Software na Plataforma Microsoft .NET
Desenvolvimento de Software na Plataforma Microsoft .NET
 

AAB304 - Windows Workflow Foundation - wcamb

  • 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