Birds of the Same Feather – BizTalk and WCF
K.Meena Director SymIndia Training & Consultancy Pvt LtdSession Code:
Agenda
OverviewWCFBizTalk
WCF-BizTalk IntegrationIntegration Scenarios
WCF Send AdaptersWCF Receive AdaptersSpecific Use cases
Objectives & Pre-requisites
ObjectivesFocus on Integration issues Present many scenarios of integration
Pre-requisitesKnowledge in designing and developing with
WCF BizTalk
Agenda
OverviewWCFBizTalk
WCF-BizTalk Integration ArchitectureIntegration Scenarios
WCF Send AdaptersWCF Receive AdaptersSpecific Use cases
WCF Service
‘Client’Message
Message
Services pass messages described by a contractService may provide metadata
Describing the contractDescribing the policy it applies to communication
‘Service’
Metadata
Message (SOAP)
Headers: Addressing, Security, etc
Body: Payload
What do I send?
Where do I send it?
How should I send it?
Contract
Address
Binding
Mechanics of Communication
‘Service’‘Client’
Transport?
Encoding?
Security?
Mechanics of Communication
‘Service’‘Client’
Endpoint
ContractBindingAddress
EndpointContractBindingAddress
EndpointContractBindingAddress
WCF Runtime Architecture
Agenda
Architectural OverviewWCFBizTalk
WCF-BizTalk IntegrationIntegration Scenarios
WCF Send AdaptersWCF Receive AdaptersSpecific Use cases
BizTalk Message Flow
Decrypt ParseResolve
Party
Message BoxDatabase
SerializeSign
Encrypt
ReceiveAdapter
SendAdapter
Receive Pipeline Send Pipeline
Orchestration
Receive Location Send Port
ManagementDatabase
TrackingDatabase
XML,Flat File,Binary
XML,Flat File,
Binary
Receive Port Send Port Group (optional)
XML
Agenda
Architectural OverviewWCFBizTalk
WCF-BizTalk IntegrationIntegration Scenarios
WCF Send AdaptersWCF Receive AdaptersSpecific Use cases
WCF and BizTalk Server Together
OrderPlaceme
nt
BidEvaluatio
n
OrderReceivin
g
JobCosting
CapacityPlanningBizTalk
Server
Integration – How?
BizTalk Extensibility Point Adapter Framework
WCF send and receive facilities are exposed ( to and from) BizTalk
through a set of adapters
BizTalk Pipeline
WCF Adapter Runtime ArchitectureCh
anne
l St
ack
Ope
ratio
n /
Rece
ive
Loca
tion
WCF
Ser
vice
Hos
t
Channel Stack
WCF Client
Send PortBizTalk WCF Receive Adapter
BizTalk WCF Send Adapter
Message Box
Orchestrations
BizT
alk
Pipe
line
WCF as Adapter for BizTalkC
hann
el
Sta
ck
WC
F S
ervi
ce H
ost
Op
era
tion
/R
ece
ive
Lo
catio
n
Biz
Talk
Pip
elin
e BizTalk P
ipeline
Send P
ort
WC
F C
lient
Channel S
tack
WCF Adapter Core Features
Seven traditional BizTalk adaptersWCF-BasicHttpWCF-WsHttpWCF-NetTcpWCF-NetMsmqWCF-NetNamedPipeWCF-CustomWCF-CustomIsolated
UI Ensures ease of use and minimizes potential for mis-configuration
WCF as Adapter for BizTalk
The Flow
Complementary Support
WCFplatform for building services on WindowsSupport for Standard communication protocols for services on Windows
BizTalkStandards based Integration and BPM Server for WindowsInfrastructure for orchestrating and extending WCF services
Use Cases
Exposing BizTalk orchestration as a WCF serviceConsuming a WCF service from BizTalk orchestration Transactional Receive and SendUsing Headers
WS-* headers for routing and message processing Custom headers
Using BizTalk as SOAP intermediary
Use Cases
Using custom binding elements Using custom bindings Using BizTalk dynamic send ports Consuming a WCF Service originating from WCF-LOB Adapter (SAP, Siebel, Oracle DB, and Tibco RV)
Wizards
Publishing wizardPublish WCF http service in IISPublish metadata for in-proc or out-of-proc adapter to IIS
Consuming wizardCreate message and port typesCreate a proxy equivalent
Bindings fileOperation to action mapping
Integration Made Easy
Agenda
OverviewWCFBizTalk
WCF-BizTalk IntegrationIntegration Scenarios
WCF Send AdaptersWCF Receive AdaptersSpecific Use cases
Scenario: Consuming WCF Service
Order Service(WCF)BizTalk
Messaging
EndpointEndpointContractContractBindingBindingAddressAddress
BasicHttpBinding
Send Port Config.ContractBindingAddress
WCF Service Consuming Wizard
Schema Info, Send Port Config. Info
BizTalk Consuming WCF ServiceK. MeenaDirectorSymIndia Training & Consultancy Pvt Ltd
Scenario: Publish Orchestration as WCF Service
WCF ClientBizTalk
OrchestrationBasicHttpBinding
Receive Lcation Config.ContractBindingAddress
ProxyABC Details
WCF Service Publishing Wizard
SVC Util
Endpoint Info in IIS
Orchestration as WCF ServiceK. MeenaDirectorSymIndia Training & Consultancy Pvt Ltd
Scenario Requirement
Client App coordinates a Distributed Transaction
WCF as Resource ManagerBizTalk WCF Receive Adapter as RM
Transaction committed only whenWCF service commitsBizTalk WCF adapter commits
Usage of Custom Pipeline component to abort transactions
Transactions start and end at the message box
WCF Adapter WCF AdapterClientApp
Transaction Boundary Transaction Boundary
Message Box
subscribepublish
Scenario: Distributed Transactioning
Transactional Scenarios: Two-Way
Transactions start and end at the message box
WCF Adapter WCF AdapterClientApp
Transaction Boundary Transaction Boundary
Message Box
Distributed Transactioning
Place Order Client
Start Txn
WCF Service
BizTalk Server R2 WCF Adapter
Archiving
QueueCommit
Commit
Commit
Transaction Commited
Place Order Client
WCF Service
Demo Overview (Abort)
BizTalk Server R2w/WCF Adapter
Archiving
QueueCommit
Abort
Abort
Start TxnAbort
Transaction Aborted
Distributed TransactioningK. MeenaDirectorSymIndia Training & Consultancy Pvt Ltd
ScenarioExisting WCF Service
TransactionFlow is mandatoryTransactionScope is required for “PlaceOrder” method
‘PlaceOrder’ method If message header “BeginNewPO” exists, create a key randomly and insert PO into PO tableOtherwise, Insert lineItem details in message to PODetails table
BizTalk Send Port emits a single documentPO master detailsMultiple PO LineItem details
Requirement
Need to split the single BizTalk documentCreate WCF message with header for PO master detailsCreate Multiple WCF messages, one for each Line item
Initiate a transactionAs part of the same transaction
Send WCF message with PO headerSend WCF messages for each Line Item
Solution
Create a Custom Binding Element in WCFWCF Message InterceptionSplit WCF Message into
Single message for Order headerMultiple messages , one for every Line Item in the orderSubmit the messages one by one
Create a Custom Binding in BizTalk Send Port Use WCF-Custom adapterConfigure binding
Custom Interceptor, Transaction FlowEncoderTransport
Scenario: Custom Binding Element
WCF ServiceBizTalk
Messaging WCF-Custom Inproc adapter
CustomBinding=WCFMsgInterceptor,
TransactionFlowText Msg Encoding,
Http Transport
Contract
Send Port Config. Custom
BindingAddress
WCF Service Consuming Wizard
SVC Util
Endpoint Info in IIS
Custom
Binding
WCF Adapter configured with Custom Binding Element K. MeenaDirectorSymIndia Training & Consultancy Pvt Ltd
Requirement
Orchestration exposed as a WCF service endpointSecured Access to a BizTalk Receive Location
Configurable Windows groups
Write a WCF Custom Behaviour anduse it while configuring BizTalk Receive location
Scenario: Custom Behaviour
WCF Client
BizTalk Orchestration
Contract
Receive Location Config. WSHttop
BindingAddress Behavior
Custom Behavior
For access check
WCF Adapter with Custom BehaviorK. MeenaDirectorSymIndia Training & Consultancy Pvt Ltd
Message Encoding
By themselves, WCF and BizTalk add significant valueIntegrating them provides enhances the valueLeveraging Scenarios
WS-* standards support of WCF in BizTalkWCF extensibility scenarios are easy configurable in BizTalkBizTalk as a Broker for WCF Services to communicate
Summary
धन्यवा�दઆભા�ર ধন্য�বা�দ
ਧੰ�ਨਵਾ�ਦ
ଧନ୍ୟ�ବା�ଦ
நன்றி�
ధన్య�వాదాలు� ಧನ್ಯ�ವಾ�ದಗಳು
നി�ങ്ങള്ക്ക്� നിന്ദി�
question & answer
Related Content
Solving Enterprise Integration Challenges with BizTalkTuning BizTalk Server 2009 for Better PerformanceThe Intricacies of Enterprise Integration : SOA vs. ESB
Resourceshttp://www.microsoft.com/downloads/details.aspx?familyid=a976dc7d-2296-4f88-be4d-0d314fca9e59&displaylang=en&tmhttp://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=13d6121d-c82b-4614-a160-7c88bcc037b7http://seroter.wordpress.com/2008/01/31/article-series-on-biztalk-and-wcf-part-i-operation-patterns/http://www.microsoft.com/downloads/details.aspx?familyid=70BADD79-CE7E-4CCB-BE5C-3FF74CA3A8C4&displaylang=enhttp://msdn.microsoft.com/en-us/library/cc952299.aspxhttp://msdn.microsoft.com/en-us/library/dd379134.aspxhttp://msdn.microsoft.com/en-us/library/cc950532.aspxhttp://msdn.microsoft.com/en-us/library/bb967002.aspx
Track Resources
Resource 1
Resource 2
Resource 3
Resource 4
© 2009 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.
Top Related