SlideShare uma empresa Scribd logo
1 de 34
www.orbitone.com
Raas van Gaverestraat 83
B-9000 GENT, Belgium
E-mail info@orbitone.com
Website www.orbitone.com
Tel. +32 9 265 74 20
Fax +32 9 265 74 10
VAT BE 456.457.353
Bank 442-7059001-50 (KBC)
27 August, 2010 WorkFlow 4
27 August, 2010
WorkFlow 4
Like any technology, applying WF requires
understanding
what it is,
why it's useful,
and when it makes sense to use it.
27 August, 2010
WorkFlow 4
Isn't WorkFlow Foundation just a visual way to
write code and thus despicable?
What is Windows Workflow Foundation?
A framework for declarative programming
Tools for creating program definitions
A runtime for executing program logic
27 August, 2010
WorkFlow 4
DESIGNER DEMO
But first the simplest possible demo
Where we also show that it's possible to add breakpoint ?!
WF 4.0 Data Flow Constructs
Arguments
Variables
Expressions
Used to define the way data flows in and out of an
activity.
Used to declare named storage for data within an
activity.
Performs simple operations on arguments to return
a value.
27 August, 2010
WorkFlow 4
27 August, 2010
WorkFlow 4
PURE CODE DEMO
WCF Workflow Services
WCF Service
WF Workflow
Client
External
Service
External
Service
WCF endpoint
WCF endpoint
27 August, 2010
WorkFlow 4
27 August, 2010
WorkFlow 4
Benefits
 Long Running Process
 Scalability
27 August, 2010
WorkFlow 4
Composability
a workflow can contain flowcharts, state machine, C# code, ...
everything is an activity
Challenges
 Work is increasingly distributed
 Coordination code creates complexity
Coordinating messages with application state
Coordinating calls to a database or another service (Async I/O)
Coordinating rainy day scenarios
 Management and tracking of distributed work is difficult
27 August, 2010
WorkFlow 4
WorkflowServiceHost
Foo
Foo
Foo
27 August, 2010
WorkFlow 4
27 August, 2010
WorkFlow 4
Visual
Visual vocabulary to compose solution makes it easier for non
developers to create
27 August, 2010
WorkFlow 4
Tracking
27 August, 2010
WorkFlow 4
Integration
SharePoint 2010 uses WF3?
But there is an upcoming book "Professional Workflow 4 in
SharePoint 2010: Real World Business Workflow Solutions "
http://www.amazon.com/Professional-Workflow-SharePoint-
2010-Solutions/dp/0470617888
TFS2010 uses WF4
27 August, 2010
WorkFlow 4
Documentation
The business analysis can be mapped directly translated to
workflow/code
There is no distinction between documentation and code
IAB Flowchart on the next slide =>
27 August, 2010
WorkFlow 4
27 August, 2010
WorkFlow 4
Documentation
 Another often used modeling convention is the State Machine
Loading Workflow
<Activity x:Class=“Foo" >
<x:Members>
<x:Property Name="argument1“
Type="InArgument(x:String)" />
<x:Property Name="argument2”
Type="InArgument(x:String)" />
</x:Members>
Foo.dll
C# (DynamicActivity)
Activity x =
ActivityXamlServices.Load(xamlFile);
WorkflowInvoker.Invoke(x, new Dictionary … );
27 August, 2010
WorkFlow 4
27 August, 2010
WorkFlow 4
LOAD XAML DEMO
show the xml
load it
27 August, 2010
WorkFlow 4
Workflow Service User Model
Operator Commands:
• Suspend, Resume, Terminate and Cancel
Running
Active - In Memory
Idle – Persisted
Suspended
Reason:
• Exception code
• Exception text
Completed
Suspend
Resume
• Successful
Completion
• Terminate
• Cancel
•Terminate
• Cancel
27 August, 2010
WorkFlow 4
Persistence / Durability
Windows
Server
AppFabric
Windows
Server
AppFabric
Load
Balancer
Persistence
DB
Workflow
Service
Workflow
Service
Workflow
Management
Service
Workflow
Management
Service Windows
Server
AppFabric
Workflow
Service
Workflow
Management
Service
Instance
123 | data
456 | data
789 | data
011 | data
27 August, 2010
WorkFlow 4
Persistence
Persistence lets you pause an instance, save it
somewhere & resume it later
A persisted instance has no affinity to a WF host instance,
CLR instance, thread, process, or machine
Helps with scalability; helps with recovery from failure
WF program instances are serializable
A CLR stack is not serializable, but in a WF program a stack
only exists transiently, during work item execution
Details of persistence are deliberately separate from
the machinery of the WF runtime
27 August, 2010
WorkFlow 4
What’s in a Serialized Instance?
A serialized instance contains:
Work item list (empty if instance is idle)
Bookmarks
Data (arg and var values)
•Environments for all executing activity instances
Activity instance info (callbacks, execution props)
Custom data from persistence participants
Does not contain the workflow definition
A million instances can share the same definition
Management of definitions is a host responsibility
Workflow Service = WCF + WF
Think "WCF on the outside, WF on the inside“
WCF exposes external interface
WF describes internal flow & state transitions
27 August, 2010
WorkFlow 4
27 August, 2010
WorkFlow 4
Workflow services
WCF Workflow Services
WCF Service
WF Workflow
Client
External
Service
External
Service
WCF endpoint
WCF endpoint
27 August, 2010
WorkFlow 4
Content based correlation
Some Closing topics
WorkFlow 4
27 August, 2010
27 August, 2010
WorkFlow 4
Server AppFabric
 Most WCF services are hosted in IIS / WAS
 IIS tooling designed for managing web applications
 Windows Server AppFabric = service management
Simplified configuration of services and workflows
Operations dashboard
Workflow service management
GUI and PowerShell tools
27 August, 2010
WorkFlow 4
Dashboard
27 August, 2010
WorkFlow 4
Server AppFabric
 Health overview provides information about services
Exceptions / completed call count / throttling limits reached
Workflow instances (active / suspended)
Recent history – activations / failures
 Access to workflow information
List of persisted workflows
Tracked workflow data and events
 Tools are based on tool scope (site / application / service)
 Custom queries also possible
27 August, 2010
WorkFlow 4
WF State Machine
27 August, 2010
WorkFlow 4
PowerShell support
 PowerShell is THE modern scripting environment on Windows
 Most commands and data available as PowerShell cmdlets
 Get and set configuration settings
 Enable application messaging
 Instance management – resume, suspend, terminate
 Combine with other web modules
 Web Administration PowerShell module for managing IIS
 MSDeploy – synch or deploy local or remote services
27 August, 2010
WorkFlow 4
hosted designer - MS Research – Trident
www.orbitone.com
WorkFlow 4
27 August, 2010

Mais conteúdo relacionado

Destaque

Modern UI Architecture_ Trends and Technologies in Web Development
Modern UI Architecture_ Trends and Technologies in Web DevelopmentModern UI Architecture_ Trends and Technologies in Web Development
Modern UI Architecture_ Trends and Technologies in Web Development
Suresh Patidar
 
Project audit & review checklist
Project audit & review checklistProject audit & review checklist
Project audit & review checklist
Ram Srivastava
 

Destaque (19)

Coding Standard And Code Review
Coding Standard And Code ReviewCoding Standard And Code Review
Coding Standard And Code Review
 
PHPcon Poland - Static Analysis of PHP Code – How the Heck did I write so man...
PHPcon Poland - Static Analysis of PHP Code – How the Heck did I write so man...PHPcon Poland - Static Analysis of PHP Code – How the Heck did I write so man...
PHPcon Poland - Static Analysis of PHP Code – How the Heck did I write so man...
 
JavaScript and UI Architecture Best Practices
JavaScript and UI Architecture Best PracticesJavaScript and UI Architecture Best Practices
JavaScript and UI Architecture Best Practices
 
Modern Static Code Analysis in PHP
Modern Static Code Analysis in PHPModern Static Code Analysis in PHP
Modern Static Code Analysis in PHP
 
Refactoring Legacy Code
Refactoring Legacy CodeRefactoring Legacy Code
Refactoring Legacy Code
 
Component Based UI Architecture - Alex Moldovan
Component Based UI Architecture - Alex MoldovanComponent Based UI Architecture - Alex Moldovan
Component Based UI Architecture - Alex Moldovan
 
Modern UI Architecture_ Trends and Technologies in Web Development
Modern UI Architecture_ Trends and Technologies in Web DevelopmentModern UI Architecture_ Trends and Technologies in Web Development
Modern UI Architecture_ Trends and Technologies in Web Development
 
UI Architecture & Web Performance
UI Architecture & Web PerformanceUI Architecture & Web Performance
UI Architecture & Web Performance
 
Code review guidelines
Code review guidelinesCode review guidelines
Code review guidelines
 
Selenium Architecture
Selenium ArchitectureSelenium Architecture
Selenium Architecture
 
Content Design, UI Architecture and Content-UI-Mapping
Content Design, UI Architecture and Content-UI-MappingContent Design, UI Architecture and Content-UI-Mapping
Content Design, UI Architecture and Content-UI-Mapping
 
PHP & JavaScript & CSS Coding style
PHP & JavaScript & CSS Coding stylePHP & JavaScript & CSS Coding style
PHP & JavaScript & CSS Coding style
 
AngularJS application architecture
AngularJS application architectureAngularJS application architecture
AngularJS application architecture
 
Single Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSSingle Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJS
 
AngularJS Architecture
AngularJS ArchitectureAngularJS Architecture
AngularJS Architecture
 
Project audit & review checklist
Project audit & review checklistProject audit & review checklist
Project audit & review checklist
 
Code Reviews - PHP Unconference Europe 2013
Code Reviews - PHP Unconference Europe 2013Code Reviews - PHP Unconference Europe 2013
Code Reviews - PHP Unconference Europe 2013
 
PHP Coding Standard and 50+ Programming Skills
PHP Coding Standard and 50+ Programming SkillsPHP Coding Standard and 50+ Programming Skills
PHP Coding Standard and 50+ Programming Skills
 
Web Caching Architecture and Design
Web Caching Architecture and DesignWeb Caching Architecture and Design
Web Caching Architecture and Design
 

Semelhante a Introduction to Workflow 4

Lightning Flofghfhfghfhfhfw Builder.pptx
Lightning Flofghfhfghfhfhfw Builder.pptxLightning Flofghfhfghfhfhfw Builder.pptx
Lightning Flofghfhfghfhfhfw Builder.pptx
Vkrish Peru
 
Introduction To Windows Workflow In Windows Share Point
Introduction To Windows Workflow In Windows Share PointIntroduction To Windows Workflow In Windows Share Point
Introduction To Windows Workflow In Windows Share Point
Kashif Akram
 

Semelhante a Introduction to Workflow 4 (20)

Workflow Foundation (Wf) Presentation
Workflow Foundation (Wf) PresentationWorkflow Foundation (Wf) Presentation
Workflow Foundation (Wf) Presentation
 
WF 4.0 Overview
WF 4.0 OverviewWF 4.0 Overview
WF 4.0 Overview
 
Spsto 2013 whats_newinworkflows_amitvasu.
Spsto 2013 whats_newinworkflows_amitvasu.Spsto 2013 whats_newinworkflows_amitvasu.
Spsto 2013 whats_newinworkflows_amitvasu.
 
ORCAS
ORCASORCAS
ORCAS
 
Office As A Development Platform
Office As A Development PlatformOffice As A Development Platform
Office As A Development Platform
 
Eclipse SOA Initiative
Eclipse SOA InitiativeEclipse SOA Initiative
Eclipse SOA Initiative
 
Building Workflows for SharePoint 2010 with SharePoint Designer and Visio
Building Workflows for SharePoint 2010 with SharePoint Designer and VisioBuilding Workflows for SharePoint 2010 with SharePoint Designer and Visio
Building Workflows for SharePoint 2010 with SharePoint Designer and Visio
 
Workflow in SharePoint 2010
Workflow in SharePoint 2010Workflow in SharePoint 2010
Workflow in SharePoint 2010
 
What is an ESB? OPITZ CONSULTING - Winterberg - Trops
What is an ESB? OPITZ CONSULTING - Winterberg - TropsWhat is an ESB? OPITZ CONSULTING - Winterberg - Trops
What is an ESB? OPITZ CONSULTING - Winterberg - Trops
 
Mule Esb
Mule EsbMule Esb
Mule Esb
 
ESB Presentation
ESB PresentationESB Presentation
ESB Presentation
 
Lightning Flofghfhfghfhfhfw Builder.pptx
Lightning Flofghfhfghfhfhfw Builder.pptxLightning Flofghfhfghfhfhfw Builder.pptx
Lightning Flofghfhfghfhfhfw Builder.pptx
 
vRO Training Document
vRO Training DocumentvRO Training Document
vRO Training Document
 
Alfresco As SharePoint Alternative - Architecture Overview
Alfresco As SharePoint Alternative - Architecture OverviewAlfresco As SharePoint Alternative - Architecture Overview
Alfresco As SharePoint Alternative - Architecture Overview
 
WSO2 Guest Webinar - ESB meets IoT, a Primer on WSO2 Enterprise Service Bus (...
WSO2 Guest Webinar - ESB meets IoT, a Primer on WSO2 Enterprise Service Bus (...WSO2 Guest Webinar - ESB meets IoT, a Primer on WSO2 Enterprise Service Bus (...
WSO2 Guest Webinar - ESB meets IoT, a Primer on WSO2 Enterprise Service Bus (...
 
WinRT and the Web: Keeping Windows Store Apps Alive and Connected
WinRT and the Web: Keeping Windows Store Apps Alive and ConnectedWinRT and the Web: Keeping Windows Store Apps Alive and Connected
WinRT and the Web: Keeping Windows Store Apps Alive and Connected
 
Mike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and PatternsMike Taulty MIX10 Silverlight Frameworks and Patterns
Mike Taulty MIX10 Silverlight Frameworks and Patterns
 
Introduction To Windows Workflow In Windows Share Point
Introduction To Windows Workflow In Windows Share PointIntroduction To Windows Workflow In Windows Share Point
Introduction To Windows Workflow In Windows Share Point
 
MS flow.docx
MS flow.docxMS flow.docx
MS flow.docx
 
Issuetrak API
Issuetrak API Issuetrak API
Issuetrak API
 

Mais de Orbit One - We create coherence

Mais de Orbit One - We create coherence (20)

ShareCafé: SharePoint - Een doos vol documenten of dé tool om efficiënt samen...
ShareCafé: SharePoint - Een doos vol documenten of dé tool om efficiënt samen...ShareCafé: SharePoint - Een doos vol documenten of dé tool om efficiënt samen...
ShareCafé: SharePoint - Een doos vol documenten of dé tool om efficiënt samen...
 
HoGent tips and tricks van een self-made ondernemer
HoGent tips and tricks van een self-made ondernemer HoGent tips and tricks van een self-made ondernemer
HoGent tips and tricks van een self-made ondernemer
 
Het Nieuwe Werken in de praktijk
Het Nieuwe Werkenin de praktijkHet Nieuwe Werkenin de praktijk
Het Nieuwe Werken in de praktijk
 
ShareCafé: Office365 - Efficiënt samenwerken met minimum aan kosten en comple...
ShareCafé: Office365 - Efficiënt samenwerken met minimum aan kosten en comple...ShareCafé: Office365 - Efficiënt samenwerken met minimum aan kosten en comple...
ShareCafé: Office365 - Efficiënt samenwerken met minimum aan kosten en comple...
 
ShareCafé 3 - Geef je samenwerking een technologische upgrade
ShareCafé 3 - Geef je samenwerking een technologische upgradeShareCafé 3 - Geef je samenwerking een technologische upgrade
ShareCafé 3 - Geef je samenwerking een technologische upgrade
 
ShareCafé 2 - Werk slimmer door geïntegreerde tools
ShareCafé 2 - Werk slimmer door geïntegreerde toolsShareCafé 2 - Werk slimmer door geïntegreerde tools
ShareCafé 2 - Werk slimmer door geïntegreerde tools
 
ShareCafé 1: Hou de Nieuwe Werker gemotiveerd
ShareCafé 1: Hou de Nieuwe Werker gemotiveerdShareCafé 1: Hou de Nieuwe Werker gemotiveerd
ShareCafé 1: Hou de Nieuwe Werker gemotiveerd
 
Business value of Lync integrations
Business value of Lync integrationsBusiness value of Lync integrations
Business value of Lync integrations
 
OneCafé: De toekomst van ledenorganisaties met behulp van CRM en informatie-u...
OneCafé: De toekomst van ledenorganisaties met behulp van CRM en informatie-u...OneCafé: De toekomst van ledenorganisaties met behulp van CRM en informatie-u...
OneCafé: De toekomst van ledenorganisaties met behulp van CRM en informatie-u...
 
Identity in the cloud using Microsoft
Identity in the cloud using MicrosoftIdentity in the cloud using Microsoft
Identity in the cloud using Microsoft
 
OneCafé: The future of membership organizations facilitated by CRM and collab...
OneCafé: The future of membership organizations facilitated by CRM and collab...OneCafé: The future of membership organizations facilitated by CRM and collab...
OneCafé: The future of membership organizations facilitated by CRM and collab...
 
OneCafé: The new world of work and your organisation
OneCafé: The new world of work and your organisationOneCafé: The new world of work and your organisation
OneCafé: The new world of work and your organisation
 
Social Computing in your organization using SharePoint: challenges and benefits
Social Computing in your organization using SharePoint: challenges and benefitsSocial Computing in your organization using SharePoint: challenges and benefits
Social Computing in your organization using SharePoint: challenges and benefits
 
Windows Communication Foundation (WCF) Best Practices
Windows Communication Foundation (WCF) Best PracticesWindows Communication Foundation (WCF) Best Practices
Windows Communication Foundation (WCF) Best Practices
 
Wie is Orbit One Internet Solutions
Wie is Orbit One Internet SolutionsWie is Orbit One Internet Solutions
Wie is Orbit One Internet Solutions
 
Azure Umbraco workshop
Azure Umbraco workshopAzure Umbraco workshop
Azure Umbraco workshop
 
Marketing Automation in Dynamics CRM with ClickDimensions
Marketing Automation in Dynamics CRM with ClickDimensionsMarketing Automation in Dynamics CRM with ClickDimensions
Marketing Automation in Dynamics CRM with ClickDimensions
 
Office 365, is cloud right for your company?
Office 365, is cloud right for your company?Office 365, is cloud right for your company?
Office 365, is cloud right for your company?
 
Who is Orbit One internet solutions?
Who is Orbit One internet solutions?Who is Orbit One internet solutions?
Who is Orbit One internet solutions?
 
Azure and Umbraco CMS
Azure and Umbraco CMSAzure and Umbraco CMS
Azure and Umbraco CMS
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

Introduction to Workflow 4

  • 1. www.orbitone.com Raas van Gaverestraat 83 B-9000 GENT, Belgium E-mail info@orbitone.com Website www.orbitone.com Tel. +32 9 265 74 20 Fax +32 9 265 74 10 VAT BE 456.457.353 Bank 442-7059001-50 (KBC) 27 August, 2010 WorkFlow 4
  • 2. 27 August, 2010 WorkFlow 4 Like any technology, applying WF requires understanding what it is, why it's useful, and when it makes sense to use it.
  • 3. 27 August, 2010 WorkFlow 4 Isn't WorkFlow Foundation just a visual way to write code and thus despicable? What is Windows Workflow Foundation? A framework for declarative programming Tools for creating program definitions A runtime for executing program logic
  • 4. 27 August, 2010 WorkFlow 4 DESIGNER DEMO But first the simplest possible demo Where we also show that it's possible to add breakpoint ?!
  • 5. WF 4.0 Data Flow Constructs Arguments Variables Expressions Used to define the way data flows in and out of an activity. Used to declare named storage for data within an activity. Performs simple operations on arguments to return a value. 27 August, 2010 WorkFlow 4
  • 6. 27 August, 2010 WorkFlow 4 PURE CODE DEMO
  • 7. WCF Workflow Services WCF Service WF Workflow Client External Service External Service WCF endpoint WCF endpoint 27 August, 2010 WorkFlow 4
  • 8. 27 August, 2010 WorkFlow 4 Benefits  Long Running Process  Scalability
  • 9. 27 August, 2010 WorkFlow 4 Composability a workflow can contain flowcharts, state machine, C# code, ... everything is an activity
  • 10. Challenges  Work is increasingly distributed  Coordination code creates complexity Coordinating messages with application state Coordinating calls to a database or another service (Async I/O) Coordinating rainy day scenarios  Management and tracking of distributed work is difficult 27 August, 2010 WorkFlow 4
  • 12. 27 August, 2010 WorkFlow 4 Visual Visual vocabulary to compose solution makes it easier for non developers to create
  • 14. 27 August, 2010 WorkFlow 4 Integration SharePoint 2010 uses WF3? But there is an upcoming book "Professional Workflow 4 in SharePoint 2010: Real World Business Workflow Solutions " http://www.amazon.com/Professional-Workflow-SharePoint- 2010-Solutions/dp/0470617888 TFS2010 uses WF4
  • 15. 27 August, 2010 WorkFlow 4 Documentation The business analysis can be mapped directly translated to workflow/code There is no distinction between documentation and code IAB Flowchart on the next slide =>
  • 17. 27 August, 2010 WorkFlow 4 Documentation  Another often used modeling convention is the State Machine
  • 18. Loading Workflow <Activity x:Class=“Foo" > <x:Members> <x:Property Name="argument1“ Type="InArgument(x:String)" /> <x:Property Name="argument2” Type="InArgument(x:String)" /> </x:Members> Foo.dll C# (DynamicActivity) Activity x = ActivityXamlServices.Load(xamlFile); WorkflowInvoker.Invoke(x, new Dictionary … ); 27 August, 2010 WorkFlow 4
  • 19. 27 August, 2010 WorkFlow 4 LOAD XAML DEMO show the xml load it
  • 20. 27 August, 2010 WorkFlow 4 Workflow Service User Model Operator Commands: • Suspend, Resume, Terminate and Cancel Running Active - In Memory Idle – Persisted Suspended Reason: • Exception code • Exception text Completed Suspend Resume • Successful Completion • Terminate • Cancel •Terminate • Cancel
  • 21. 27 August, 2010 WorkFlow 4 Persistence / Durability Windows Server AppFabric Windows Server AppFabric Load Balancer Persistence DB Workflow Service Workflow Service Workflow Management Service Workflow Management Service Windows Server AppFabric Workflow Service Workflow Management Service Instance 123 | data 456 | data 789 | data 011 | data
  • 22. 27 August, 2010 WorkFlow 4 Persistence Persistence lets you pause an instance, save it somewhere & resume it later A persisted instance has no affinity to a WF host instance, CLR instance, thread, process, or machine Helps with scalability; helps with recovery from failure WF program instances are serializable A CLR stack is not serializable, but in a WF program a stack only exists transiently, during work item execution Details of persistence are deliberately separate from the machinery of the WF runtime
  • 23. 27 August, 2010 WorkFlow 4 What’s in a Serialized Instance? A serialized instance contains: Work item list (empty if instance is idle) Bookmarks Data (arg and var values) •Environments for all executing activity instances Activity instance info (callbacks, execution props) Custom data from persistence participants Does not contain the workflow definition A million instances can share the same definition Management of definitions is a host responsibility
  • 24. Workflow Service = WCF + WF Think "WCF on the outside, WF on the inside“ WCF exposes external interface WF describes internal flow & state transitions 27 August, 2010 WorkFlow 4
  • 25. 27 August, 2010 WorkFlow 4 Workflow services WCF Workflow Services WCF Service WF Workflow Client External Service External Service WCF endpoint WCF endpoint
  • 26. 27 August, 2010 WorkFlow 4 Content based correlation
  • 27. Some Closing topics WorkFlow 4 27 August, 2010
  • 28. 27 August, 2010 WorkFlow 4 Server AppFabric  Most WCF services are hosted in IIS / WAS  IIS tooling designed for managing web applications  Windows Server AppFabric = service management Simplified configuration of services and workflows Operations dashboard Workflow service management GUI and PowerShell tools
  • 30. 27 August, 2010 WorkFlow 4 Server AppFabric  Health overview provides information about services Exceptions / completed call count / throttling limits reached Workflow instances (active / suspended) Recent history – activations / failures  Access to workflow information List of persisted workflows Tracked workflow data and events  Tools are based on tool scope (site / application / service)  Custom queries also possible
  • 31. 27 August, 2010 WorkFlow 4 WF State Machine
  • 32. 27 August, 2010 WorkFlow 4 PowerShell support  PowerShell is THE modern scripting environment on Windows  Most commands and data available as PowerShell cmdlets  Get and set configuration settings  Enable application messaging  Instance management – resume, suspend, terminate  Combine with other web modules  Web Administration PowerShell module for managing IIS  MSDeploy – synch or deploy local or remote services
  • 33. 27 August, 2010 WorkFlow 4 hosted designer - MS Research – Trident

Notas do Editor

  1. Transactions are necessary when two or more activities must be coordinated as a single operation, ensuring that the system is always left in a consistent state. The only two viable options are to complete all activities successfully or to leave the system as it was before initiating either activity.
  2. Transactions are necessary when two or more activities must be coordinated as a single operation, ensuring that the system is always left in a consistent state. The only two viable options are to complete all activities successfully or to leave the system as it was before initiating either activity.
  3. Transactions are necessary when two or more activities must be coordinated as a single operation, ensuring that the system is always left in a consistent state. The only two viable options are to complete all activities successfully or to leave the system as it was before initiating either activity.
  4. Transactions are necessary when two or more activities must be coordinated as a single operation, ensuring that the system is always left in a consistent state. The only two viable options are to complete all activities successfully or to leave the system as it was before initiating either activity.
  5. Transactions are necessary when two or more activities must be coordinated as a single operation, ensuring that the system is always left in a consistent state. The only two viable options are to complete all activities successfully or to leave the system as it was before initiating either activity.
  6. Transactions are necessary when two or more activities must be coordinated as a single operation, ensuring that the system is always left in a consistent state. The only two viable options are to complete all activities successfully or to leave the system as it was before initiating either activity.
  7. Transactions are necessary when two or more activities must be coordinated as a single operation, ensuring that the system is always left in a consistent state. The only two viable options are to complete all activities successfully or to leave the system as it was before initiating either activity.
  8. Transactions are necessary when two or more activities must be coordinated as a single operation, ensuring that the system is always left in a consistent state. The only two viable options are to complete all activities successfully or to leave the system as it was before initiating either activity.
  9. Transactions are necessary when two or more activities must be coordinated as a single operation, ensuring that the system is always left in a consistent state. The only two viable options are to complete all activities successfully or to leave the system as it was before initiating either activity.
  10. Transactions are necessary when two or more activities must be coordinated as a single operation, ensuring that the system is always left in a consistent state. The only two viable options are to complete all activities successfully or to leave the system as it was before initiating either activity.
  11. Transactions are necessary when two or more activities must be coordinated as a single operation, ensuring that the system is always left in a consistent state. The only two viable options are to complete all activities successfully or to leave the system as it was before initiating either activity.
  12. Transactions are necessary when two or more activities must be coordinated as a single operation, ensuring that the system is always left in a consistent state. The only two viable options are to complete all activities successfully or to leave the system as it was before initiating either activity.
  13. Transactions are necessary when two or more activities must be coordinated as a single operation, ensuring that the system is always left in a consistent state. The only two viable options are to complete all activities successfully or to leave the system as it was before initiating either activity.
  14. Transactions are necessary when two or more activities must be coordinated as a single operation, ensuring that the system is always left in a consistent state. The only two viable options are to complete all activities successfully or to leave the system as it was before initiating either activity.
  15. Transactions are necessary when two or more activities must be coordinated as a single operation, ensuring that the system is always left in a consistent state. The only two viable options are to complete all activities successfully or to leave the system as it was before initiating either activity.
  16. Transactions are necessary when two or more activities must be coordinated as a single operation, ensuring that the system is always left in a consistent state. The only two viable options are to complete all activities successfully or to leave the system as it was before initiating either activity.
  17. Transactions are necessary when two or more activities must be coordinated as a single operation, ensuring that the system is always left in a consistent state. The only two viable options are to complete all activities successfully or to leave the system as it was before initiating either activity.