28
Workflow Manager Running durable workflows in the cloud and on prem

20140211 BTUG.be - Workflow Manager

  • Upload
    btugbe

  • View
    328

  • Download
    1

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 20140211 BTUG.be - Workflow Manager

Workflow ManagerRunning durable workflows in the cloud and on prem

Page 2: 20140211 BTUG.be - Workflow Manager

Nice to meet youSam VANHOUTTECTO

BizTalk V-TSPIntegration MVP

[email protected]+32 474 849 993@SamVanhoutte

be.linkedin.com/in/

samvanhoutte/

> 60 Active integration customers

International Focus - HQ in BEFocused on integration solutions

2000 Belgium2004 France2013 Portugal

60 employees > 50 consultants BizTalk certifiede-news + SoMe

2012 & 2013

Partner of the Year

Award FinalistApplication Integration

Page 3: 20140211 BTUG.be - Workflow Manager

Agenda• Microsoft & Workflow – a long

history• Workflow designer, activities• AppFabric Workflow Services

• Workflow Manager• Architecture• Multi-tenancy & isolation• Pub / sub• Demo

• Conclusions

Page 4: 20140211 BTUG.be - Workflow Manager

Microsoft & Workflow

A bit of history

Page 5: 20140211 BTUG.be - Workflow Manager

Workflow history

Oslo

Repository, M, Quadrant

AppFabric

WCF Workflow Services

Azure Workflow

Service Bus &

SharePoint

2004 > 2007 - 2010 2010 > 2013 >BizTalk Server

XLANG/s

Integration BPEL Modeling SOA What’s

Next?

Page 6: 20140211 BTUG.be - Workflow Manager

The ART of Workflow*

* Copyright : Dave Cliffe : Program Manager Workflow

➔ Declarative authoring of programs that coordinate work, using:

➔ Activities➔ Runtime➔ Tooling

Page 7: 20140211 BTUG.be - Workflow Manager

Workflow improvements in .NET 4.5

Authoring ImprovementsBe more efficient when authoring your workflows

VersioningBasic building blocks to enable building a versioning story

Runtime EnhancementsImprove runtime performance and extensibility

C# Expressions, Designer Improvements,

State Machine,Contract-First

Workflow Identity, Side by Side Versioning,

Dynamic Update

VB Expressions Performance,

Expressions Extensibility, Partial Trust

Improvements across

Activities, Runtime, and Tooling

Page 8: 20140211 BTUG.be - Workflow Manager

8

AppFabric for Windows ServerWCF WorkflowServiceHost

➔ Hosting Services➔ Hosting Workflows➔ Caching

➔ AppFabric connect forBizTalk Server

Code named: Dublin & Velocity

Windows Server

.NET Framework

Windows Server AppFabric

Services

Management Tools

IIS/WAS

Workflows

Runtime DatabasesPersistence Monitoring

HostingPersistence CachingMonitoring

IIS Manager Modules

PowerShell

Page 9: 20140211 BTUG.be - Workflow Manager

9

DemoAppFabric Workflows & BizTalk

AppFabric WF

BizTalk orch.Senti

net Get

Create

Page 10: 20140211 BTUG.be - Workflow Manager

Workflow ManagerAn overview

Page 11: 20140211 BTUG.be - Workflow Manager

What is Workflow Manager?

➔ Scale & Reliability➔ Multi-tenancy➔ Cloud-based Messaging➔ Turnkey➔ WF4 Prog Model

HTTP &HTTPS

WF

WF Backend(.EXE)

WF Gateway(IIS)

.NET ClientSB

Service Bus

WF Resources

Activity Prog Model

Core Runtime

Activity Prog Model

Design goals

Page 12: 20140211 BTUG.be - Workflow Manager

Hosting .NET Workflows .NET 4+------------------------WF Manager

• Host application integration• WF-driven UI

• Systems integration• Service-based architecture

• Async execution of a single workflow instance with bookmarks and tracking

• Explicit, fine-grained control of the WF runtime

• Async execution of multiple workflow instances of a single definition

• Supports durable timers, persistence, tracking, WCF SOAP, correlation, etc.

WorkflowApplicationActivity Prog Model

Core Runtime

Host Services

WorkflowServiceHostActivity Prog Model

Core Runtime

Host Services

• Extensible SaaS applications

• Multi-tenant, scalable hosting of workflows• Turnkey artifact management• Supports durable timers, persistence, HTTP,

pub/sub using Service Bus, etc.

Workflow ManagerActivity Prog Model

Core Runtime

Host Services

Hosting .NET workflows

Page 13: 20140211 BTUG.be - Workflow Manager

Architecture

Page 14: 20140211 BTUG.be - Workflow Manager

14

Deployment diagram

Page 15: 20140211 BTUG.be - Workflow Manager

Workflow Manager Infrastructure

IISOne App Pool: WorkflowMgmtPool

One site:Workflow Management Site

Windows Services

WorkflowService BackendServiceBus BackendServiceBus GatewayFabricHostSvc

SQL

Workflow Databases• WFManagementDB• WFInstanceManagementD

B• WFResourceManagementD

B

Service Bus Databases• SBManagementDB• SBGatewayDatabase• SBMessageContainerxx

Page 16: 20140211 BTUG.be - Workflow Manager

Installing WF Manager

➔ Install➔ Using WEB Platform Installer (or download center)➔ Supported on Windows Server 2012, Windows 8,

Azure VMs➔ Configure

➔ Using configuration wizard or PowerShell➔ Create / Join a Farm (high availability / scale-out)

➔ Supported back-ends➔ SQL Server (Express + higher) & SQL Azure➔ Service Bus 1.0 for Windows Server (not service!)

Page 17: 20140211 BTUG.be - Workflow Manager

Testing & Debugging

Page 18: 20140211 BTUG.be - Workflow Manager

Microsoft.Workflow.TestServiceHost

18

➔ Part of Workflow Manager Tools for Visual Studio (2012 only!)

➔ TestService (console app) ➔ Deploy & run workflows in it➔ Attach Visual Studio to the process➔ Update exe.config

➔ Some limitations

Page 19: 20140211 BTUG.be - Workflow Manager

Multi-tenancy Through scopes & isolation

Page 20: 20140211 BTUG.be - Workflow Manager

Scopes

➔ Workflow manager scope➔ Dedicated service bus topic➔ Gets created at deployment of first

workflow➔ “A scope is a named and

securable container for Activities, Workflows, Instances, configuration and child Scopes.”

Root

Tenant01

HRM

Sales

Tenant02

Production

TenantXX

Page 21: 20140211 BTUG.be - Workflow Manager

Sandboxing

21

Workflow Manager 1.0 Trusted Surface

➔ Set of trusted types & activities➔ Fully declarative authoring

➔ Compositie custom activities possible➔ Whitelisting custom activities possible

➔ AllowedTypes.xml (WFWebRoot\bin & Artifacts folder)➔ Disable sandboxing

• Set-WFServiceConfiguration –ServiceUri:https://server:12290 –Name:WorkflowServiceAllowUnsafeTypes -Value:true

Page 22: 20140211 BTUG.be - Workflow Manager

Sandboxing

.NET Data Types

• String• DateTime & TimeSpan• Int32 & Double• Boolean• Guid• ICollection & IList• IDictionary & KeyValuePair• DynamicValue• Exception• Uri

WF Manager activities

• Dynamic Value• Http Activities• Pub/Sub Activities• Time Activities• Configuration & External

variables• Data Type functions

System.Activities, except:

• InvokeMethod• New• Cast• VisualBasicValue,

VisualBasicReference• LambdaValue,

LambdaRefernce• TransactionScope• Persist

22

Workflow Manager 1.0 Trusted Surface

Page 23: 20140211 BTUG.be - Workflow Manager

Using complex data structures➔ Recursive key-value pairs➔ Address, using paths

➔ Customer/FirstName > John➔ Company > Contoso➔ Regions(2) > LA

23

DynamicValues

Name ValueCustomer Name Value

FirstName JohnLastName DoeAge 42

Company ContosoRegions EU

USLA

Page 24: 20140211 BTUG.be - Workflow Manager

External communication

Pub/Sub & Http activities

Page 25: 20140211 BTUG.be - Workflow Manager

Http activities

25

➔ No ‘HttpReceive’ activities➔ Use REST api ➔ or Pub/Sub activities➔ or WorkflowClient

➔ Support for security tokens, REST services …

Page 26: 20140211 BTUG.be - Workflow Manager

Pub/Sub activities

26

➔ Leveraging Service Bus Topics & SubscriptionsActivities➔ BuildMatchAllFilter activity > define filter➔ Subscribe activity > create SB subscription behind

the scenes➔ ReceiveNotification

➔ With Filter > temporary subscription, deleted after 1st message➔ Using SubscriptionHandle > subscription remains existing

➔ Unsubscribe (implicitly when subscriptionhandle out of scope)

Page 27: 20140211 BTUG.be - Workflow Manager

Conclusions BPMN support announced at BTS

summit

SharePoint is biggest customer of Workflow Manager

Workflow manager is multi-tenant – cloud-ready platform

Look out for upcoming BPM features by the WABS team

Page 28: 20140211 BTUG.be - Workflow Manager

Thank you!

Keep in touch. Call or mail us. Ask questions. Happy to help.

LinkedInblog.codit.eu codit.eu

NewsletterTwitter

Pay us a visit