MAPLD Reconfigurable Computing Birds-of-a-Feather Programming Tools
Birds of the Same Feather - BizTalk and...
Transcript of Birds of the Same Feather - BizTalk and...
Birds of the Same Feather –BizTalk and WCF
K.Meena
Director
SymIndia Training & Consultancy Pvt Ltd
Session Code:
Agenda
OverviewWCF
BizTalk
WCF-BizTalk Integration
Integration ScenariosWCF Send Adapters
WCF Receive Adapters
Specific Use cases
Objectives & Pre-requisites
ObjectivesFocus on Integration issues
Present many scenarios of integration
Pre-requisitesKnowledge in designing and developing with
WCF
BizTalk
Agenda
OverviewWCF
BizTalk
WCF-BizTalk Integration Architecture
Integration ScenariosWCF Send Adapters
WCF Receive Adapters
Specific 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
Endpoint
ContractBindingAddress
Endpoint
ContractBindingAddress
WCF Runtime Architecture
Agenda
Architectural OverviewWCF
BizTalk
WCF-BizTalk Integration
Integration ScenariosWCF Send Adapters
WCF Receive Adapters
Specific Use cases
BizTalk Message Flow
Decrypt ParseResolve
Party
Message Box
Database
SerializeSign
Encrypt
Receive
Adapter
Send
Adapter
Receive Pipeline Send Pipeline
Orchestration
Receive Location Send Port
Management
Database
Tracking
Database
XML,
Flat File,
Binary
XML,
Flat File,
Binary
Receive Port Send Port Group (optional)
XML
Agenda
Architectural Overview
WCF
BizTalk
WCF-BizTalk Integration
Integration ScenariosWCF Send Adapters
WCF Receive Adapters
Specific Use cases
WCF and BizTalk Server Together
Order
Placement
Bid
Evaluation
Order
Receiving
Job
Costing
Capacity
PlanningBizTalk
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 P
ipelin
eCh
ann
el S
tack
Op
erat
ion
/R
ecei
ve L
oca
tio
n
WC
F Se
rvic
e H
ost C
han
nel Stack
WC
F Clien
t
Send
Port
BizTalk WCF
Receive Adapter
BizTalk WCF
Send Adapter
Message Box
Orchestrations
Biz
Talk
Pip
elin
e
WCF as Adapter for BizTalkC
ha
nn
el S
tack
WC
F S
erv
ice H
ost
Ope
ratio
n /
Rece
ive
Lo
ca
tio
n
Biz
Talk
Pip
elin
e Biz
Ta
lk P
ipe
line
Se
nd
Po
rt
WC
F C
lient
Ch
an
ne
l Sta
ck
Seven traditional BizTalk adaptersWCF-BasicHttp
WCF-WsHttp
WCF-NetTcp
WCF-NetMsmq
WCF-NetNamedPipe
WCF-Custom
WCF-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 Windows
Support for Standard communication protocols for services on Windows
BizTalkStandards based Integration and BPM Server for Windows
Infrastructure 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)
Publishing wizardPublish WCF http service in IIS
Publish metadata for in-proc or out-of-proc adapter to IIS
Consuming wizardCreate message and port types
Create a proxy equivalentBindings file
Operation to action mapping
Integration Made Easy
Agenda
Overview
WCF
BizTalk
WCF-BizTalk Integration
Integration ScenariosWCF Send Adapters
WCF Receive Adapters
Specific Use cases
Scenario: Consuming WCF Service
Order
Service
(WCF)BizTalk
Messaging
Endpoint
ContractBindingAddress
BasicHttpBinding
Send Port Config.
ContractBindingAddress
WCF Service
Consuming Wizard
Schema Info,
Send Port Config. Info
BizTalk Consuming WCF ServiceK. Meena
Director
SymIndia Training & Consultancy Pvt Ltd
Scenario: Publish Orchestration as WCF Service
WCF Client
BizTalk
OrchestrationBasicHttpBinding
Receive Lcation Config.
ContractBindingAddress
Proxy
ABC Details
WCF Service
Publishing Wizard
SVC Util
Endpoint
Info
in IIS
Orchestration as WCF ServiceK. Meena
Director
SymIndia 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 AdapterClient
App
Transaction Boundary Transaction Boundary
Message Box
subscribepublish
Scenario: Distributed Transactioning
Transactions start and end at the message box
WCF Adapter WCF AdapterClient
App
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
BizTalk Server R2w/WCF Adapter
Archiving
QueueCommit
Abort
Abort
Start TxnAbort
Transaction Aborted
Distributed TransactioningK. Meena
Director
SymIndia 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 Service
BizTalk
Messaging WCF-Custom
Inproc adapter
CustomBinding=
WCFMsgInterceptor,
TransactionFlow
Text Msg Encoding,
Http Transport
Contract
Send Port Config.
Custom
Binding
Address
WCF Service
Consuming Wizard
SVC Util
Endpoint
Info
in IIS
Custom
Binding
WCF Adapter configured with Custom Binding Element K. Meena
Director
SymIndia Training & Consultancy Pvt Ltd
Requirement
Orchestration exposed as a WCF service endpoint
Secured Access to a BizTalk Receive LocationConfigurable Windows groups
Write a WCF Custom Behaviour and
use it while configuring BizTalk Receive location
Scenario: Custom Behaviour
WCF Client
BizTalk
Orchestration
Contract
Receive Location Config.
WSHttop
Binding
Address BehaviorCustom Behavior
For access check
WCF Adapter with Custom BehaviorK. Meena
Director
SymIndia Training & Consultancy Pvt Ltd
By themselves, WCF and BizTalk add significant value
Integrating them provides enhances the value
Leveraging ScenariosWS-* standards support of WCF in BizTalk
WCF extensibility scenarios are easy configurable in BizTalk
BizTalk as a Broker for WCF Services to communicate
Summary
Related Content
Solving Enterprise Integration Challenges with BizTalk
Tuning BizTalk Server 2009 for Better Performance
The Intricacies of Enterprise Integration : SOA vs. ESB
Resources
http://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.