Conversation Management Protocol in WebLogic Integration October 15, 2001 Sanjay Dalal (sanjay@bea.com) BEA Systems, Inc.
Outline Business Transactions over the Web Conversation Management Protocol of WebLogic Integration 12/30/2018
Supply Chain Business Transaction Example Manufacturer Supplier Shipper Check product price Send product price Place Order Wait for order Wait for Invoice Send Invoice Check truck schedule Arrange shipping Time Book order Decline customer Commit Reserve shipping 12/30/2018 Business message
Characteristics of Business Transactions on the Web Comprised of complex business processes Span multiple enterprises (trading partners) Modeled as agreed upon processes within the context of trading partner agreements Long running (minutes, hours, days,…) Consists of multiple business message exchanges Uses unreliable communication channel: HTTP/S Global business transaction is dependent on the outcome of many local transactions Isolation is relaxed, compensation preferred over rollback 12/30/2018
Requirements for protocol Management/coordination of long-running business transactions across business processes of different trading partners Reliable business transaction management (coordination) protocol over the Web Outcome is reliably conveyed to all participants Survive network and node failures Efficient protocol (less number of messages) over the web ->>>Conversation Management Protocol (CMP) 12/30/2018
Conversation Management B2B stack ebXML, BPML Collaboration Conversation Management CMP ebXML TRP, SOAP... Messaging Security SSL, S2ML, PKCS #7 HTTP, SMTP/POP, FTP Transport 12/30/2018
Conversation Lifecycle Start a conversation Send message in a conversation Receive message in a conversation Implicitly join a conversation Leave conversation Terminate a conversation Success Failure Timeout 12/30/2018
Conversation Lifecycle Initiator Participant Subordinate Coordinator Main 4: receive business message 5: enlist participant 10: Conversation terminated 3: send message 7: enlist subordinate 9: terminate conversation 11: Conversation terminated coordinator 1: create conversation 2: send message 8: terminate conversation 12: Conversation terminated 6: register 12/30/2018
Roles Initiator Participant Coordinator Main coordinator Initiator is a trading partner, who creates the conversation Sends the first business message Terminates the conversation Participant Participant is a trading partner who is enlisted in the conversation when it receives the first business message inside the conversation Can leave the conversation Coordinator Main coordinator Maintains a list of subordinate coordinators Drives termination protocol Subordinate coordinator Maintains a list of participants Participates in the termination protocol 12/30/2018
Summary Advantages Simple protocol Less number of messages Fewer roles Suitable where single party dictates outcome of a transaction, e.g. public/private exchanges Missing Vote from participants Explicit contracts Implicit prepare Implicit enlist/enrol Initiator does not “see” status (in or out of transaction) of participant 12/30/2018
Status Available in WebLogic Integration product (http://edocs.bea.com/wlintegration/v2_1/) Accepted by OASIS Business Transaction Committee (http://www.oasis-open.org/committees/business-transactions/) on March 8, 2001 as proposal from BEA http://lists.oasis-open.org/archives/business-transaction/200103/zip00000.zip Note: The name of the protocol was changed from “Conversation Management Protocol” to “Business Transaction Protocol” in the proposal. 12/30/2018