SlideShare uma empresa Scribd logo
1 de 40
25ª Reunião Lisboa - 17/12/2011   http://netponto.org




     Windows Workflow Foundation 4:
                        Introdução
                                        Caio Proiete
Patrocinadores “GOLD”
Patrocinadores “Bronze”
Caio Proiete
Consultor Independente / Freelancer
  –> http://caioproiete.net

Formador @ CICLO
  –> http://ciclo.pt

Microsoft MVP, MCT, MC*.net
Agenda
• Windows Workflow 4.0
 – Introdução
 – O ambiente de desenvolvimento
 – “Hello [Workflow] World”
 – Os diferentes de actividades e para que
  servem / quando usar
 – Demos... Demos... E mais demos...
Também disponível em vídeo...


      Assista!
http://www.youtube.com/watch?v
=6XRDUexc-Fw
WF: O que é?
Conjunto de bibliotecas do .NET Framework
que fornece uma API para a execução de
workflows dentro de uma aplicação (in-
process)




         ...                                ...
WF: O que é?
WPF = Windows Presentation Foundation
WCF = Windows Communication Foundation
WF = Windows Workflow Foundation

WF != WWF
WF: Hmmm... E para que serve?
  Modelar padrões de controlo de fluxo de
  execução de forma declarativa através de
 composição de actividades independentes
Exemplos de workflows
• Processo de compras empresarial
• Processo de pedidos (ex: e-Commerce)
• Acompanhamento visual de processos
• Processamento de folha de horas
• Documentos colaborativos
• Controlo de ‘bugs’ em software
• Wizards
...
var dados = ObterDados();
bool actualizouBd = false;
do
{
    try
    {
        actualizouBd = ActualizarBd(dados);
        // ...
    }
    catch (Exception) { ... }

} while (!actualizouBd);

FinalizarProcessamento();
WF: Evolução
• Introduzido com o .NET 3.0
   – Actualizado na versão 3.5 do .NET
                                                   WF 4.0
   – Totalmente reconstruído no .NET 4.0
                                                  Abril/2010

                                  WF 3.5 SP1

                                    Agosto/2008

                   WF 3.5

                  Novembro/2007

     WF 3.0
                                   Na verdade: “WF 1.0” :)
 Novembro/2006
WF: Compatibilidade
• Aplicações c/ WF podem correr no:
     – Windows XP c/ Service Pack 2 (ou >)
     – Windows Vista
     – Windows 7
     – Windows 8*
     – Windows 2003 Server
     – Windows 2008 Server
     – Windows 2008 R2 Server
     – Windows 8 Server*
* Ainda em versão developer preview na data desta apresentação.
WF: Projectos no VS 2010
“Hello [Workflow] World”
WF: Workflow Designer “ReHost”
WF: Workflow Designer “ReHost”
• Podemos ter o Workflow Designer
  utilizado pelo Visual Studio em
  nossas aplicações
 – Criar e alterar workflows sem precisar
  do Visual Studio
 – Acompanhamento visual da execução
  de workflows
Workflow Designer “ReHost”
WF: Execução de Workflows
• WorkflowInvoker
 – Execução de workflows simples (sem
  persistência, bookmarks, etc...)
 – Executa workflows na mesma thread


• WorkflowApplication
 – Execução de qualquer tipo de workflows
 – Executa workflows em thread separada
WF: Execução de Workflows
• WorkflowServiceHost
 – Execução de workflows através de serviços WCF
 – Os workflows podem ser iniciados (ou
  continuados) a partir de chamadas a um
  endpoint WCF
WF: Actividades
“Do not try to run the workflow – that’s
 impossible. Instead, only try to realize
              the truth...”
WF: Actividades
     “There is no workflow”
WF: Só existem actividades :)
                                     Activity



               Activity              Activity   Activity




    Activity              Activity
WF: Só existem actividades :)
                                     Activity



               Activity              Activity   Activity




    Activity              Activity
Actividades e Composição
Recomendação:
Workflows *não* devem durar para sempre
WF: Tipos de Actividades
                                                     System.Activities.dll
                     Activity




  CodeActivity                    NativeActivity


AsyncCodeActivity
                                Activity<TResult>



      CodeActivity              Async CodeActivity    NativeActivity
       <TResult>                    <TResult>          <TResult>
WF: Controlo de fluxo e actividades

                   • Tipos de actividades:
                     – Activity
   ObterDados


                     – CodeActivity
  ActualizarBD




  GerarRelatorio
WF: Controlo de fluxo e actividades
     A       • Tipos de actividade:
     B         – Activity
     C         – CodeActivity


     D
WF: Controlo de fluxo e actividades

Em Paralelo                  • Tipos de actividade:
              Actividade 1     – AsyncCodeActivity
              Actividade 2



              Actividade 3



              Actividade 4
WF: Controlo de fluxo e actividades

• Tipo de actividade:
  – NativeActivity


                                    Aguarda Resp.
        Aprovado      Rejeitado
                                      (TimeOut)


         Gravar      EnviarAlerta     Cancelar
Controlo de fluxo e actividades
Questões?
Onde aprender mais sobre WF?
Blog do Ron Jacobs - Program Manager do WF @ Microsoft
   – http://www.ronjacobs.com

Windows Workflow Foundation Screencasts @ Channel9
   – http://caiop.me/wf-ch9

Windows Workflow Foundation @ CodePlex
   – http://wf.codeplex.com

Curso Presencial Windows Workflow Foundation 4.0 @ CICLO (€)
   – http://ciclo.pt/curso/c1020
Patrocinadores “GOLD”
Patrocinadores “Bronze”
Próximas reuniões presenciais
• 17/12/2011 – Dezembro
• 21/01/2012 – Janeiro (Lisboa)
• 11/02/2011 – Fevereiro (Coimbra)
• 18/02/2011 – Fevereiro (Lisboa)
Reserva estes dias na agenda! :)
Obrigado!
Feliz Natal e Ano Novo! :)

Caio Proiete
caio@netponto.org
http://caioproiete.net
http://twitter.com/caioproiete

Mais conteúdo relacionado

Destaque

Tecnologia na Educacao
Tecnologia na Educacao Tecnologia na Educacao
Tecnologia na Educacao Poliana Talita
 
Web 2.0, Democracia 3.0 y otros cuentos de fantasia
Web 2.0, Democracia 3.0 y otros cuentos de fantasiaWeb 2.0, Democracia 3.0 y otros cuentos de fantasia
Web 2.0, Democracia 3.0 y otros cuentos de fantasiaggranieri
 
Football coach phrasebook
Football coach phrasebookFootball coach phrasebook
Football coach phrasebookNinaKhamsy
 
Rethinking in the rise of Japan: 1955-1991
Rethinking in the rise of Japan: 1955-1991Rethinking in the rise of Japan: 1955-1991
Rethinking in the rise of Japan: 1955-1991machese
 
Pam Samuels Administrative Assistant
Pam Samuels Administrative AssistantPam Samuels Administrative Assistant
Pam Samuels Administrative AssistantSamuels06
 
Business value pipeline with atlassian products
Business value pipeline with atlassian productsBusiness value pipeline with atlassian products
Business value pipeline with atlassian products智治 長沢
 
アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援
アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援
アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援智治 長沢
 
Presentación El Perfume
Presentación El PerfumePresentación El Perfume
Presentación El PerfumeAlba Piza
 
Michel Schuurman - MVO Nederland
Michel Schuurman - MVO NederlandMichel Schuurman - MVO Nederland
Michel Schuurman - MVO NederlandDutch Power
 
Peter Lacy - Accenture Strategy, Sustainability Services
Peter Lacy - Accenture Strategy, Sustainability ServicesPeter Lacy - Accenture Strategy, Sustainability Services
Peter Lacy - Accenture Strategy, Sustainability ServicesDutch Power
 
Bernard Fortuyn - Siemens Nederland
Bernard Fortuyn - Siemens NederlandBernard Fortuyn - Siemens Nederland
Bernard Fortuyn - Siemens NederlandDutch Power
 
Miro Zeman - Department of Electrical Sustainable Energy
Miro Zeman - Department of Electrical Sustainable EnergyMiro Zeman - Department of Electrical Sustainable Energy
Miro Zeman - Department of Electrical Sustainable EnergyDutch Power
 
Solar system quiz
Solar system quizSolar system quiz
Solar system quizmeenakshy23
 
éTica empresarial
éTica empresarialéTica empresarial
éTica empresarialAramir14
 

Destaque (20)

Tecnologia na Educacao
Tecnologia na Educacao Tecnologia na Educacao
Tecnologia na Educacao
 
Basson
BassonBasson
Basson
 
Baroque Composers
Baroque ComposersBaroque Composers
Baroque Composers
 
LAKit
LAKitLAKit
LAKit
 
Web 2.0, Democracia 3.0 y otros cuentos de fantasia
Web 2.0, Democracia 3.0 y otros cuentos de fantasiaWeb 2.0, Democracia 3.0 y otros cuentos de fantasia
Web 2.0, Democracia 3.0 y otros cuentos de fantasia
 
Football coach phrasebook
Football coach phrasebookFootball coach phrasebook
Football coach phrasebook
 
Rethinking in the rise of Japan: 1955-1991
Rethinking in the rise of Japan: 1955-1991Rethinking in the rise of Japan: 1955-1991
Rethinking in the rise of Japan: 1955-1991
 
Pam Samuels Administrative Assistant
Pam Samuels Administrative AssistantPam Samuels Administrative Assistant
Pam Samuels Administrative Assistant
 
Í takt við tímann
Í takt við tímannÍ takt við tímann
Í takt við tímann
 
La tablatura
La tablaturaLa tablatura
La tablatura
 
Business value pipeline with atlassian products
Business value pipeline with atlassian productsBusiness value pipeline with atlassian products
Business value pipeline with atlassian products
 
アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援
アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援
アジャイル実践における開発環境の変化〜要求の捉え方、プロジェクト運営、ツール支援
 
Octave
OctaveOctave
Octave
 
Presentación El Perfume
Presentación El PerfumePresentación El Perfume
Presentación El Perfume
 
Michel Schuurman - MVO Nederland
Michel Schuurman - MVO NederlandMichel Schuurman - MVO Nederland
Michel Schuurman - MVO Nederland
 
Peter Lacy - Accenture Strategy, Sustainability Services
Peter Lacy - Accenture Strategy, Sustainability ServicesPeter Lacy - Accenture Strategy, Sustainability Services
Peter Lacy - Accenture Strategy, Sustainability Services
 
Bernard Fortuyn - Siemens Nederland
Bernard Fortuyn - Siemens NederlandBernard Fortuyn - Siemens Nederland
Bernard Fortuyn - Siemens Nederland
 
Miro Zeman - Department of Electrical Sustainable Energy
Miro Zeman - Department of Electrical Sustainable EnergyMiro Zeman - Department of Electrical Sustainable Energy
Miro Zeman - Department of Electrical Sustainable Energy
 
Solar system quiz
Solar system quizSolar system quiz
Solar system quiz
 
éTica empresarial
éTica empresarialéTica empresarial
éTica empresarial
 

Semelhante a Windows Workflow Foundation 4: Introdução - C. Augusto Proiete

Desktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows StoreDesktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows StoreIgor Abade
 
De A a Zabbix - I Congresso de Ciências Exatas e Tecnológicas
De A a Zabbix - I Congresso de Ciências Exatas e TecnológicasDe A a Zabbix - I Congresso de Ciências Exatas e Tecnológicas
De A a Zabbix - I Congresso de Ciências Exatas e TecnológicasAndré Déo
 
Aula 04 - Workflows com Visio 2010 e SPD 2010
Aula 04 - Workflows com Visio 2010 e SPD 2010Aula 04 - Workflows com Visio 2010 e SPD 2010
Aula 04 - Workflows com Visio 2010 e SPD 2010Fernanda Saraiva
 
Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010Bernardo Porto
 
Conhecendo a Plataforma .NET
Conhecendo a Plataforma .NETConhecendo a Plataforma .NET
Conhecendo a Plataforma .NETPedro Alves Jr.
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Renato Groff
 
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
 
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...tdc-globalcode
 
Orquestrando processos de negócio com .NET + Azure Durable Functions | Cloud4...
Orquestrando processos de negócio com .NET + Azure Durable Functions | Cloud4...Orquestrando processos de negócio com .NET + Azure Durable Functions | Cloud4...
Orquestrando processos de negócio com .NET + Azure Durable Functions | Cloud4...Renato Groffe
 
Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHCloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHRenato Groff
 
Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017Denis Santos
 
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)Igor Abade
 
Como ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComo ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComunidade NetPonto
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsJosé Alexandre Macedo
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioGeovani Ferreira Gonçalves
 
Apresentação ítalo 17.09.21
Apresentação ítalo 17.09.21Apresentação ítalo 17.09.21
Apresentação ítalo 17.09.21Ítalo Bruno
 
Visual Studio Summit 2014 - Portable Class Library
Visual Studio Summit 2014 - Portable Class LibraryVisual Studio Summit 2014 - Portable Class Library
Visual Studio Summit 2014 - Portable Class LibraryThiago Lunardi
 

Semelhante a Windows Workflow Foundation 4: Introdução - C. Augusto Proiete (20)

Desktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows StoreDesktop App Converter: Trazendo Apps Win32 para a Windows Store
Desktop App Converter: Trazendo Apps Win32 para a Windows Store
 
Fórmula visual rm totvs
Fórmula visual rm totvsFórmula visual rm totvs
Fórmula visual rm totvs
 
De A a Zabbix - I Congresso de Ciências Exatas e Tecnológicas
De A a Zabbix - I Congresso de Ciências Exatas e TecnológicasDe A a Zabbix - I Congresso de Ciências Exatas e Tecnológicas
De A a Zabbix - I Congresso de Ciências Exatas e Tecnológicas
 
Meetup Stoodi Data & Tech #3 - Data Pipelines na AWS
Meetup Stoodi Data & Tech #3 - Data Pipelines na AWSMeetup Stoodi Data & Tech #3 - Data Pipelines na AWS
Meetup Stoodi Data & Tech #3 - Data Pipelines na AWS
 
Aula 04 - Workflows com Visio 2010 e SPD 2010
Aula 04 - Workflows com Visio 2010 e SPD 2010Aula 04 - Workflows com Visio 2010 e SPD 2010
Aula 04 - Workflows com Visio 2010 e SPD 2010
 
Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010Novidades da API do Windows 7 usando o Delphi 2010
Novidades da API do Windows 7 usando o Delphi 2010
 
Conhecendo a Plataforma .NET
Conhecendo a Plataforma .NETConhecendo a Plataforma .NET
Conhecendo a Plataforma .NET
 
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
Docker: Primeiros Passos, Dicas e Truques no Gerenciamento de Containers - Ab...
 
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
 
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
TDC2016POA | Trilha DevOps - Gestão de ciclo de vida de banco de dados: Já pa...
 
Orquestrando processos de negócio com .NET + Azure Durable Functions | Cloud4...
Orquestrando processos de negócio com .NET + Azure Durable Functions | Cloud4...Orquestrando processos de negócio com .NET + Azure Durable Functions | Cloud4...
Orquestrando processos de negócio com .NET + Azure Durable Functions | Cloud4...
 
Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHCloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
 
Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017
 
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
Gestão de ciclo de vida de Banco de Dados: Já passou da hora! (TDC POA 2016)
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
Como ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComo ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noite
 
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOpsQuebrando barreiras entre desenvolvimento e operação de software com DevOps
Quebrando barreiras entre desenvolvimento e operação de software com DevOps
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual Studio
 
Apresentação ítalo 17.09.21
Apresentação ítalo 17.09.21Apresentação ítalo 17.09.21
Apresentação ítalo 17.09.21
 
Visual Studio Summit 2014 - Portable Class Library
Visual Studio Summit 2014 - Portable Class LibraryVisual Studio Summit 2014 - Portable Class Library
Visual Studio Summit 2014 - Portable Class Library
 

Mais de Comunidade NetPonto

Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...Comunidade NetPonto
 
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...Comunidade NetPonto
 
MVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara SilvaMVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara SilvaComunidade NetPonto
 
Deep dive into Windows Azure Mobile Services - Ricardo Costa
Deep dive into Windows Azure Mobile Services - Ricardo CostaDeep dive into Windows Azure Mobile Services - Ricardo Costa
Deep dive into Windows Azure Mobile Services - Ricardo CostaComunidade NetPonto
 
The power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno CanceloThe power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno CanceloComunidade NetPonto
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
NoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor TomazNoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor TomazComunidade NetPonto
 
De Zero a Produção - João Jesus
De Zero a Produção - João JesusDe Zero a Produção - João Jesus
De Zero a Produção - João JesusComunidade NetPonto
 
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComo deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComunidade NetPonto
 
Case studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store AppsCase studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store AppsComunidade NetPonto
 
Aspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharpAspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharpComunidade NetPonto
 
Utilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes UnitáriosUtilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes UnitáriosComunidade NetPonto
 
Dinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de ProjectoDinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de ProjectoComunidade NetPonto
 
KnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida realKnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida realComunidade NetPonto
 
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto ProieteWindows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto ProieteComunidade NetPonto
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIComunidade NetPonto
 
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8Comunidade NetPonto
 

Mais de Comunidade NetPonto (20)

Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
 
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
 
MVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara SilvaMVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara Silva
 
Deep dive into Windows Azure Mobile Services - Ricardo Costa
Deep dive into Windows Azure Mobile Services - Ricardo CostaDeep dive into Windows Azure Mobile Services - Ricardo Costa
Deep dive into Windows Azure Mobile Services - Ricardo Costa
 
The power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno CanceloThe power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno Cancelo
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
ASP.NET Signal R - Glauco Godoi
ASP.NET Signal R - Glauco GodoiASP.NET Signal R - Glauco Godoi
ASP.NET Signal R - Glauco Godoi
 
NoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor TomazNoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor Tomaz
 
HTML5 - Pedro Rosa
HTML5 - Pedro RosaHTML5 - Pedro Rosa
HTML5 - Pedro Rosa
 
De Zero a Produção - João Jesus
De Zero a Produção - João JesusDe Zero a Produção - João Jesus
De Zero a Produção - João Jesus
 
OData – Super Cola W3
OData – Super Cola W3OData – Super Cola W3
OData – Super Cola W3
 
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComo deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
 
Case studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store AppsCase studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store Apps
 
Aspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharpAspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharp
 
Utilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes UnitáriosUtilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes Unitários
 
Dinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de ProjectoDinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de Projecto
 
KnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida realKnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida real
 
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto ProieteWindows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web API
 
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
 

Windows Workflow Foundation 4: Introdução - C. Augusto Proiete

  • 1. 25ª Reunião Lisboa - 17/12/2011 http://netponto.org Windows Workflow Foundation 4: Introdução Caio Proiete
  • 4. Caio Proiete Consultor Independente / Freelancer –> http://caioproiete.net Formador @ CICLO –> http://ciclo.pt Microsoft MVP, MCT, MC*.net
  • 5. Agenda • Windows Workflow 4.0 – Introdução – O ambiente de desenvolvimento – “Hello [Workflow] World” – Os diferentes de actividades e para que servem / quando usar – Demos... Demos... E mais demos...
  • 6. Também disponível em vídeo... Assista! http://www.youtube.com/watch?v =6XRDUexc-Fw
  • 7. WF: O que é? Conjunto de bibliotecas do .NET Framework que fornece uma API para a execução de workflows dentro de uma aplicação (in- process) ... ...
  • 8. WF: O que é? WPF = Windows Presentation Foundation WCF = Windows Communication Foundation WF = Windows Workflow Foundation WF != WWF
  • 9. WF: Hmmm... E para que serve? Modelar padrões de controlo de fluxo de execução de forma declarativa através de composição de actividades independentes
  • 10. Exemplos de workflows • Processo de compras empresarial • Processo de pedidos (ex: e-Commerce) • Acompanhamento visual de processos • Processamento de folha de horas • Documentos colaborativos • Controlo de ‘bugs’ em software • Wizards ...
  • 11. var dados = ObterDados(); bool actualizouBd = false; do { try { actualizouBd = ActualizarBd(dados); // ... } catch (Exception) { ... } } while (!actualizouBd); FinalizarProcessamento();
  • 12.
  • 13.
  • 14. WF: Evolução • Introduzido com o .NET 3.0 – Actualizado na versão 3.5 do .NET WF 4.0 – Totalmente reconstruído no .NET 4.0 Abril/2010 WF 3.5 SP1 Agosto/2008 WF 3.5 Novembro/2007 WF 3.0 Na verdade: “WF 1.0” :) Novembro/2006
  • 15. WF: Compatibilidade • Aplicações c/ WF podem correr no: – Windows XP c/ Service Pack 2 (ou >) – Windows Vista – Windows 7 – Windows 8* – Windows 2003 Server – Windows 2008 Server – Windows 2008 R2 Server – Windows 8 Server* * Ainda em versão developer preview na data desta apresentação.
  • 16. WF: Projectos no VS 2010
  • 18. WF: Workflow Designer “ReHost”
  • 19. WF: Workflow Designer “ReHost” • Podemos ter o Workflow Designer utilizado pelo Visual Studio em nossas aplicações – Criar e alterar workflows sem precisar do Visual Studio – Acompanhamento visual da execução de workflows
  • 21. WF: Execução de Workflows • WorkflowInvoker – Execução de workflows simples (sem persistência, bookmarks, etc...) – Executa workflows na mesma thread • WorkflowApplication – Execução de qualquer tipo de workflows – Executa workflows em thread separada
  • 22. WF: Execução de Workflows • WorkflowServiceHost – Execução de workflows através de serviços WCF – Os workflows podem ser iniciados (ou continuados) a partir de chamadas a um endpoint WCF
  • 23. WF: Actividades “Do not try to run the workflow – that’s impossible. Instead, only try to realize the truth...”
  • 24. WF: Actividades “There is no workflow”
  • 25. WF: Só existem actividades :) Activity Activity Activity Activity Activity Activity
  • 26. WF: Só existem actividades :) Activity Activity Activity Activity Activity Activity
  • 29. WF: Tipos de Actividades System.Activities.dll Activity CodeActivity NativeActivity AsyncCodeActivity Activity<TResult> CodeActivity Async CodeActivity NativeActivity <TResult> <TResult> <TResult>
  • 30. WF: Controlo de fluxo e actividades • Tipos de actividades: – Activity ObterDados – CodeActivity ActualizarBD GerarRelatorio
  • 31. WF: Controlo de fluxo e actividades A • Tipos de actividade: B – Activity C – CodeActivity D
  • 32. WF: Controlo de fluxo e actividades Em Paralelo • Tipos de actividade: Actividade 1 – AsyncCodeActivity Actividade 2 Actividade 3 Actividade 4
  • 33. WF: Controlo de fluxo e actividades • Tipo de actividade: – NativeActivity Aguarda Resp. Aprovado Rejeitado (TimeOut) Gravar EnviarAlerta Cancelar
  • 34. Controlo de fluxo e actividades
  • 36. Onde aprender mais sobre WF? Blog do Ron Jacobs - Program Manager do WF @ Microsoft – http://www.ronjacobs.com Windows Workflow Foundation Screencasts @ Channel9 – http://caiop.me/wf-ch9 Windows Workflow Foundation @ CodePlex – http://wf.codeplex.com Curso Presencial Windows Workflow Foundation 4.0 @ CICLO (€) – http://ciclo.pt/curso/c1020
  • 39. Próximas reuniões presenciais • 17/12/2011 – Dezembro • 21/01/2012 – Janeiro (Lisboa) • 11/02/2011 – Fevereiro (Coimbra) • 18/02/2011 – Fevereiro (Lisboa) Reserva estes dias na agenda! :)
  • 40. Obrigado! Feliz Natal e Ano Novo! :) Caio Proiete caio@netponto.org http://caioproiete.net http://twitter.com/caioproiete