Ten Architectural Opportunities for Workflow John Evdemon Architect Microsoft Corporation.

Slides:



Advertisements
Similar presentations
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
JD Edwards Service JD Edwards Service SAP Service SAP Service Java Appl. Service Java Appl. Service.Net Appl. Service.Net Appl. Service CICS Service.
ERP/LOB, ESB and Azure AppFabric Integration
Windows 8 (1) (2) (3) Windows 8 (1) (2) (3)
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
 Matt Winkler Program Manager Microsoft corporation TL21.
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Reprint Outstanding Transactions Report © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
 Josh Honeyman Sr. Development Lead Microsoft Corporation BB57.
Feature: Purchase Requisitions - Requester © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Web RoleWorker Role At runtime each Role will execute on one or more instances A role instance is a set of code, configuration, and local data, deployed.
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Mark Rees Microsoft Consulting Services OFC409 Windows Workflow Foundation (WF) Primer Creating WF programs in Visual Studio Creating workflow templates.
Windows Vista for Syndication and Workflow Mike Ormond Developer & Platform Group, Microsoft Ltd
Amalga UIS Modules Medical Imaging Research Foundation Quality Measures Other HealthVault Partner Applications Microsoft Partner Solutions.
Co- location Mass Market Managed Hosting ISV Hosting.
SharePoint Collaboration Features & Workflow
05 | Configuration and Deployment Richard Currey | Senior Technical Trainer–New Horizons United George Squillace | Senior Technical Trainer–New Horizons.
Created by the Community for the Community Building a RFID solution in BTS 09.
var site="s15gizmodo" var site="s15gizmodo"
 Alexander Malek Lead Program Manager SharePoint Microsoft Corporation BB47.
Feature: Web Client Keyboard Shortcuts © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
vdir2 Web. config Echo. svc A A B B C C vdir2 vdir1.
1 Developing Rules Driven Workflows in Windows Workflow Foundation Jurgen Willis COM318 Program Manager Microsoft Corporation.
Wrestling with Windows Workflow Foundation Simon Thurman Jeremy Stimson.
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
CON 307 Developing Manageable WCF Services Chris Peiris | Avanade Rory Primrose | Avanade
 Rico Mariani Architect Microsoft Corporation.
Feature: Assign an Item to Multiple Sites © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Feature: Print Remaining Documents © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
WEB 304 An Overview of ASP.NET and Windows Workflow Foundation Kashif Alam Program Manager Developer Division Microsoft Corporation.
Visual Studio 2008 and.NET 3.5 provide seamless support for all of the protocols and techniques popular in Web 2.0-style applications. Visual Studio.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Document Attachment –Replace OLE Notes © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
Operating System for the Cloud Runs applications in the cloud Provides Storage Application Management Windows Azure ideal for applications needing:
Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
demo Instance AInstance B Read “7” Write “8”

Kenny Wolf Architect WCF and WF
customer.
“Click and Run ” “Click once repeat often” Admins Service Operations “ Install and forget” Engineering Support Key considerations: Deterministic, fool.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
projekt202 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
2005 Microsoft PAKISTAN DEVELOPER CONFERENCE June 13-15, 2005.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
Anil Revuru. Simple.NET Library Encoding Library with Multiple Contexts Protects from XSS attacks.
Microsoft Confidential Host (.exe, IIS/WAS,.NET Services, …) WF Runtime Extensions Tracking Persistence … … Tooling VS Designer VS Debugger Rehosted.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

Windows Workflow Foundation Guy Burstein Senior Consultant Advantech – Microsoft Division
Exceedra + Azure Mark Rendle Principal Software Architect
SkyDrive Pro Chris Gideon Architect Microsoft 9/16/2018
Возможности Excel 2010, о которых следует знать
SPC2012 – IT-Pro 11/30/2018 © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Building event-driven, long-running apps with Windows workflow
Introduction to Windows Workflow Foundation (WF)
Intro to Workflow Services and Windows Server AppFabric
LitwareHR v2: an S+S reference application
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
Шитманов Дархан Қаражанұлы Тарих пәнінің
Welcome to Architect Insight 2010
Presentation transcript:

Ten Architectural Opportunities for Workflow John Evdemon Architect Microsoft Corporation

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

Assumptions Familiarity with Windows Workflow Foundation Familiarity with BizTalk Server

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5.Web Services Coordinating Services Workflows exposed through services Workflow

WF and ASMX Web Services WF and WCF (prototype)

Worth a look… Service Activity Generator x?id=dd88e6eb-e889-4ed5-bc98-2e4e Easier to remember: 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

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

6.Process Externalization Workflow Interop Businesses orchestrate their private processes Choreography represents publicly observable behavior

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

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.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

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

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

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

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

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

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

Workflow traps UI events Workflow state drives the user experience See WF State Machine sample 10.UI Flow WinForms (control flow)

“Smart Parts” 10.UI Flow Composite UI Application Block

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 ASP.NET team working on integration of WF into web projects

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

A Workflow Manifesto Workflow is everywhere Workflow is expressive Workflow is fluid Workflow is inclusive Workflow is transparent

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