Download presentation
Presentation is loading. Please wait.
Published byAnis O’Brien’ Modified over 9 years ago
2
Ten Architectural Opportunities for Workflow John Evdemon Architect Microsoft Corporation
3
Session Objectives And Key Takeaways Session Objective: Awareness of workflow’s role in common architectural challenges Provide some tool-specific guidance Key Takeaways: Workflow improves agility WF and BizTalk Server WF and WCF BPEL Strategy
4
Assumptions Familiarity with Windows Workflow Foundation Familiarity with BizTalk Server
5
Fact Myth WF and BizTalk are not competing technologies Clarification: WF and BizTalk WF and BizTalk are complementary technologies that serve different needs: WF is a developer framework, workflow within an application BizTalk Server is a product, implement workflow across disparate applications WF is a replacement for BizTalk
6
Ten Architectural Opportunities In no special order… Transactions High frequency of change Business Rules Large data set in flow Web services Process Externalization Long Running Processes Auditing and analytics Human intervention UI Flow
7
1.Transactions BizTalk Three Transaction Types None Atomic (Short-Lived) Long-Running Transaction Type defined within Entire orchestration (global) Scope shape Orchestration to be long running or atomic Exception handling and compensation blocks Long-Running Scope Loan application received Request Credit Report Order Appraisal Sign Documents
8
1.Transactions WF Scope properties: Atomic Transaction Long-Running Atomic transactions Persistence at end of Commit Roll back to last known state of workflow Cannot be nested Exception handlers not permitted Long-Running Processes May contain atomic or other Long- Running Processes May be nested to arbitrary depths Long-Running Atomic Transaction Loan application received Request Credit Report Order Appraisal Sign Documents
9
Ten Architectural Opportunities In no special order… Transactions High frequency of change Business Rules Large data set in flow Web services Process Externalization Long Running Processes Auditing and analytics Human intervention UI Flow
10
2.High Frequency of Change BizTalk Business Rules BizTalk Server 2006 Orchestration Designer for Business Analysts (Visio) Windows Workflow Foundation Business Rules Embeddable design surface Business process analysts need a different class of modeling tools Partners Standalone DSL toolkits for business process design
11
Ten Architectural Opportunities In no special order… Transactions High frequency of change Business Rules Large data set in flow Web services Process Externalization Long Running Processes Auditing and analytics Human intervention UI Flow
12
BizTalk Rules and Orchestration Patterns Call Rules Engine to execute logic, instead of burying it in code Call Rules Engine and determine path Call Rules Engine to dynamically populate messaging routing information Use the Rules Engine for dynamic or variable delays 3.Business Rules
13
Rules or Orchestrations: Which to use when? Use Rules for: Discrete, point-in-time evaluations & calculations Large no of permutations to encode in a control flow Fact-based inferencing where control flow can not be predefined Use Orchestrations for: Formal workflows that require: Long-running semantics Transactions/ Compensations Messaging Known control-flow that needs to be rigorously managed for perf or scale Visibility & tracking are critical
14
WF: Two Categories Conditions on activities If-Else While Replicator (for-each) Conditioned Activity Group (CAG) Policy activity Contains and executes a RuleSet RuleSet execution provides priority-based, forward-chaining semantics RuleSet execution outside of a workflow 3.Business Rules
15
Windows Workflow Foundation will provide the core rules engine evaluator and developer tools in BizTalk v.Next BizTalk will continue to provide premium tooling and server infrastructure, e.g.: Business analyst tools RuleSet storage and management RuleSet analysis
16
Ten Architectural Opportunities In no special order… Transactions High frequency of change Business Rules Large data set in flow Web services Process Externalization Long Running Processes Auditing and analytics Human intervention UI Flow
17
Beware of CDATA wrappers! BizTalk Disassembler and Assembler stream data using XmlReader Entire string must be read into memory to process it Recommendations: Keep your messages small, if possible BTS 2004: Avoid the mapper for large XML messages or flat files BTS 2006: Large Message Transformation engine Avoid large message scenarios that require anything more than routing 4.Large data set in flow BizTalk
18
4.Large data set in flow WF WF is far less complex Keep pointers to messages stored in a database or filesystem for messages larger than what you would want to keep in RAM
19
Ten Architectural Opportunities In no special order… Transactions High frequency of change Business Rules Large data set in flow Web services Process Externalization Long Running Processes Auditing and analytics Human intervention UI Flow
20
5.Web Services Coordinating Services Workflows exposed through services Workflow
21
WF and ASMX Web Services WF and WCF (prototype)
22
Worth a look… Service Activity Generator http://www.gotdotnet.com/workspaces/workspace.asp x?id=dd88e6eb-e889-4ed5-bc98-2e4e62953629 Easier to remember: http://tinyurl.com/ffq2z Reads in a WCF service contact and generates a set of custom activities to consume the service. It does not support receiving messages in workflows
23
Ten Architectural Opportunities In no special order… Transactions High frequency of change Business Rules Large data set in flow Web services Process Externalization Long Running Processes Auditing and analytics Human intervention UI Flow
24
6.Process Externalization Workflow Interop Businesses orchestrate their private processes Choreography represents publicly observable behavior
25
Import/export support in BizTalk 2004 and BizTalk 2006 BPEL 1.1 activities under development for Windows Workflow Foundation Multiple workflow industry standards can be supported by WF BPEL, XPDL, BPMN, others… 6.Process Externalization Workflow Interop: BPEL
26
Ten Architectural Opportunities In no special order… Transactions High frequency of change Business Rules Large data set in flow Web services Process Externalization Long Running Processes Auditing and analytics Human intervention UI Flow
27
7.Long Running Processes WF Runtime services dehydrate/rehydrate the workflow Set UnloadOnIdle prior to starting the workflow Code or config WF does not impose a specific persistence service. Define/customize your persistence architecture for specific types of hosts Other runtime services: Tracking Transactions Threading Host Process Windows Workflow Foundation Runtime Engine Workflow Activity Runtime Services Base Activity Library Custom Activity Library Visual Designer
28
Ten Architectural Opportunities In no special order… Transactions High frequency of change Business Rules Large data set in flow Web services Process Externalization Long Running Processes Auditing and analytics Human intervention UI Flow
29
How many units are waiting to be shipped right now? What is the total value of my finished goods inventory today? How much does it cost to produce one unit today? What is the average throughput time for special orders right now? BizTalk Server 2004/2006 Engine Tracking Monitored Events and Messages Excel Other Clients Business Activity Monitoring (BAM) 8.Auditing and analytics BizTalk
30
No BAM components here Roll your own via WF Tracking Track history of instance execution (running/suspended/terminated) Predict execution paths of future instances Counters for KPI calculations Log data, events and instances Recognize limitations 8.Auditing and analytics WF
31
Ten Architectural Opportunities In no special order… Transactions High frequency of change Business Rules Large data set in flow Web services Process Externalization Long Running Processes Auditing and analytics Human intervention UI Flow
32
9.Human Intervention BizTalk BTS2004: Human Workflow Services (HWS) HWS is deprecated in BTS2006 Use BizTalk with WF instead Partners Office 2007 Windows SPS Adapter for SharePoint
33
Ten Architectural Opportunities In no special order… Transactions High frequency of change Business Rules Large data set in flow Web services Process Externalization Long Running Processes Auditing and analytics Human intervention UI Flow
34
Workflow traps UI events Workflow state drives the user experience See WF State Machine sample 10.UI Flow WinForms (control flow)
35
“Smart Parts” 10.UI Flow Composite UI Application Block
36
10.UI Flow Page Flow in ASP.NET Determine which page to serve up based upon state of the workflow Configure WorkflowWebHostingModule (HTTP Module) in Web.Config Start workflow runtime and instance Communications between workflow and controller Samples at www.windowsworkflow.net ASP.NET team working on integration of WF into web projects
37
Ten Architectural Opportunities Transactions High frequency of change Business Rules Large data set in flow Web services Process Externalization Long Running Processes Auditing and analytics Human intervention UI Flow
38
A Workflow Manifesto Workflow is everywhere Workflow is expressive Workflow is fluid Workflow is inclusive Workflow is transparent
39
© 2006 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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.