Top Banner
BizTalk Orchestration BizTalk Orchestration Marius Rochon Marius Rochon Microsoft Corp. Microsoft Corp.
35

BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

Jul 24, 2018

Download

Documents

nguyencong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

BizTalk OrchestrationBizTalk Orchestration

Marius RochonMarius RochonMicrosoft Corp. Microsoft Corp.

Page 2: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

AgendaAgendaA A BiztalkBiztalk ApplicationApplication

Requirements Requirements -- Integration, Integration, Collaboration, Process AutomationCollaboration, Process AutomationRepresenting Business Process Representing Business Process Creating Executable processCreating Executable processBuild and Run our first BPO Build and Run our first BPO applicationapplication

Biztalk Biztalk Orchestration FeaturesOrchestration FeaturesConcurrency, Transactions, Dynamic Concurrency, Transactions, Dynamic Flow… Flow…

Page 3: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

Business Process SummaryBusiness Process Summary

FinancialsFinancials WarehousingWarehousing ShippingShipping

ETAETA

CustomerCustomer

OrderOrder

OrderOrderMgmt Mgmt

Order Order AckAckAllocate Allocate ReqReq

Ship Ship ConfimationConfimation

ChargeCharge

GoodsGoods

InspectorInspector

InspectInspectOKOK

ShipShip

CreditCreditCheckCheck

Page 4: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

Business Process SummaryBusiness Process SummaryA2A IntegrationA2A Integration

FinancialsFinancials WarehousingWarehousing ShippingShipping

ETAETA

CustomerCustomer

OrderOrder

OrderOrderMgmt Mgmt

Order Order AckAckAllocate Allocate ReqReq

Ship Ship ConfimationConfimation

ChargeCharge

GoodsGoods

InspectorInspector

InspectInspectOKOK

ShipShip

CreditCreditCheckCheck

Page 5: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

Business Process SummaryBusiness Process SummaryB2B IntegrationB2B Integration

FinancialsFinancials WarehousingWarehousing ShippingShipping

ETAETA

CustomerCustomer

OrderOrder

OrderOrderMgmt Mgmt

Order Order AckAckAllocate Allocate ReqReq

Ship Ship ConfimationConfimation

ChargeCharge

GoodsGoods

InspectorInspector

InspectInspectOKOK

ShipShip

CreditCreditCheckCheck

Page 6: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

Business Process SummaryBusiness Process SummaryWorkflow and CollaborationWorkflow and Collaboration

FinancialsFinancials WarehousingWarehousing ShippingShipping

ETAETA

CustomerCustomer

OrderOrder

OrderOrderMgmt Mgmt

Order Order AckAckAllocate Allocate ReqReq

Ship Ship ConfimationConfimation

ChargeCharge

GoodsGoods

InspectorInspector

InspectInspectOKOK

ShipShip

CreditCreditCheckCheck

Page 7: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

Representing Business ProcessRepresenting Business ProcessSomebodyin Accounts?

Mary

Joe

Junk Pat

Andy

Sue

Page 8: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

Representing Business ProcessRepresenting Business Process

Page 9: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

But we want to….But we want to….ExecuteExecute our Business Processour Business ProcessBe able to change the Business Be able to change the Business Process without changing codeProcess without changing codeBe able to attach and detach our Be able to attach and detach our Business Process to and from Business Process to and from ImplementationImplementationSo we need a more rigorous So we need a more rigorous expression of our business process…..expression of our business process…..

Page 10: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

BizTalk Application DesignerBizTalk Application DesignerVisual design and build executable Visual design and build executable business processes. business processes. Brings together business analyst and Brings together business analyst and developer in common design developer in common design environment.environment.Separates process definition from the Separates process definition from the underlying implementationunderlying implementation

Page 11: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

Simple ExampleSimple Example

CustomerCustomer

OrderOrder

OrderOrderMgmt Mgmt

Order Order AckAck

Page 12: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

Modeling the ProcessModeling the ProcessPort

Send Send AckAck Order Order AckAck

Place OrderPlace Order

Action

Order Order ReqReq

MessageSequence

Page 13: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

Demo: Build a simple Demo: Build a simple applicationapplication

Page 14: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

BizTalk OrchestrationBizTalk OrchestrationTechnology FeaturesTechnology Features

Separation of Definition and ImplementationSeparation of Definition and ImplementationConcurrency and SynchronizationConcurrency and SynchronizationLong Running TransactionsLong Running TransactionsDynamic PortsDynamic PortsComposabilityComposabilityManagement and MonitoringManagement and MonitoringProcess definition language Process definition language -- XLANGXLANG

Page 15: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

Separation of Definition and Separation of Definition and ImplementationImplementation

Process MUST be separateProcess MUST be separateProcess shouldn’t dictate Process shouldn’t dictate hardware/software and vice versahardware/software and vice versaEasier to modify and maintain Easier to modify and maintain processesprocessesProcesses scale more easilyProcesses scale more easilyBusiness analysts focus on processBusiness analysts focus on processDevelopers focus on softwareDevelopers focus on software

Page 16: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

Separation of Definition and Separation of Definition and ImplementationImplementation

Page 17: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

BizTalk OrchestrationBizTalk OrchestrationTechnology FeaturesTechnology Features

Separation of Definition and ImplementationSeparation of Definition and ImplementationConcurrency and SynchronizationConcurrency and SynchronizationLong Running TransactionsLong Running TransactionsDynamic PortsDynamic PortsComposabilityComposabilityManagement and MonitoringManagement and MonitoringProcess definition language Process definition language -- XLANGXLANG

Page 18: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

Concurrency and SynchronizationConcurrency and Synchronization

Concurrency is a business reality but Concurrency is a business reality but difficult to implement in practice.difficult to implement in practice.Asynchronous environment poses Asynchronous environment poses correlation challengescorrelation challenges

Many processes/many messagesMany processes/many messagesBizTalk Orchestration handles the BizTalk Orchestration handles the complexity for the usercomplexity for the user

Page 19: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

Concurrency and SynchronizationConcurrency and Synchronization

Page 20: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

BizTalk OrchestrationBizTalk OrchestrationTechnology FeaturesTechnology Features

Separation of Definition and ImplementationSeparation of Definition and ImplementationConcurrency and SynchronizationConcurrency and SynchronizationLong Running TransactionsLong Running TransactionsDynamic PortsDynamic PortsComposabilityComposabilityManagement and MonitoringManagement and MonitoringProcess definition language Process definition language -- XLANGXLANG

Page 21: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

Long Running TransactionsLong Running Transactions

Page 22: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

Long Running TransactionsLong Running Transactions

Transactions are difficult in loosely Transactions are difficult in loosely coupled environments involving many coupled environments involving many participantsparticipantsACID vs. Long RunningACID vs. Long RunningCompensating ProcessesCompensating Processes

PredictabilityPredictabilityReliabilityReliability

Page 23: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

BizTalk OrchestrationBizTalk OrchestrationTechnology FeaturesTechnology Features

Separation of Definition and ImplementationSeparation of Definition and ImplementationConcurrency and SynchronizationConcurrency and SynchronizationLong Running TransactionsLong Running TransactionsDynamic PortsDynamic PortsComposabilityComposabilityManagement and MonitoringManagement and MonitoringProcess definition language Process definition language -- XLANGXLANG

Page 24: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

Dynamic PortsDynamic PortsDon’t know who the participants are Don’t know who the participants are until the process is executed.until the process is executed.Unique participants for every instance Unique participants for every instance of a processof a processDesign Time = ShipperDesign Time = ShipperRun Time = Federal ExpressRun Time = Federal Express

Page 25: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

BizTalk OrchestrationBizTalk OrchestrationTechnology FeaturesTechnology Features

Separation of Definition and ImplementationSeparation of Definition and ImplementationConcurrency and SynchronizationConcurrency and SynchronizationLong Running TransactionsLong Running TransactionsDynamic PortsDynamic PortsComposabilityComposabilityManagement and MonitoringManagement and MonitoringProcess definition language Process definition language -- XLANGXLANG

Page 26: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

ComposabilityComposability“Schedules” can be built out of other schedules“Schedules” can be built out of other schedulesAllows for the distribution of the application Allows for the distribution of the application across functional boundaries across functional boundaries Divisional Schedules can be composed of group Divisional Schedules can be composed of group schedules etc.schedules etc.Schedules can be composed across companies. Schedules can be composed across companies.

CustomerCustomer SupplierSupplier

Page 27: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

ComposabilityComposability“Schedules” can be built out of other schedules“Schedules” can be built out of other schedulesAllows for the distribution of the application Allows for the distribution of the application across functional boundaries across functional boundaries Divisional Schedules can be composed of group Divisional Schedules can be composed of group schedules etc.schedules etc.Schedules can be composed across companies. Schedules can be composed across companies.

CustomerCustomer SupplierSupplier

Page 28: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

ComposabilityComposability“Schedules” can be built out of other schedules“Schedules” can be built out of other schedulesAllows for the distribution of the application Allows for the distribution of the application across functional boundaries across functional boundaries Divisional Schedules can be composed of group Divisional Schedules can be composed of group schedules etc.schedules etc.Schedules can be composed across companies. Schedules can be composed across companies.

CustomerCustomer SupplierSupplier

Page 29: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

BizTalk OrchestrationBizTalk OrchestrationTechnology FeaturesTechnology Features

Separation of Definition and ImplementationSeparation of Definition and ImplementationConcurrency and SynchronizationConcurrency and SynchronizationLong Running TransactionsLong Running TransactionsDynamic PortsDynamic PortsComposabilityComposabilityManagement and MonitoringManagement and MonitoringProcess definition language Process definition language -- XLANGXLANG

Page 30: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

Management and MonitoringManagement and Monitoring

Persist state in XMLPersist state in XMLStore state information in SQL ServerStore state information in SQL ServerComplete InstrumentationComplete Instrumentation

Event ArchitectureEvent ArchitectureQuery able dataQuery able dataDehydration/Dehydration/RehydrationRehydration

Page 31: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

BizTalk OrchestrationBizTalk OrchestrationTechnology FeaturesTechnology Features

Separation of Definition and ImplementationSeparation of Definition and ImplementationConcurrency and SynchronizationConcurrency and SynchronizationLong Running TransactionsLong Running TransactionsDynamic PortsDynamic PortsComposabilityComposabilityManagement and MonitoringManagement and MonitoringXLANG XLANG -- Process definition languageProcess definition language

Page 32: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

XLANG(“XLANG(“exlangexlang”)”)Language for describing processesLanguage for describing processesPersisted in XMLPersisted in XMLRigorous mathematical foundationRigorous mathematical foundationGenerated by BizTalk Application Generated by BizTalk Application DesignerDesignerExecuted by BizTalk Orchestration Executed by BizTalk Orchestration EngineEngine

Page 33: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

SummarySummary

BizTalk Admin Console

Internal Applications

B2B Trading Partners

BizTalk MapperBizTalk Doc Editor

BizTalk Mngmt Desk

BizTalkTransform/

RoutingEngine

COM MSMQ

<XLANG>Process

</XLANG>

BizTalkOrchestration

Engine

WebService

Programmatic Access

WebService

BizTalk Application Designer

Page 34: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

Key TakeawaysKey TakeawaysBizTalk Orchestration:BizTalk Orchestration:

Separates the process definition from Separates the process definition from the underlying software. the underlying software. Creates executable business processesCreates executable business processesAddresses the challenges of building Addresses the challenges of building distributed business processes.distributed business processes.

Concurrency and SynchronizationConcurrency and SynchronizationLong Running TransactionsLong Running TransactionsComposabilityComposability

Uses BizTalk Messaging to integrate with Uses BizTalk Messaging to integrate with applications and businesses. applications and businesses.

Page 35: BizTalk Orchestration · BizTalk Orchestration handles the complexity for the user. Concurrency and Synchronization. BizTalk Orchestration ... Complete Instrumentation

Questions?Questions?