ebxml framework overview 葉 慶 隆 大同大學 資訊工程系 email: [email protected]...
TRANSCRIPT
ebXML Framework OverviewebXML Framework Overview
葉 慶 隆大同大學 資訊工程系
Email: [email protected]: http://www.cse.ttu.edu.tw/chingyeh
From: Chapter 6, ebXML: Concepts and Application, by Brian Gibb and Suresh Damodaran, Wiley, 2003
Beyond Messaging 2
Introduction
• We present a sample purchase order scenario to demonstrate the use of ebXML BPSS, CPPA, and Registry specifications.
Beyond Messaging 3
The Purchase Use Case
• International purchase use case, adapted from a CEFACT model of international supply chain– Identify a partner– Negotiate a contract– Order goods– Ship the goods– Make payment
• The goal of ebXML framework is to create e-business solutions that automate the above steps.
Beyond Messaging 4
Observations on the use case
• The following observations help to identify – what you can automate and– How to do so.
• Observation 1: Common business processes exist1. Identify a partner (Step 1 of use case)
2. Negotiate and create a contract (Step 2 of use case)
3. Place order based on contract (Step 3 of use case)
4. Ship merchandise (Step 4 of use case)
5. Pay for merchandise (Step 5 of use case)
6. Archive trade records for auditing by authorities and to settle nonrepudiation of claims by collaboration partners.
Beyond Messaging 5
Observations on the use case
• Observation 2: – Standardized yet customizable business documents in
multiple formats are required– Request for Invoice (RFI), RFQ, Order– ASC X12, EDIFACT, OAGIS Business Object Document
(BOD)
• Observation 3:– Standardized description of collaboration steps is required
Beyond Messaging 6
Public and private processesB
suin
ess
Ser
vice
Impl
emen
tatio
n
BSI
Partner A Partner B
PrivateProcess
PrivateProcess
Public Process(Business Collaboration)
CPA
Bsu
ines
s S
ervi
ceIm
plem
enta
tion
BSI
Business Transaction
BSI=Business Service Interface
Beyond Messaging 7
Observations on the use case
• Observation 4: – Standardized description of each partners’s profile and the
contract between partners are required
• Observation 5: – Support for intermediaries is required
• Observation 6:– Support for verification of authority constraints is required
• Observation 7:– Standardized protocols for discovery are essential
• Observation 8:– Security is paramount
Beyond Messaging 8
The Move Toward Automation
• Each of the steps can benefit from automation.• Step 3 is of higher priority to business than others
steps• Assumption is therefore made to the automation of
Step 3.
Business contracts that set the business terms of the trade between the customer and supplier, as well as with any intermediaries already exist
Beyond Messaging 9
Performing the automation
Business Process andInformation Model
Mad
e in
UM
L(U
sing
UM
M)
BusinessProcess
Specification
BusinessDocument
Specification
Profile A Profile B
Agreement AB
BSI A BSI B
Role=Customer Role=Supplier
RegistryRepository
Map to XML
Sp
eci
fica
tion
in X
ML
The ebXML Framework at Work
Customer
Supplier
ebXMLRegistry
ProfilesProcessSpecifications
Registry Host1
2
Impl
emen
tatio
n
3
4
5
6
Intermediaries
Beyond Messaging 11
The ebXML Framework at Work
• A hypothetical scenario– One customer, a retail chain store in the United States, does
business transaction with one supplier, who is selling orchids in India
• Assumptions:– The supplier has been already identified by the customer, and a
business contract is already in place between the partner regarding the economic and legal aspect of the deal.
– The supplier and customer are already aware of the ebXML Registry where the business-process for ordering, shipping, and payment are store.
– The supplier and customer are notified of references to the relevant business-process specifications and profiles in the registry through the exchanged RFQ, RFI, or other means
Beyond Messaging 12
The ebXML Framework at Work
• The transaction process is outlined in the following steps:1. The supplier queries the ebXML registry for the orchid
purchase, orchid ship, and orchid payment process specifications that exist in the registry. The process specification contains business collaboration specified using the ebXML BPSS.
2. The supplier implements services and actions required to support the business collaborations. The supplier may implement new BSIs to facilitate invocation of the services and actions. The services for the role of supplier may be Purchase Service, and actions of this service may be Receive new purchase order, Send Confirmation or Query Status.
Beyond Messaging 13
The ebXML Framework at Work
3. The supplier creates a profile of the services implemented. To define the profile, the supplier uses the ebXML CPP schema. The supplier’s schema is then registered and stored in the registry.The registry implements the model and interfaces specified in ebXML Registry.
4. The customer looks into ebXML Registry and finds the CPPs of the supplier and any intermediary.
Beyond Messaging 14
The ebXML Framework at Work
5. The customer starts a negotiation with the supplier for finalizing the technical contract for flowers.– This step matches the supplier and customer CPPs, as
published in the ebXML Registry. The contract covers only technical details required to send and receive interoperable, secure, and reliable message between the customer and supplier to allow invocation of services and actions the supplier and customer implement. These details are embodied in a CPA.
– If intermediaries are involved, the negotiation is also carried out with each intermediary, by customer and supplier, and appropriate CPAs are created.
Beyond Messaging 15
The ebXML Framework at Work
6. Both customer and supplier modify existing BSIs or create new BSIs to satisfy the newly created CPA, if necessary. – The Purchase service is executed using the BSI at each partner.
– For shipping and payment of the money, similar BSIs are created at each partner involved, and appropriate business processes are carried between the customer and supplier through intermediaries.
– The supplier uses a shipping intermediary to ship the orchids to the customer, and the customer makes the payment for the orchids through an intermediary, such as an international trade bank.
Phases in the Use of the ebXML Framework
Customer
Supplier
ebXMLRegistry
ProfilesProcessSpecifications
Registry Host1
2
Impl
emen
tatio
n
3
Intermediaries
The implementation phase
Phases in the Use of the ebXML Framework
The discovery phase
Customer
Supplier
ebXMLRegistry
ProfilesProcessSpecifications
Registry Host1
Impl
emen
tatio
n
4
5
Intermediaries
Phases in the Use of the ebXML Framework
The runtime phase
Customer
Supplier
ebXMLRegistry
ProfilesProcessSpecifications
Registry Host
Impl
emen
tatio
n
6
Intermediaries
Beyond Messaging 19
Components of the ebXML Framework
• Defining how public business-process must be described using the ebXML BPSS standard.
• Defining the semantics of business documents that are exchanged in public processes using ebXML’s Core Component (ebCC) standard.
• Definition of services and the constraints in using the services using Collaboration Protocol Profile (CPP) defined in the ebXML CPPA standard.
• Description of the mutual agreement between the business partners – Collaboration Protocol Agreement (CPA) – to carry out the public business process. The schema for a CPA is also defined by ebXML CPPA standard.
• Protocols for registering, storing, and retrieving public business processes and associated business documents, and CPPs using the ebXML Registry standard.
• A standard way to send and receive messages between business partners, as defined in the ebXML Message specification.
Beyond Messaging 20
The ebXML standards
BPSS
Registry
Repository
CC
CPP
CPA
MS
Business Process Business Document
Dis
cove
ry
Par
tner
Pro
file
and
Agr
eem
ent
Message Service
Beyond Messaging 21
Syntax binding
Standard Business Documents
• Instead of a syntax-based approach, the ebXML Core Components standard takes a semantic-based approach to defining business document.
Core Component
Business InformationEntity
EDI MIG XML Schema Other
UML Context
Beyond Messaging 22
Standard Business Documents
• A core component is a semantic element used for building the semantic structure of a business document.– E.g., the semantic structure of a purchase order will have semantic
elements such as item, quantify, and so on.
• A CC represent a single piece of business information, e.g., TAX.Amount.
• CC+context BIE (Business Information Entity)– A business context can be classified as belonging to a context
category.
– The ebXML CC standard specifies a few context categories, such as Industry Classification Category.
Beyond Messaging 23
Standard Business Documents
• For example, when the Business Process Context is Purchasing, and the Geographical Context is EU, a BIE of VAT.Amount has the same structure and type as Tax.Amount.– Thus, when purchasing in EU countries, Tax.Amount is
interpreted as Value Added Tax described as VAT.Amount.
Beyond Messaging 24
Standard Business Documents
• The ebXML CC standard specifies the core components in a core component catalog.
• Similarly a BIE catalog can be created to store BIEs.• The CCs and BIEs are described in UML and are stored in the
ebXML registry in the same format.• The UML representation of BIE may be converted into a variety
of syntactic representation ranging from EDIFACT MIG, XML Schema, XML DTD, and others.
• To find the unique semantics of each of the data elements appearing in a business document, a Unique Identifier (UID), which maps to an entry in the core component catalog , is used.
Beyond Messaging 25
Public Business Process Specification
• The ebXML BPSS provides an XML Schema for describing business processes.
• Advantages of XML-specified BP specifications– Being processed easily by computers
– Promoting unambiguous interpretation by software providers
– Improving interoperability
– Being less costly.
• A process specification expressed in BPSS is– declarative, and can be interpreted;
– Used to create a CPA, which, in turn, is used to created the BSI that is used to execute the business transactions.
Beyond Messaging 26
Discovery
• The business partners use the ebXML Registry to retrieve and store the business process descriptions, business documents, and CPPs.
• An ebXML Registry can be thought of as a warehouse, and a catalog for this warehouse.
• Registry Contents are classified by the Submitting Organization.• The classification can be done using one or more classification
scheme, each with its own taxonomy. An SO may submit its own taxonomy as well.
• E.g., NAICS (North American Industry Classification System) classification scheme can be used to– Register a company as a book-publishing company by registering
with the NAICS code of 511130.
Beyond Messaging 27
Discovery
• The ebXML Registry does not restrict the type of registry contents that an SO can register and store. Some examples of information:– Company name, brand name, products, and services.– EDI implementation guidelines– UML diagrams (for information models or business-process models
as in UMM)– Core component catalog– Business information entity catalog– Data dictionary– Business-process specifications– Collaboration protocol profiles and agreements– Images
Beyond Messaging 28
Partner Profiles and Agreements
• The ebXML Collaboration Protocol Profile and Agreement (CPPA) provides templates to define a CPP and a CPA using XML Schema.
• The CPP has two layers– A process-specification layer
• The information about a party and the business process specification the party supports
– A delivery-channel specification layer• The characteristics of the channels available for message delivery so
that the services described in the business-process specification cab be invoked.
Beyond Messaging 29
Partner Profiles and Agreements
• The process-specification layer contains the references to one or more process specifications.– The business process may be specified using ebXML BPSS.
– The business process may typically specified by an industrial consortium.
– The role the party is going to play in the business process is identified in the CPP
• The delivery-channel layer contains – a specification of the attributes of transport protocol (e.g., HTTP, or
SMTP) used in transporting messages, and
– the specification of document-exchange characteristics.
Beyond Messaging 30
Interoperable Messaging
• The interoperable messaging component of the ebXML framework is specified in the ebXML Message Service Specification (MS).
• The ebMS provides the syntax and semantics of the message structure, which consists of a message header, body and attachments.
• The message header includes information about– Who is sending the message,– Who is the message intended for,– Which CPA the message conforms to,– The message ID,– A Conversation ID, and so on.
• The header contains optional reliability messaging parameters– Whether an ack is required,– How many times a message needs to be retried in case a message is not
received, and so on
• The header also contains optional digital signatures to ensure its integrity.
Beyond Messaging 31
Interoperable Messaging
• The ebMS uses existing technology as much as possible.– SOAP 1.1 for message structure,
– SOAP with attachments and Multipurpose Internet Mail Extension (MIME) specification for packaging, and
– XML signature for the digital signature.
• The ebMS specifies binding to HTTP and SMTP protocols for carrying the message.
• The message communication can be synchronous and asynchronous, and is defined independently of the underlying transport protocols.
Beyond Messaging 32
Binary Collaboration
Role Buyer: Role Seller:
Create Purchase Order
Create PO Update Notification
[SUCCESS] [FAILURE]
Beyond Messaging 33
[ITEM PENDING]
Request Purchase Order
[FAILURE]
[SUCCESS]
Purchase Order Request
Buyer Seller
[ITEM PENDING]
Process Purchase Order Update
Purchase Order Confirmation
Confirm Purchase Order
Notify Purchase Order Update
[SUCCESS]
[FAILURE]
Purchase Order Update Notification
Beyond Messaging 34
<<BusinessTransactionActivity>>
Initiating Role Buyer: Role Seller:
<<BusinessTransaction>>
Create Purchase Order
RequestPurchaseO
rderAction
<<RequestingB
usinessActivity>>
Confirm
PurchaseOrderA
ction<<R
espondingBusinessA
ctivity>>
Request Purchase Order Request:
AcceptanceAcknowledgement Signal
ReceiptAcknowledgementSignal
Response Purchase Order Confirmation:
AcceptanceAcknowledgement Signal
ReceiptAcknowledgementSignal