A Guide to ebXML
Christian Huemer
Institut für Distributed and Multimedia Information Systems Liebiggasse 4/3-4, 1010 Wien Tel. +43-1-4277-38443 Fax +43-1-4277-38449 christian.huemer@univie.ac.at http://www.cs.univie.ac.at/christian.huemer
University of Vienna, Institute of Distributed and Multimedia Systems
Outline
B2B – An Introduction ebXML Basics ebXML – Business Processes ebXML – Core Components ebXML – Profiles & Agreements ebXML – Messaging ebXML – Registry
University of Vienna, Institute of Distributed and Multimedia Systems
Electronic Commerce and In-house Integration
H2H E-mail
We b
H2 A -B ro w se r
EDI, ebXML & Web Services
A2A
University of Vienna, Institute of Distributed and Multimedia Systems
1
Is There a Problem?
Did EDI reach critical mass after 20+ years?
Using EDI 95% EDI Capable 98%
5%
2%
FORTUNE 10000 (1000 in the top 10 Economics)
Source: Ge-BAC 2004, Klaus-Dieter Naujok
The rest of all Business that should be exchanging information electronically
University of Vienna, Institute of Distributed and Multimedia Systems
Traditional B2B Approaches
Standard:
A A
E
B
E
Standard Format
B
D
C
D
C
Message Implementation Guideline (MIG):
Standard
MIG User Group
MIG Company
MIG Partner-specific
University of Vienna, Institute of Distributed and Multimedia Systems
2
Client-Server Computing for Web Applications
Messaging Layer Presentation Layer
HTTP request HTTP response
Client Business Layer
Web Application Server
Databases ERP Systems Legacy Applications
Persistence Layer
University of Vienna, Institute of Distributed and Multimedia Systems
B2B Application Computing
B2B Application Server
B2B Application Server
SOAP request over HTTP, SMTP, ... XML Document Standard Types
Messaging Layer Document Layer Business Layer
Messaging Layer Document Layer Business Layer
Shared Business Logic
Databases
ERP Systems
Legacy Applications
Databases
ERP Systems
Legacy Applications
Persistence Layer
Persistence Layer
University of Vienna, Institute of Distributed and Multimedia Systems
3
UN/CEFACT´s Modelling Methodology (UMM)
UML-based description technique for describing B2B scenarios Concentrates on business semantics UMM Meta Model (UML Profile) Provides a procedure similar to a software development process
BOV Business Operational View
BDV Business Domain View BRV Business Requirement View BTV Business Transaction View BSV Business Service View
University of Vienna, Institute of Distributed and Multimedia Systems
Relevant UMM Artefacts
Business Collaboration Protocol Use Case Use Case 1
desribes choreography for
Business Transaction Use Case Use Case 1
desribes choreography for
1 Business Collaboration Protocol Activity Graph n
is composed of
1 Business Transaction 1 Activity Graph 1
is composed of
n Business Transaction Activity Activity
2 1
Is refined by
Business Action (Initiating/Reacting)
Activity
University of Vienna, Institute of Distributed and Multimedia Systems
4
<
> Purchase Order Management
timeToPerform: 24 hrs isConcurrent: true <>
[NOT Product.Quoted] PurchaseOrderManagement.BusinessFailure
request for quote
[Product.Quoted] [NOT CustomerInformation.Confirmed]
[CustomerInformation.Confirmed]
<>
[CustomerInformation.Confirmed]
<>
register customer
[CustomerInformation.Rejected]
order product
[Product.Ordered]
timeToPerform: 12 hrs isConcurrent: false
[NOT Product.Ordered] PurchaseOrderManagement.BusinessFailure
timeToPerform: 48 hrs isConcurrent: true
PurchaseOrderManagement.BusinessSuccess
Business Transaction: Request for Quote
Initiating Role : Buyer isAuthorizationRequired: false isNonRepudiationRequired: false timeToPerform: 24 hrs timeToAcknowledgeReceipt: 2 hrs timeToAcknowledgeAcceptance: 4 hrs isIntelligibleCheckRequired: true isNonRepudiationOfReceiptRequired: false retryCount: 3 Reacting Role: Seller isConfidential: Yes isTamperProof: Yes isAuthenticated: Yes
<>
obtain quote
[Control Fail]
:QuoteEnvelope
[Success]
:QuoteRequest Envelope
<>
calculate quote
timeToPerform: 24 hrs timeToAcknowledgeReceipt: 2 hrs timeToAcknowledgeAcceptance: false isIntelligibleCheckRequired: true isAuthorizationRequired: false isNonRepudiationRequired: false
isConfidential: No isTamperProof: No isAuthenticated: No
5
Business Document: Quote
Quote QuoteID QuoteDate
<>
QuoteRequest 1 QuoteRequestID
0..n Line LineNumber 1 1 LineQuote UnitPrice n 1 ISBN Title Authors
Book
University of Vienna, Institute of Distributed and Multimedia Systems
Business Document: Quote based on ABIEs
University of Vienna, Institute of Distributed and Multimedia Systems
6
Outline
B2B – An Introduction ebXML Basics ebXML – Business Processes ebXML – Core Components ebXML – Profiles & Agreements ebXML – Messaging ebXML – Registry
University of Vienna, Institute of Distributed and Multimedia Systems
+
=
March 1999 - UN/CEFACT Plenary
Members demand that UN/CEFACT develop an XML/edi solution
Juli 1999 - UN/CEFACT TMWG
"Not Yet Another XML Solution" Top-Down Ansatz ausgehend von Geschäftsprozessen Cooperation with XML-solution providers
August 1999 - Cooperation UN/CEFACT und OASIS
UN/CEFACT CSG accepts the TMWG Recommendation UN/CEFACT Action Team identifies OASIS as the best partner UN/CEFACT and OASIS sign ebXML Terms of Reference
November 1999 - First ebXML Meeting in San Jose Mai 2001 - ebXML Specs are approved in Vienna August 2003 – Full Set of Specs
University of Vienna, Institute of Distributed and Multimedia Systems
7
… where enterprises of any size, anywhere can: Find each other electronically Conduct business through the exchange of XML based messages
using standard message structures according to standard business process sequences with clear business semantics according to standard or mutually agreed trading partner agreements
Using off the shelf purchased business applications Commercial off-the-shelf software
University of Vienna, Institute of Distributed and Multimedia Systems
ebXML Scenario
XML
Business Scenarios Business Scenarios Business Profiles Business Profiles
1 Request Business Details
COMPANY A
2
ebXML Registry Registry
3
Register Implementation Details Register COMPANY A Profile
Build Local System Implementation
e e ile offf pr A N NY s AN illle M MP o of o OM P Pr P d d ttt C nd o ou bo sa sa sa y y ya rio r ar e e er en Qu Sc d oa nlll o ow Do
4
5
o ree Ag
n
rra sA ne s usi B
ent em ng O TI NS
COMPANY B
ebXML compliant system
DO
B
IN US
S ES
TR
AN
C SA
6
University of Vienna, Institute of Distributed and Multimedia Systems
8
ebXML Specifications
BP CC
Trading Partner Profile
Messaging Registry & Repository
University of Vienna, Institute of Distributed and Multimedia Systems
Outline
B2B – An Introduction ebXML Basics ebXML – Business Processes ebXML – Core Components ebXML – Profiles & Agreements ebXML – Messaging ebXML – Registry
University of Vienna, Institute of Distributed and Multimedia Systems
9
Business Processes - BPSS
Business Process Models refer to the interorganizational B2B processes, that define how partners have to interact BP Modelling is not mandatory - however UN/CEFACT‘s Modeling Methodology (UMM) should be used BPSS = Specification of the nominal set of elements necessary to configure a runtime system in order to execute an ebXML collaboration Concentrates on the choreography of business processes Defines a logical subset of the UMM meta model BPSS is defined in UMM (non-normative) and XML (normative)
University of Vienna, Institute of Distributed and Multimedia Systems
Business Process Specification Schema
BPSS is ebXML´s Choreography Language Goal of BPSS: provide the bridge between e-business process modeling and specification of e-business software components BPSS is based on the runtime system relevant subset of the UMM meta model Most concepts of Business Collaboration Protocol and Business Transactions are supported by BPSS Only minor differences:
+ + + +
UMM: Multiparty Collaboration – BPSS supports binary collaborations only BPSS: Recursive Nesting of Business Collaborations BPSS: QoS parameters consider the persistence storage, not only transfer and some very minor differences …
University of Vienna, Institute of Distributed and Multimedia Systems
10
Choreography
UMM: BPSS:
Buyer
Collaboration Seller
University of Vienna, Institute of Distributed and Multimedia Systems
BusinessTransaction name [0..1] nameID [1] Pattern [0..1] isGuaranteedDeliveryRequired ["false"]
BPSS Element: Business Transaction
RequestingBusinessActivity name [0..1] nameID [1] isAuthorizationRequired ["false"] isIntelligibleCheckRequired ["false"] isNonRepudiationRequired ["false"] isNonRepudiationReceiptRequired ["false"] timeToAcknowledgeReceipt [0..1] timeToAcknowledgeAcceptance [0..1] retryCount [0..1] RespondingBusinessActivity name [0..1] nameID [1] isAuthorizationRequired ["false"] isIntelligibleCheckRequired ["false"] isNonRepudiationRequired ["false"] isNonRepudiationReceiptRequired ["false"] timeToAcknowledgeReceipt [0..1] timeToAcknowledgeAcceptance [0..1] BusinessDocument name [0..1] nameID [1] specificationLocation [0..1] specificationID [0..1] namespacePrefixes [0..1]
DocumentEnvelope name [0..1] nameID [1] businessDocument [1] businessDocumentIDREF [0..1] isPositiveResponse [0..1] isAuthenticated [0..1] isConfidential [0..1] isTamperDetectable [0..1]
DocumentEnvelope name [0..1] nameID [1] businessDocument [1] businessDocumentIDREF [0..1] isPositiveResponse [0..1] isAuthenticated [0..1] isConfidential [0..1] isTamperDetectable [0..1] 0 .. ∞
11
001
<> order product
isAuthorizationRequired: true isNonRepudiationRequired: true timeToPerform: 24 hrs timeToAcknowledgeReceipt: 4 hrs timeToAcknowledgeAcceptance: 6 hrs isIntelligibleCheckRequired: true isNonRepudiationOfReceiptRequired: true retryCount: 3
Initiating Role : Buyer
Reacting Role: Seller isConfidential: Yes isTamperProof: Yes isAuthenticated: Yes
<>
004
place order
[Control Fail]
:PurchaseOrder ResponseEnvelope
026
[Success]
012
:PurchaseOrder Envelope
<>
process order
timeToPerform: 24 hrs timeToAcknowledgeReceipt: false timeToAcknowledgeAcceptance: 4 hrs isIntelligibleCheckRequired: true isAuthorizationRequired: true isNonRepudiationRequired: true
020
isConfidential: Yes isTamperProof: Yes isAuthenticated: Yes
BPSS: Order Product (1/2)
1. 4. 12. 19.
University of Vienna, Institute of Distributed and Multimedia Systems
12
BPSS: Order Product (2/2)
20. 26. 33. 34. 35. 38.
University of Vienna, Institute of Distributed and Multimedia Systems
Role name [0..1] nameID [1] 2 Start name [0..1] nameID [1] toBusinessState [1] toBusinessStateIDREF [0..1]
BusinessTransactionActivity name [0..1] nameID [1] fromRole [1] fromRoleIDREF [0..1] toRole [1] toRoleIDREF [0..1] beginsWhen [0..1] endsWhen [0..1] preCondition [0..1] postCondition [0..1] businessTransaction [1] businessTransactionIDREF [0..1] isConcurrent [„true“] isLegallyBinding [„true“] timeToPerform [0..1] CollaborationActivity name [0..1] nameID [1] fromRole [1] fromRoleIDREF [0..1] toRole [1] toRoleIDREF [0..1] beginsWhen [0..1] endsWhen [0..1] preCondition [0..1] postCondition [0..1] binaryCollaboration [1] binaryCollaborationIDREF [0..1]
BPSS Element: Binary Collaboration
1..
Success name [0..1] nameID [1] fromBusinessState [1] fromBusinessStateIDREF [0..1] conditionGuard [0..1] BinaryCollaboration name [0..1] nameID [1] pattern [0..1] beginsWhen [0..1] endsWhen [0..1] preCondition [0..1] postCondition [0..1] timeToPerform [0..1] initiatingRoleIDREF [0..1] isInnerCollaboration [„false“] 1.. 8
8
ConditionExpression expressionLanguage [1] expression [1] prefix [0..1]
Failure name [0..1] nameID [1] fromBusinessState [1] fromBusinessStateIDREF [0..1] conditionGuard [0..1] 1.. 8
ConditionExpression expressionLanguage [1] expression [1] prefix [0..1]
Transition name [0..1] nameID [1] fromBusinessState [1] fromBusinessStateIDREF [0..1] onInitiation [„false“] toBusinessState [1] toBusinessStateIDREF [0..1] conditionGuard [0..1] 0.. Fork name [0..1] nameID [1] type [„OR“] timeToPerform [0..1] 8
ConditionExpression expressionLanguage [1] expression [1] prefix [0..1]
0.. Join name [0..1] nameID [1] waitForAll [„true“] 0.. Decision name [0..1] nameID [1] 0..
8
8
2
ConditionExpression expressionLanguage [1] expression [1] prefix [0..1] 8
13
041
<> Purchase Order Management
048
timeToPerform: 24 hrs isConcurrent: true
<>
052
[NOT Product.Quoted] 084 PurchaseOrderManagement.BusinessFailure
request for quote
099 [Product.Quoted]
[NOT CustomerInformation.Confirmed] 108 136
[CustomerInformation.Confirmed] 117
<>
061
[CustomerInformation.Confirmed] 126
<>
070
register customer
[CustomerInformation.Rejected]
order product
[Product.Ordered]
timeToPerform: 12 hrs isConcurrent: false
089 094 [NOT Product.Ordered]
079
timeToPerform: 48 hrs isConcurrent: true
PurchaseOrderManagement.BusinessFailure
PurchaseOrderManagement.BusinessSuccess
41. 42. 43. 44. 45.
46. 47. 48. 52. 61. 70.
79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107.
14
108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141.
Outline
B2B – An Introduction ebXML Basics ebXML – Business Processes ebXML – Core Components ebXML – Profiles & Agreements ebXML – Messaging ebXML – Registry
University of Vienna, Institute of Distributed and Multimedia Systems
15
Building Blocks
Name
Name Address
Address email Phone # Company
email Phone # Company Party Invoice Party ID Cost Line Item PO #
University of Vienna, Institute of Distributed and Multimedia Systems
Source: Adobe 2003, Duane Nickull
Core Components
UN/CEFACT Core Components (CC)
Re-usable building blocks to assemble Business Documents Are not bound to a specific transfer syntax Aggregate CC, Basic CC, CC Type Use the concept of context drivers
A CC is used in many business environments and is by definition free of context By re-using a CC in a business document type it is set into context and becomes a Business Information Entity (BIE) BIE is a CC that is restricted according to business context-specific constraints Library of Core Components is built on best practice of 20+ years e-business
University of Vienna, Institute of Distributed and Multimedia Systems
16
Context Drivers
Context Category Business Process Product Classification Industry Classification Geopolitical Official Constraints Business Process Role Supporting Role System Capabilities Description
The business process as described using the ebXML Catalogue of Common Business Processes as extended by the user. Factors influencing semantics that are the result of the goods or services being exchanged, handled, or paid for, etc. (e.g. the buying of consulting services as opposed to materials) Semantic influences related to the industry or industries of the trading partners (e.g., product identification schemes used in different industries). Geographical factors that influence business semantics (e.g., the structure of an address). Legal and governmental influences on semantics (e.g. hazardous materials information required by law when shipping goods). The actors conducting a particular business process, as identified in the Catalogue of Common Business Processes. Semantic influences related to non-partner roles (e.g., data required by a third-party shipper in an order response going from seller to buyer.) This context category exists to capture the limitations of systems (e.g. an existing back office can only support an address in a certain form).
University of Vienna, Institute of Distributed and Multimedia Systems
Source: SAP AG 2005, Gunther Stuhec
CCTS Architecture
1 1 Content Content Component Component carries the actual carries the actual value value for creation of 1..n Supplementary Supplementary Component Component gives extra definition gives extra definition to the value to the value Core Core Component Component Type (CCT) Type (CCT)
Restriction on
Content Content Component Component carries the actual carries the actual value value for creation of 1..n
Data Type Data Type
Defines a value set of
Supplementary Supplementary Component Component gives extra definition gives extra definition to the value to the value
Party Basic Core Component Aggregate Core Component Association Core Component
Source: SAP AG 2005, Gunther Stuhec
Buyer_ Party
Buyer_ Identifier Home_ Address Primary_ Person Telephone_ Communication
Basic Business Information Entity Aggregate Business Information Entity Association Business Information Entity
Identifier Address Person
Communication
17
Object Oriented Approach of Building Blocks
1 Content Content Component Component carries the actual carries the actual value value for creation of 1..n Supplementary Supplementary Component Component gives extra definition gives extra definition to the value to the value Core Core Component Component Type (CCT) Type (CCT)
Party.Details +Party.Identifier : normalizedString 0..1 1..1 0..1 0..n Person.Details -Title.Identifier : Identifier.Type -Given.Name : Name.Type -MiddleInitials.Name : Identifier.Type -Last.Name : Name.Type -Generation.Identifier : Identifier.Type
0..1 1..1 Company.Details -Name.Text : Name.Type -Additional.Name : Name.Type -Type.Identifier : Identifier.Type
0..1
0..1 1..n
PhysicalAdress.Details
Party Basic Core Component Aggregate Core Component Association Core Component
Source: SAP AG 2005, Gunther Stuhec
Identifier Phyiscal Address Person
-Room.Identifier : Identifier.Type -Floor.Identifier : Identifier.Type -Department.Identifier : Identifier.Type -Building.Identifier : Identifier.Type -House.Identifier : Identifier.Type -Street.Name : Name.Type -PostalCode.Identifier : Identifier.Type -PostBox.Identifier : Identifier.Type -City.Name : Identifier.Type -County.Name : Identifier.Type -Region.Identifier : Identifier.Type -State.Name : Name.Type -Country.Identifier : Identifier.Type
1..1
1..1
1..1
Coordination.Details -System.Identifier : Identifier.Type -Longitude.Measure : Measure.Type -Latitude.Measure : Measure.Type
Communication.Details -Telephone.Identifier : Identifier.Type -Fax.Identifier : Identifier.Type -EMail.Address : ElectronicAddress.Type -Web.Address : ElectronicAddress.Type
Communication
Class-Diagramm
Business Document: Quote
Quote QuoteID QuoteDate
<>
QuoteRequest 1 QuoteRequestID
0..n Line LineNumber 1 1 LineQuote UnitPrice n 1 ISBN Title Authors
Book
University of Vienna, Institute of Distributed and Multimedia Systems
18
Core Components
Type
Source: SAP AG 2005, Gunther Stuhec
Dictionary Entry name
Document. Details Document. Identification. Identifier Document. Creation. Date Document. Line Item. Line Item Line Item. Details Line Item. Identification. Identifier Line Item. Product Services. Product Service Line Item. Price. Price Product Service. Details Product Service. Identification. Identifier Product Service. Description. Text Product Service. Author. Name Price. Details Price. Amount. Amount
Definition
This are the details of the document This identifier identifies uniquely the document This is the date in which the document is created. This are the line items of the document This are the details of the line item of a document This identifier identifies the line item uniquely This are the details of a product and/or service This is the price of a line item This are the details of the product and/or service This identifier identifies of the product and/or service This text describes the the product and/or service This is the name of the author of the product and/or service This are the details of a price This is the amount of a price
Card.
0..1 0..1 0..n
0..1 0..1 0..1
0..1 0..1 0..1
0..1
Business Information Entities
Type
Quote_ Document. Line Item. Line Item
Dictionary Entry name
Quote_ Document. Details Quote_ Document. Identification. Identifier Quote_ Document. Creation. Date
BP
RFQ RFQ RFQ
Prod
Book Book Book Book, Flight, Hotel Book, Flight, Hotel Book Book Hotel Flight Book Book Book Book Book
Ind
BookT BookT BookT BookT, Tour. BookT, Tour. BookT BookT Tour. Tour. BookT BookT BookT BookT BookT
Geo
* MY MY, US, DE
Off
* * *
Role
B, S B, S B, S
Sup.
* * *
Sys.
* * *
Quote_ Document_ Line Item. Details
RFQ
*
*
B, S
*
*
Book_ Product Service. Identification. Identifier Book_ Product Service. Description. Text Book_ Product Service. Author. Name Quote_ Document_ Line Item. Identification. Identifier Quote_ Document_ Line Item. Book. Product Service Quote_ Document_ Line Item. Hotel. Product Service Quote_ Document_ Line Item. Flight. Product Service Quote_ Document_ Line Item. Unique Charge. Price Book_ Product Service. Details
RFQ RFQ RFQ RFQ RFQ RFQ RFQ RFQ RFQ RFQ
* * MY, US, DE MY, FR, AT * * MY, US, DE MY, US, DE US, DE MY
* * * * * * * * * *
B, S B, S B, S B, S B, S B, S B, S B, S B, S B, S
* * * * * * * * * *
* * * * * * * * * *
19
Business Document: Quote based on ABIEs
University of Vienna, Institute of Distributed and Multimedia Systems
From Core Components to Docment Types
University of Vienna, Institute of Distributed and Multimedia Systems
20
Transfer-Example: CC to XML and XSD
XSD has an indirect cascade of types and elements XSD’s OO-like approach can neatly be mapped to ISO 11179 object classes and properties
Object Class Object Class
Coordination.Details System Identifier : Identifier Type
Object Class (complexType) Object Class (complexType)
…
references
has
Property (Element Declaration) Property (Element Declaration)
Property (Element) Property (Element)
Coordination.Details -System.Identifier : Identifier.Type -Longitude.Measure : Measure.Type Latitude Measure : Measure Type
is bound to
Type (Definition) Type (Definition)
Source: SAP AG 2005, Gunther Stuhec
is defined in terms of
Type (Definition) Type (Definition)
«type» Measure.Type -Measure.Content : xsd:decimal -unitCode : xsd:token
Outline
B2B – An Introduction ebXML Basics ebXML – Business Processes ebXML – Core Components ebXML – Profiles & Agreements ebXML – Messaging ebXML – Registry
University of Vienna, Institute of Distributed and Multimedia Systems
21
Possibilities / Capabilities / Agreements Possibilities
= all ebXML business processes
Capabilities
= business process supported by an organization (in certain roles)
= Agreement to execute business processes between a set of business partners
Agreements
University of Vienna, Institute of Distributed and Multimedia Systems
TP Profiles & Agreements
The commercial and technical capabilities of a partner are described by a Trading Partner Profil (TPP) The agreed commercial and technical interactions are described by a Trading Partner Agreement (TPA) The technical parameters of the message-exchange capabilities of a partner are described by a Collaboration Protocol Profile (CPP) The technical parameters of an agreed message exchange are described by a Collaboration Protocol Agreement (CPA) ebXML currently defines only CPP und CPA (technical runtime environment)
University of Vienna, Institute of Distributed and Multimedia Systems
22
Collaboration Protocol Profile
CPP
Party’s information - Party name - contact info Transport Protocol Transport Security Protocol Messaging Protocol Link to ProcessSpecification document Time out/Retry -etc.
Party A
Describe
What Business Capabilities It "CAN DO” When conducting Business Process with other parties
Build
University of Vienna, Institute of Distributed and Multimedia Systems
CPP Element – Part 1
Part 2
identifies the organization (or parts of the organization) whose capabilities are described by the CPP
describes the constituents used to make up composite Messages
describes how the Message Header and payload constituents are packaged for transmittal
contains the digital signature that signs the CPP document
23
CPP Element – Part 1
provides logical identifiers for the organization provides pointers to more information about the Party
Part 2
identifies the roles that this Party can play in the context of a Process Specification identifies the certificates used by this Party in security functions identifies trust anchors and specify security policy used by this Party in security functions. defines the characteristics that the Party can use to send and/or receive Messages - it includes both the transport protocol and the messaging protocol
specifies the DeliveryChannel to use defines the characteristics of the for asynchronously delivered Message transport protocol(s) that the Party Service Handler level messages. can support to send and/or receive Messages defines the Message-exchange characteristics, such as the signature and encryption protocols, that the University of Vienna, Institute of Distributed and Multimedia Systems Party can support.
CPP Element – Part 2
provides the link to the Process-Specification document that defines the interactions between the two Parties. identifies which role in the Process Specification the Party is capable of supporting identifies a certificate for use by the business process/application layer identifies the trust anchors and security policy that this Party will apply to any application-level certificate offered by the other Party
identifies all the business Message traffic that is to be sent or received by the Party within the context of the identified Process-Specification document. It MUST contain at least one CanReceive or CanSend child element
24
CPP Element – Part 2
references the uuid (URI) attribute specified for the ProcessSpecification element of the underlying BPSS
specifies one or more DeliveryChannel elements for Messages for a selected action and the Packaging for those Messages that are to be sent or received
Describes the QoS
provides a mapping to the corresponding action [in BPSS]
identifies an action message that a Party is capable of sending. identifies an action message that a Party is capable of receiving. Only used in CPA
identifies one or more DeliveryChannel elements that can be used for sending or receiving the corresponding action messages.
Child structure is identical to CanSend
When present, it indicates that one or more synchronous response actions are expected.
Business Transaction: Request for Quote
Initiating Role : Buyer isAuthorizationRequired: false isNonRepudiationRequired: false timeToPerform: 24 hrs timeToAcknowledgeReceipt: 2 hrs timeToAcknowledgeAcceptance: 4 hrs isIntelligibleCheckRequired: true isNonRepudiationOfReceiptRequired: false retryCount: 3 Reacting Role: Seller isConfidential: Yes isTamperProof: Yes isAuthenticated: Yes
<>
obtain quote
[Control Fail]
:QuoteEnvelope
[Success]
:QuoteRequest Envelope
<>
calculate quote
isConfidential: No isTamperProof: No isAuthenticated: No
timeToPerform: 24 hrs timeToAcknowledgeReceipt: 2 hrs timeToAcknowledgeAcceptance: false isIntelligibleCheckRequired: true isAuthorizationRequired: false University of Vienna, Institute of Distributed and Multimedia Systems false isNonRepudiationRequired:
25
uri:company-a.com uuid:purchaseOrderManagement asyncChannelA1
asyncChannelA1 ... ... … ... ... ... ... ... ... text
26
Collaboration Protocol Agreement
CPA
CPP for Party-A Party-
Agreed CPA
CPA ID negotiate Party’s Information negotiate - Party A 1 1 - Party B Transport Protocol Transport Security Protocol DocExchange Protocol Link to Process2 2 Specification Doc. agreement Time out/Retry agreement on CPA - etc. on CPA achieved achieved
CPP for Party-B Party-
Agreed CPA
3
start business activities with each other
3
University of Vienna, Institute of Distributed and Multimedia Systems
CPA Element
University of Vienna, Institute of Distributed and Multimedia Systems
27
Outline
B2B – An Introduction ebXML Basics ebXML – Business Processes ebXML – Core Components ebXML – Profiles & Agreements ebXML – Messaging ebXML – Registry
University of Vienna, Institute of Distributed and Multimedia Systems
ebXML Message structure
An ebXML Message is a MIME/Mulitpart Message with 2 logical MIME parts: Header Container, containing one SOAP 1.1 compliant message Zero or more Payload Containers, containing application-level payload Header Container consists of a SOAP Header with ebXML-specific Elements and a SOAP-Body SOAP-Body includes message service handler control data and information related to the payload
eb:Error
University of Vienna, Institute of Distributed and Multimedia Systems
28
ebXML Message Handler
ebXML Application Message Service Interface SOAP Processing Error Handling Header Processing Header Parsing Message Packaging Reliable Messaging Services Transport Interface HTTP FTP SMTP IIOP ... Security Services
University of Vienna, Institute of Distributed and Multimedia Systems
a string identifying the set of related messages that make up a conversation between two Parties. It MUST be unique within the context of the specified CPAId.
29
Initiating Role : Buyer
isAuthorizationRequired: false isNonRepudiationRequired: false timeToPerform: 24 hrs timeToAcknowledgeReceipt: 2 hrs timeToAcknowledgeAcceptance: 4 hrs isIntelligibleCheckRequired: true isNonRepudiationOfReceiptRequired: false retryCount: 3
Reacting Role: Seller isConfidential: Yes isTamperProof: Yes isAuthenticated: Yes
<>
obtain quote
[Control Fail]
:QuoteEnvelope
[Success]
:QuoteRequest Envelope
<>
calculate quote
timeToPerform: 24 hrs timeToAcknowledgeReceipt: 2 hrs timeToAcknowledgeAcceptance: false isIntelligibleCheckRequired: true isAuthorizationRequired: false isNonRepudiationRequired: false
isConfidential: No isTamperProof: No isAuthenticated: No
timeToPerform: 24 hrs isConcurrent: true <>
[NOT Product.Quoted] PurchaseOrderManagement.BusinessFailure
request for quote
[Product.Quoted] [NOT CustomerInformation.Confirmed]
[CustomerInformation.Confirmed]
<>
[CustomerInformation.Confirmed]
<>
register customer
[CustomerInformation.Rejected]
order product
[Product.Ordered]
timeToPerform: 12 hrs isConcurrent: false
[NOT Product.Ordered] PurchaseOrderManagement.BusinessFailure
timeToPerform: 48 hrs isConcurrent: true
PurchaseOrderManagement.BusinessSuccess
Business Transaction: Request for Quote
Initiating Role : Buyer isAuthorizationRequired: false isNonRepudiationRequired: false timeToPerform: 24 hrs timeToAcknowledgeReceipt: 2 hrs timeToAcknowledgeAcceptance: 4 hrs isIntelligibleCheckRequired: true isNonRepudiationOfReceiptRequired: false retryCount: 3 Reacting Role: Seller isConfidential: Yes isTamperProof: Yes isAuthenticated: Yes
<>
obtain quote
[Control Fail]
:QuoteEnvelope
[Success]
:QuoteRequest Envelope
<>
calculate quote
isConfidential: No isTamperProof: No isAuthenticated: No
timeToPerform: 24 hrs timeToAcknowledgeReceipt: 2 hrs timeToAcknowledgeAcceptance: false isIntelligibleCheckRequired: true isAuthorizationRequired: false University of Vienna, Institute of Distributed and Multimedia Systems false isNonRepudiationRequired:
30
ebMS 2.0 Example
uri:company-a.com http://www.mylibrary.org/roles/buyer uri:company-b.com http://www.mylibrary.org/roles/seller http://www.myexample.org/cpa/101010 4711 uuid:purchaseOrderManagement obtainQuote UUID-1 2005-03-29T10:21:14 2005-03-30T10:21:14
University of Vienna, Institute of Distributed and Multimedia Systems
ebMS 2.0 Manifest Element
A quote request for a book on UMM.
University of Vienna, Institute of Distributed and Multimedia Systems
31
Outline
B2B – An Introduction ebXML Basics ebXML – Business Processes ebXML – Core Components ebXML – Profiles & Agreements ebXML – Messaging ebXML – Registry
University of Vienna, Institute of Distributed and Multimedia Systems
ebXML Registry / Repository
The Registry is the heart of ebXML. Powerful system of Registries and Distributed Repositories. Loosely coupled. Registries contain pointers and meta information. Meta information constrained by Registry Information Model (RIM) The Registry Services exposed by the interfaces have set metadata for expressing queries and returns.
Repository
Synchronization
RIM Registry API
I/O
University of Vienna, Institute of Distributed and Multimedia Systems
Source: Adobe 2003, Duane Nickull
32
ebXML Registry
ebXML Registry provides services for sharing information between parties enabling business process integration The information types to be shared are:
Core Components Business Process Definitions Profiles etc.
The shared information (independent of type) is maintained as object Each object has its own unique ID UIDs are used to reference registered objects
University of Vienna, Institute of Distributed and Multimedia Systems
Christian Huemer University of Vienna Institute of Distributed and Multimedia Systems Liebiggasse 4/3-4 1010Vienna Austria +43-1-4277-38434 christian.huemer@univie.ac.at www.cs.univie.ac.at/christian.huemer Presentation status="questions" ?>
University of Vienna, Institute of Distributed and Multimedia Systems
33