31
Microsoft Azure Workflows, A prediction

Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

  • Upload
    hadiep

  • View
    219

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Microsoft Azure Workflows,

A prediction

Page 2: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Nice to meet you

Sam VANHOUTTE

CTO

6 year - BizTalk V-TSP

1st year - Integration 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: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Agenda

• Microsoft & Workflow – a long history

• Workflow designer, activities• Workflow Manager

• Architecture

• Multi-tenancy & isolation

• Pub / sub

• State machines• Conclusions & future

Page 4: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Microsoft & WorkflowA bit of history

Page 5: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Workflow history

Oslo

Repository, M, Quadrant

AppFabric

WCF Workflow Services

Azure Workflow

Service Bus & SharePoint

2004 > 2007 - 2010 2010 > 2013 >

BizTalk Server

XLANG/s

Modeling

Page 6: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

The ART of Workflow*

* Copyright : Dave Cliffe : Program Manager Workflow

➔ Declarative authoring of programs that coordinate work, using:➔ Activities

➔ Runtime

➔ Tooling

Page 7: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

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

Page 8: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Workflow ManagerAn overview

Page 9: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Workflow Manager

10

Design goals

➔ Multi-tenancy

➔ High-density

➔ Isolation & security

➔ Biggest customer ?

Page 10: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

What is Workflow Manager?

➔ Scale & Reliability

➔ Multi-tenancy

➔ Cloud-based Messaging

➔ WF4 Prog Model

HTTP &HTTPS

WF Backend(.EXE)

WF Gateway(IIS)

.NET Client

Service Bus

WF Resources

Activity Prog Model

Core Runtime

Activity Prog Model

Page 11: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Architecture

Page 12: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Deployment diagram

13

Page 13: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Workflow Manager Infrastructure

IIS

One App Pool: WorkflowMgmtPool

One site:Workflow Management Site

Windows Services

WorkflowService BackendServiceBus BackendServiceBus GatewayFabricHostSvc

SQL

Workflow Databases• WFManagementDB• WFInstanceManagementDB• WFResourceManagementDB

Service Bus Databases• SBManagementDB• SBGatewayDatabase• SBMessageContainerxx

Page 14: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

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 15: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Testing & Debugging

Page 16: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Microsoft.Workflow.TestServiceHost

17

➔ 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 17: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Multi-tenancy Through scopes & isolation

Page 18: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

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 19: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Sandboxing

20

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 20: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

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

21

Workflow Manager 1.0 Trusted Surface

Page 21: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Using complex data structures

➔ Recursive key-value pairs

➔ Address, using paths➔ Customer/FirstName > John

➔ Company > Contoso

➔ Regions(2) > LA

22

DynamicValues

Name Value

Customer Name Value

FirstName John

LastName Doe

Age 42

Company Contoso

Regions EUUSLA

Page 22: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

External communicationPub/Sub & Http activities

Page 23: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Http activities

24

➔ No ‘HttpReceive’ activities➔ Use REST api

➔ or Pub/Sub activities

➔ or WorkflowClient

➔ Support for security tokens, REST services …

Page 24: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Pub/Sub activities

25

➔ Leveraging Service Bus Topics & Subscriptions

Activities

➔ 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 25: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Demo 01Pub / Sub & Http activities

Integration with WABS

26

Page 26: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

27

Fancy Order App

Order ProcessWorkflow Manager

BizTalk Services

Order Web API

On prem SQL databaseFTP Server

EDIFACT DESADVON COMPLETE

ADAPTER SERVICE

Page 27: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Demo 02State machines

Twilio phone call orchestrated by WF Manager

28

Page 28: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Twilio phone call state machine

29

Twilio API

Flight callState machine

Flight check Web API

Service bus topic

Tracking subscriptionPhone logger service

Phone front end

SignalR

SvcBusMessage

Pump

Page 29: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Level 3

Level 2

Level 1 Welcome message

1. Check in

1. With luggage

2. Without luggage

2. Upgrade flight

1. To business

2. To 1st

class

Cancel flight

1. Confirm 2. Leave

Contest : call <removed> (toll free)

Page 30: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Conclusions

Workflow manager is multi-tenant & cloud-ready platform

Look out for upcoming BPM features by the WABS team

BPMN Support announced

Page 31: Microsoft Azure Workflows, A prediction · PDF fileSome limitations. Multi-tenancy Through scopes & isolation. Scopes ... SignalR SvcBus Message Pump. Level 3 Level 2 Level 1 Welcome

Thank you!

Keep in touch.

LinkedInblog.codit.eu codit.eu Newsletter

@SamVanhoutte

Pay us a visit