Presentation is loading. Please wait.

Presentation is loading. Please wait.

Ten Architectural Opportunities for Workflow John Evdemon Architect Microsoft Corporation.

Similar presentations


Presentation on theme: "Ten Architectural Opportunities for Workflow John Evdemon Architect Microsoft Corporation."— Presentation transcript:

1

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.


Download ppt "Ten Architectural Opportunities for Workflow John Evdemon Architect Microsoft Corporation."

Similar presentations


Ads by Google