Title: The%20collaborative%20framework%20ebXML
1-
- The collaborative framework ebXML
- Cristiano Novellicristiano.novelli_at_bologna.ene
a.it
2Modules Summary
- 1. ebXML architecture overview
- 2. ebXML Business Process
- 3. CPP/CPA Collaboration Protocol
- 4. ebMS Messaging System
- 5. freebXML initiative
- 6. ebXML and Web Services
3Module 1 ebXML architecture overview
- In this first module we will examine
- what ebXML is and its history
- which characteristics ebXML offers and does not
offers - how ebXML works (a simple use case)
- the main elements of the architecture
- how to implement ebXML in four phases
- benefits of ebXML
4ebXML overview
- ebXML (electronic business using XML, ebXML)
- ebXML is a set of specifications that together
enable a modular, yet complete, XML-based,
electronic business framework. - The vision of ebXML is to create a single global
electronic marketplace where enterprises of any
size and in any geographical location can meet
and conduct business with each other through the
exchange of XML based messages. ebXML enables
anyone, anywhere, to do business with anyone else
over the Internet. - ebXML started in 1999 as a joint initiative
between the United Nations Centre for Trade
facilitation and Electronic Business (UN/CEFACT)
UN/CEFACT and the Organization for the
Advancement of Structured Information Standards
(OASIS) OASIS. - The International Standards Organization (IS0)
has approved, in March 29 2004, a suite of four
ebXML OASIS Standards (ISO/TS 15000) CPISO
5What ebXML offers and does not offer
- ebXML offers - a set of standard specifications
to reach up P2P collaborations (in B2B but also
in eHealth and eGovernment) - a methodology to
build a set of templates of XML documents based
on common components- a communication protocol
for P2P secure and reliable communications - a
set of XML specifications to represent
collaborative processes, company profiles and
intercompany agreements - ebXML does not offer - a set of reference
business processes for B2B- a set of predefined
standard XML documents to be exchanged - a
software implementation (but open-source software
implementation are available in freebXML
FREEBXML initiative and others) - a specific
sectorial domain solution
6ebXML Use Case
7The collaborative framework 1/2
- (comments of the Use Case Scenario figure)
- Company A will first review the contents of an
ebXML Registry, especially the Core Library which
may be downloaded or consulted on-line. The Core
Library (and maybe others registered Business
Processes) will allow Company A to determine the
requirements for their own implementation of
ebXML. - Company A can build or buy an ebXML
implementation suitable for its ebXML
transactions. The hope of the ebXML initiative is
that vendors will support all of the elements of
ebXML. At such time, an "ebXML system" might be
little more than a commercial desktop
application. Or maybe, more realistically, the
ebXML system will at least be as manageable as a
commercial database system. - The next step is for Company A to create and
register a profile (CPP) with the Registry.
Company A might wish to contribute new Business
Processes to the Registry, or simply reference
available ones. The CPP will contain the
information necessary for a potential partner to
determine the business roles in which Company A
is interested, and the type of protocols it is
willing to engage in for these roles.
8The collaborative framework 2/2
- (comments of the Use Case Scenario figure)
- 4. Once Company A is registered, Company B can
look at Company A's CPP profile to determine if
it is compatible with Company B's CPP profile and
requirements. - 5. At that point, Company B should be able to
negotiate a CPA agreement automatically with
Company A, based on the compatibility of the
profiles CPPs, plus agreement protocols, given as
ebXML standards or recommendations. - 6. Finally, the two companies begin actual
transactions. These transactions are likely to
involve Business Messages conforming to further
ebXML standards and recommendations. ebXML will
have helped in agreeing to, monitoring, and
verifying the "real-world" activities (for
example, the shipment of goods from one place to
another, or the rendering of services).
9Architecture Elements
- Core Components
- Registry / Repository
- Business Process Specification Schema
- Collaboration Protocol Profile and Agreement
- Messaging Service
10a. Core Components
- Core Components are intended to be the basic
information elements used in business messages
(e.g. name to define a Party name) - CC are reusable data elements that identify some
abstract concept and require business context
before they can be used in practice (e.g. U.S.
address is the address concept in U.S.
context) - Business Context is a mechanism for qualifying
and refining Core Components according to their
use under particular business circumstances. Once
Business Contexts are identified, Core Components
can be differentiated to take into account any
necessary qualification and refinement needed to
support the use of the Core Component in the
given Business Context - ebXML dont provide a standard XML format for the
data exchange but, through the CC, it is possible
to define it - e.g. UBL (Universal Business Language) UBL is a
standard format XML-based it defines Business
Information Entities (BIEs), which are
contextualized Core Components, to allow the
definition of generic and cross-sectorial
business messages
11b. Registry / Repository
- The registry is a database of items that support
doing business electronically - Technically speaking, a registry stores
information about items that actually reside in a
repository. The two together can be thought as a
database - Items in the repository are created, updated, or
deleted through requests to the registry - The specific implementation of the
registry/repository database is not specified,
but only how other applications interact with the
registry (registry services interfaces) and the
minimum information model (the types of
information that is stored about the registry
items) that the registry must support - Examples of items in the registry might be XML
schemas of business documents, definitions of
library components for business process modeling,
and trading partner agreements - A goal of the ebXML registry is to support a
fully distributed, networked set of interacting
registries that would provide transparent
interaction to any ebXML compliant registry by
interfacing with each of them
12c. Business Process Specification Schema
- A Specification Schema provides the definition of
an XML document that describes how an
organization conducts its business - While the CPA/CPP deals with the technical
aspects of the electronic business, the
Specification Schema deals with the actual
business process - It identifies things like the overall business
process, the roles, the transactions, the
identification of the business documents used
(the DTDs or schemas), the document flow, the
legal and security aspects and the business level
acknowledgments - The Specification Schema can be formalized
with- UN/CEFACT's Modeling Methodology (UMM)
UMM, UML-based - OASIS ebXML Business Process
(ebBP) ebBP, XML-based - A Specification Schema can be used by a software
application to configure the business details of
conducting business electronically with another
organization
13d. Collaboration Protocol Profile (CPP) and
Agreement (CPA)
- The Collaboration Protocol Profile (or CPP)
- - provides the definition (DTD and W3C XML
schema) of an XML document that specifies the
details about the capability of an organization
to conduct electronic business - - specifies how to set contacts and other
information about the organization, the types of
network and supported file transport protocols,
network addresses, security implementations and
how it does business (references to one or more
Business Process Specifications) - The Collaboration Protocol Agreement (or CPA)
- - specifies the details that two organizations
have agreed to conduct business electronically - - is built by combining the CPPs of the two
organizations - - can be used by a software application to
configure the technical details of conducting
business electronically with another organization
- The CPA/CPP specification discusses the general
tasks and issues in creating a CPA from two CPPs.
However, for various reasons it doesn't specify
an actual algorithm for doing it
14e. Messaging Service (ebMS)
- The ebXML Message Service (ebMS) defines the
message enveloping and header document schema
used to transfer ebXML messages over a
communications protocol and the behavior of
software sending and receiving ebXML messages - This provides a standard way to exchange business
messages between organizations - It provides for means to exchange a payload
(which may or may not be an XML business
document) reliably and securely - It also provides means to route a payload to the
appropriate internal application once an
organization has received it - The messaging service specification does not
dictate any particular file transport mechanism
(such as SMTP, HTTP, or FTP) or network for
actually exchanging the data, but is instead
protocol neutral
15ebXML implementation
- To implement an ebXML collaborative framework we
describe the four needed phases, grouped in two
main step setup and execution - Framework Setup (preparation step)1. the
community organization defines the Business
content and configure an ebXML Registry,2. the
parties that want to participate to collaborative
framework create their CPP profile and register
it into the ebXML Registry - Execution (operative step)3. the parties
achieve a Collaboration Agreement,4. at this
point the real Business Collaboration can begin
(operative phase) - In the next four slides we describe in details
these four phases
16Phase 1. Business content definition
- The business contents definition is job of a
community organization (i.e. consortiums,
associations, etc.) - Business contents
- Business Documents describe sets of standard
business information (for example Order
document) that enterprises will exchange ebXML
does not define business documents but provide a
methodology and the core components, to make them - Business Processes describe the roles and the
business documents flow related to trading
processes (for example Supply Product X
business process) - The business content are stored into the ebXML
Registry and are available for the users community
17Phase 2. CPP creation
- Each enterprise, that intends to join the
collaborative framework, defines its own XML
Collaboration Protocol Profile (through ebXML CPP
standard) - Each profile identifies
- - the party business capabilities related to one
or more collaborative business processes (for
example which business documents it supports)-
the technical capabilities to send and to receive
business documents through internet (for example
transport protocol, certificate, cryptography
algorithm, etc.) - The collaboration protocol profiles are stored
into the ebXML Registry
18Phase 3. CPA achievement
- Two enterprises may decide to do business if they
support a common subset of documents, processes
and transports that have been declared into the
CPP profile - The way to achieve a business agreement is the
CPPs profiles comparation the result of this
negotiation process is described throught an
ebXML Collaboration Protocol Agreement (CPA) - The negotiation process checks if two parties are
compatible to begin a business collaboration - The CPA can be digitally signed to acquire legal
value
19Phase 4. Begin Business Collaboration
- The CPA describes the achieved agreement between
two parties on - - complementary capabilities related to one or
more business processes that describe the
messages workflow - - common technical capabilities to send and to
receive business documents on the same delivery
channel - The software applications, handling business
messages exchange (Message Service Handlers), use
the CPA agreement as configuration file to
automatically initialize its own setting - The operative business collaboration can begin
20Summary of the four phases
UBL
ebBP
1
- 1. An organization (association, community)
defines the business documents (e.g. UBL) and
processes of the framework
2
2. Each enterprise makes or adjusts its own CPP
profile
3
CPP
CPP
CPA
3. Each couple of enterprise negotiates a CPA
agreement.
4
4. Messages exchange can start
ebMS
21ebXML benefits
- ebXML
- enables a complete XML-based collaborative
framework - is modular, therefore a community can adopt even
one ebXML standard only - integrates the most diffused web technologies
- is data format independent (e.g. it is possible
to use UBL UBL, MODA-ML MML, HL7 CDA CPCDA,
etc.) - is platform independent
- is communication protocol independent
- is development languages independent
- is accessible to SMEs (low cost of adoption)
22Module 1 Conclusions
- In this first module we have discussed about
- ebXML overview, definition and history
- what ebXML is and what ebXML isnt
- an ebXML use case scenario
- the specifications and standards that compose the
ebXML framework - the four phases to perform to implement ebXML
- the benefits from the use of ebXML
23Test Module 1 Question 1
- ebXML
- is a new metalanguage, XML competitor
- is a set of standards to provide an electronic
business framework - is a new standard organization for new XML-based
standard - is a set of XML messages established between
OASIS and UN/CEFACT - allows enterprises in any geographical location
to meet and conduct business each other
24Test Module 1 Question 2
- ebXML
- can be used in eHealth sector
- is a software implementation for information
exchange for e-business - offers a communication protocol for P2P secure
and reliable communications - is a specific sectorial domain solution
- offers a set of predefined standard UBL documents
to be exchanged
25Test Module 1 Question 3
- About the ebXML use case scenario
- It is a description of the phases to perform to
achieve a business collaboration through ebXML - The ebXML Registry allows the search for an ideal
party - The ebXML Registry allows parties to examine
public Core Library to determine the requirements
for ebXML implementation - A CPA agreement is based on the compatibility of
two CPP profiles - A CPP profile is based on the compatibility of
two CPA agreements
26Test Module 1 Question 4
- About the elements of the ebXML architecture
- The Core Components are the basic information
elements used in the business messages - The ebXML registry is a file descriptor
- The collaboration protocols, CPP and CPA, allow
the parties to describe business profiles and to
achieve business agreements - The standard ebBP allows to describe business
processes - The ebMS standard is protocol neutral, is not
bound to a specific file transport mechanism
(such as SMTP, HTTP, or FTP)
27Test Module 1 Question 5
- About the ebXML implementation
- to implement ebXML is not necessary a setup of
framework - the business contents are stored into the system
of each party only, not in the ebXML Registry - the CPP profile creation and registration is an
operation located in the operative phase of
framework - the CPP profile identifies the technical
capabilities to send and to receive business
documents - the Message Service Handler (MSH) uses the CPA
agreement as configuration file to automatically
initialize its own setting
28Test Module 1 Responses
- The true responses
- Question 1 3,5
- Question 2 1,3
- Question 3 1,2,3,4
- Question 4 1,3,4,5
- Question 5 4,5
29Summary
- 1. ebXML architecture overview
- 2. ebXML Business Process
- 3. CPP/CPA Collaboration Protocol
- 4. ebMS Messaging System
- 5. freebXML initiative
- 6. ebXML and Web Services
30Module 2 ebXML Business Process
- In this module we will examine the ebXML standard
ebBP. In particular - Definition of ebXML Business Process (ebBP) and
explanation of what ebBP is - Key concepts of ebBP
- Business Transaction concept in the business
process context - Business State concept
- XML representation of ebBP
31ebBP (ebXML Business Process)
- Def ebXML Business Process (ebBP) provides a
standards-based business process foundation that
promotes the automation and predictable exchange
of business collaboration definitions using XML - A business process (e.g. Product X Supply) can
be formally rappresented through an XML document
with ebBP XML standard ebBP (ebXML Business
Process Specification Schema).
Messages
Frontend
Frontend
Enterprise B
Enterprise A
Order
Buyer
Supplier
Order Response
32ebBP Key Concepts 1/3
33ebBP Key Concepts 2/3
- The follow key concepts are used to describe a
Business Collaboration with ebBP standard - Party (Parter) A Party is an entity such as a
company, department, organisation or individual
that can generate, send and receive Documents
(e.g. Enterprise Bianchi S.p.A.) in the
collaboration. - Role The named specific behaviour of an entity
participating in a particular context. A Party
can play one or more roles in one or more
business process (e.g. role Supplier in
Product X Supply business process ) - Business Document The set of information
components that are exchanged as part of a
business activity between two roles - Document Flow set of business documents
exchanged between two parties - Business Action Document (e.g. Order document)
sending or receiving action and related business
signals - Business Signal Message that allows the
synchronization between parties during
communication (e.g. Receipt Acknowledgement) - Business Transaction A business transaction is a
logical unit of business conducted by two or more
parties that generates a computable success or
failure state. A business transaction is a
Business Action pair (e.g. the Purchase Order
business transaction is composed from Order and
Order Response business documents and signals
for synchronization).
34ebBP Business Transaction
- Def A business transaction is an atomic unit of
work and cannot be decomposed into lower-level
business transactions. Each business transaction
is expressed as an exchange of electronic
business documents, i.e. one or two predefined
business document flows. - A Business Transaction is performed by 2 roles
- Requester is the role that sends a request
- Responder is the role that sends the response
Request (e.g. Order)
Supplier (Responder Role)
Buyer (Requester Role)
Response (e.g. Order Response)
Business Transaction Purchase Order
35ebBP Key Concepts 3/3
- Business Activity A business activity (BA) is
used to represent the state of the business
process of one of the partners. A business
activity is the execution of a single business
transaction, or business transaction set, with a
predefined TimeToPerform. When TimeToPerform
temporal limit expires the transaction becomes
invalid. - Choreography Choreography is a declaration of
the activities within a collaboration and the
sequencing rules and dependencies between these
activities. In others words a choreography
describes behaviour and rules set for the roles
of the business process, therefore each actor
knows precisely what to do in each moment of the
collaboration (which next business state to
perform after the completion of the current
state). - Business Transition A business transition
specifies the passage from a business state to
another business state. This passage can happens
under predefined condition expressions. - Condition Expression The condition expressions
allow to describe the business process workflow,
context dependent (e.g. an expression condition
can check the element value of a received
document and then decide the next business state) - Gateway The gateway is a particular mechanisms
to describe transitions from one business state
to two business states (Decision), from one
business state to many business states (Fork),
from many business states to one business state
(Join). Also these mechanisms can use the
condition expression.
36ebBP Business State
- Business states Start, BusinessActivity (BA),
- End Successful, End Failure
- A business transition from a generic state S1 to
generic state S2 can happen when the business
transaction, S1 related, is in the completation
state - The choreography defines the business process
workflow as business transition set. - An ebBP XML istance can be used to configure a
workflow machine - The business process at the right side is
expressed with the BPMN BPMN notation. The
Create Order and Notify Shipment business
transactions are also business states
BPMN notation BPMN
37ebBP XML Representation 1/3
- The ebBP XML representation is based on a
composition approach - The composition approach allows to define
(before) the business process key concepts and
then to coordinate (after) these elements by
referencing - The vantage of composition approach is the power
to divide the whole collaboration in more little,
simples, indipendents and reusables
sub-processes - Conceptually, we can divide the ebBP XML
representation in three main levels1. business
documents definition2. business transactions
definition3. business collaboration definition - Each level is defined by costruction of concepts
of previous level - business documents are
defined - business transactions refer the
defined business documents- business
collaboration refer the defined business
transactions- business collaboration can refer
defined business collaboration, representation of
reusables sub-processes - In this way ebBP defines the basic concepts in
different abstraction levels and then riuses this
concepts (one or more time)
38ebBP XML Representation 2/3
- The main XML elements to define an ebBP
representation - BusinessDocument (BD) (for example we can define
the XML elements for the Order and Order
Response business documents) - BusinessTransaction (BT) (for example we can
define a Purchase Order business transaction
XML element that refer the Order and Order
Response BD) - BusinessCollaboration (BC) (for example we can
define a Product X Supply business process that
refer the Purchase Order business transaction
XML element) - Different BusinessCollaboration elements can
refer same business transaction one or more time
and different business transactions can refer the
same business document one or more time. - The BusinessCollaboration XML element refers the
BusinessTransaction XML elements by
BusinessTransactionActivity definition.
Therefore, the BusinessTransactionActivity is the
execution of a business transaction - The BusinessTransactionActivity represent a
business state - The BusinessCollaboration XML element also
specifies the choreography through roles
definition, transition definitions, gateways,
condition expressions - In the next slide we will show the XML syntax of
an example of ebBP representation
39ebBP XML Representation 3/3
ltProcessSpecification nameProduct X Supply
uuidprocID-X gt ltBusinessDocument
name"Order" nameIDbd-123gt ltSpecification
locationhttp//.../order.xsd /gt
lt/BusinessDocumentgt ltBusinessDocument
nameOrder Response" nameIDbd-124gt
ltSpecification locationhttp//.../orderrespons
e.xsd /gt lt/BusinessDocumentgt
ltBusinessTransaction namePurchase Order"
nameIDbt-25gt ltRequestingBusinessActivity
gt ltDocumentEnvelope businessDocumentRefb
d-123 /gt lt/RequestingBusinessActivitygt
ltRespondingBusinessActivity gt
ltDocumentEnvelope businessDocumentRefbd-124
/gt lt/RespondingBusinessActivitygt
lt/BusinessTransactiongt ltBusinessCollaboration
nameProduct X Supply gt ltRole
nameSupplier /gt ltRole nameBuyer /gt
ltStart nameIDstate1 /gt ltCompletation /gt
ltSuccess /gt ltBusinessTransactionActivity
businessTransactionRefbt-25 /gt
ltTransition /gtltDecision /gtltFork /gt
lt/BusinessCollaborationgt lt/ProcessSpecificationgt
40Module 2 Conclusions
- In this module we have discussed about
- what ebXML Business Process (ebBP) is, a standard
for the XML rappresentations of business
collaborations - the main key business concepts of ebBP Parter
(Party), Role, Document, Document Flow, Action,
Signals, Transaction, Activity, Choreography,
Transition, Condition Expression, Gateway, States - XML representation of ebBP in terms of
composition and reusability
41Test Module 2 Question 1
- ebBP
- is acronym of ebXML Business Profile
- is a standard to describe business documents
- is a standard to describe core components
- is a standard to describe business processes
- can not be formally rappresented through an XML
syntax
42Test Module 2 Question 2
- About the ebBP key concepts
- a party is an entity, such as a company, that can
generate, send and receive documents in a
business collaboration - a party can play one or more roles in one or more
business process - two o more parties exchange information through a
set of business documents - during communication between two parties it is
necessary a synchronization, for this scope the
business signals are used - a business transaction is, for example, a request
document, a response document and the business
signals
43Test Module 2 Question 3
- Again about the ebBP key concepts
- a business activity (BA) is used to represent the
state of the business process of one of the
partners - the choreography is a XML Schema list related to
the business documents that the party can use in
the business process - the choreography describes behaviour and rules
set for the roles in the business process - the transitions, descripted in the choreography,
specifies the passage from a business state to
another business state - the condition expressions is not related to the
workflow of business process - the gateway is not related to the workflow of
business process
44Test Module 2 Question 4
- About the XML representation of ebBP
- BusinessCollaboration, BusinessTransactionActiv
ity, BusinessProcesses and BusinessDocument
are names of XML elements of ebBP standards - the approach used is the composition and
reusability of XML elements - an element BusinessTransaction can recall two
business documents by a reference identifier - a Business Transaction is composed by a
requesting and a responding business activities - the choreography is specified inside the
BusinessDocument element - the choreography is specified in the
BusinessCollaboration element
45Test Module 2 Responses
- The true responses
- Question 1 4
- Question 2 all
- Question 3 1,3,4
- Question 4 2,3,4,6
46Summary
- 1. ebXML architecture overview
- 2. ebXML Business Process
- 3. CPP/CPA Collaboration Protocol
- 4. ebMS Messaging System
- 5. freebXML initiative
- 6. ebXML and Web Services
47Module 3 CPP/CPA Collaboration Protocol
- In this module we will examine
- General description of ebXML profile CPP and the
ebXML agreement CPA - the standard ebXML Collaboration Protocol Profile
CPP and its functionalities - XML representation and structure of CPP, in
particular- CollaborationRole element to
specify characteristics related to one or more
business processes described with ebBP-
DeliveryChannel element to specify the data
transmission channels and related security
characteristics - the standard ebXML Collaboration Protocol
Agreement CPA and its functionalities - ebBP, CPP and CPA relationship
- multiparty business collaboration use case
scenario
48CPPA
- ebXML Collaboration Protocol Profile (CPP) and
ebXML Collaboration Protocol Agreement (CPA) are
part of the same technical specification CPPA
and are standard ISO TS 15000-1 CPISO - CPP business profile to describe party
information - CPA business agreement to describe two parties
that want to collaborate and to exchange
information in the same business collaboration - The ebXML CPP and CPA specification is defined by
the same XML syntax (see the OASIS CPPA TC
CPPA) therefore, both CPP and CPA instances
are validated against the same XML Schema - The CPPA standard allows to specify
- Party information (e.g. name, URL, id)
- Business process customization (ebBP related)
- Business documents packaging
- Delivery channel (transport protocols, message
envelope) - Security details
49CPP (Collaboration Protocol Profile)
- Each enterprise defines its own CPP profile to
partecipate to the collaborative framework - Each enterprise defines in its own profile
- How to execute the business process (ebBP)
- Which communication and security protocols are
available - The enterprise publishes its own business profile
to an ebXML Registry
Messages
CPPProfile A
CPPProfile B
Frontend
Frontend
Enterprise B
Enterprise A
ebBP (o BPSS) Processo di Business
ebBP Business Process
50CPP XML Representation 1/2
- The main sections of XML structure of CPP
- CollaborationRole describes the Partys role in
the supported business process that, usually, is
represented with ebBP (e.g. Party can describe in
its own profile that play the role Supplier in
Product X Supply business process) - 2. DeliveryChannel specifies delivery channels
for the messages. DeliveryChannel is defined as
transport and messaging protocols combination - Transport available transport protocols (e.g.
HTTP, SMTP, etc.) for messages sending and
receiving, endpoint related, authentication and
security characteristics. - DocExchange specifies the message envelope type
(e.g. ebMS, WS) and reliable messaging protocol
related (e.g. XML Signature e XML Encryption) - Packaging defines business message structure by
costituents composition list - In the next slide we will show the XML syntax of
general structure of CPP representation
51CPP XML Representation 2/2
- ltCollaborationProtocolProfilegt
- ltPartyInfogt
-
- (ltCollaborationRolegt)
-
- (ltDeliveryChannelgt)
- (ltTransportgt)
- (ltDocExchangegt)
-
- lt/PartyInfogt
-
- (ltPackaginggt)
-
- lt/CollaborationProtocolProfilegt
52CPP CollaborationRole 1/2
- In a collaboration Profile CPP, each
CollaborationRole element describes how the party
will play a business role related to a business
process specified by an ebBP - The CollaborationRole characteristics
- name, uuid, url of the specified ebBP
- role played by Party
- business actions, described in the ebBP, that
Party wants to support. Each business action is
the sending or receiving of a business document - For each supported business action it is
necessary to specify - - a predefined delivery channel
- - a predefined packaging
- - business transaction characteristics (e.g.
authentication, non repudiation, time to perform,
etc.) - If the Party changes or adds business services
(e.g. new delivery channels) he updates and
changes its own collaboration profile
53CPP CollaborationRole 2/2
ltCollaborationRolegt ltProcessSpecificationnamePr
oduct X Supply uuidprocID-X hrefhttp//www
.community.org/ebbp/procID-X.xml/gt (ltRolegt)
ltServiceBindinggt (ltServicegt)
(ltCanSendgt) (ltCanReceivegt) lt/ServiceBindinggt
lt/CollaborationRolegt
54CPP DeliveryChannel
- Each DeliveryChannel XML element describes the
sending/receiving characteristics for a
particular channel - Each channel is a Transport - DocExchange
combination
Delivery Channel DC1
Delivery Channel DC2
Delivery Channel DC3
Transport T1
Transport T2
Transport T3
Doc.Exch. X1
Doc.Exch. X2
Doc.Exch. X3
55CPP DeliveryChannel Examples
- DC1 and DC2 are totally compatibles
- DC1 and DC3 are partially compatibles
Delivery Channel DC1
Delivery Channel DC2
Delivery Channel DC3
Transport T1
Transport T2
Transport T3
SMTP HTTP
Sending Receiving
HTTP SMTP
HTTP HTTP
Doc.Exch. X1
Doc.Exch. X2
Doc.Exch. X3
ebMS ebMS
ebMS ebMS
Sending Receiving
WS ebMS
56CPP Channel Security
- XML elements related to security SEC
- Certificate this XML element specifies the set
of keys used in the encryption process to sign
and encode messages - Transport the Transport XML element contains XML
subelements to define the security
characteristics related to transport protocol
(e.g. SSL or TLS parameters) - DocExchange the DocExchange XML element contains
XML subelements to specify message exchange
security characteristics - - message signature Digital signature (e.g. XML
Signature XMLDS) is used to ditally sign the
ebXML envelope and payload to guarantee the
message non-repudiation - - message encryption Encryption (e.g. XML
Encryption XMLENC, default choice in ebXML) is
used to encode/decode ebXML envelope and payload
to guarantee privacy during the data trasmission
57CPA (Collaboration Protocol Agreement)
- Each couple of enterprises that want to set up a
business collaboration tries to achieve an
agreement. The Collaboration Agreement can be
achieved from the comparison of two CPPs and
formalized with the ebXML CPA standard protocol - The CPPs comparison is a negotiation process to
obtain the CPA agreement resolving the potential
incompatibilities and ambiguities - Compatible XML elements of profiles are inserted
into the CPA
Messages
CPPProfile A
CPPProfile B
Frontend
Frontend
Enterprise B
Enterprise A
CPA Collaboration Agreement
ebBP (o BPSS) Processo di Business
ebBP Business Process
58ebBP, CPP and CPA relationship
- An ebBP describes a business process in order to
obtain a general rappresentation, expression of
all possible parties interactions, all possible
exchange of business documents, all possible
roles that a party can play in this process. ebBP
is a description of what is possible in the
business collaboration - A CPP describes a single enterprise relatively to
one or more business processes. In the profile,
for each specified business process, the
enterprise defines which characteristics will
support and how will execute the process. CPP is
a description of what the enterprise can do - A CPA, result of CPPs comparison, describes the
achieved agreement between two parties. CPA is a
description of what the enterprises will do
toghether, CPA is a representation of supported
and complementary characteristics for a
particular business collaboration between two
parties
Possibility What is possible - ebBP
Capability What the enterprise can do - CPP
Agreement What the enterprises agree to do
together - CPA
59Multiparty Business Collaboration 1/3
- To establish a business collaboration
- each party defines its own CPP profile
- all (communicating) parties have the same
business process reference (ebBP), the business
process describes the document flow among their
roles
MSH
CPP B
Party B
MSH
CPP A
Party A
60Multiparty Business Collaboration 2/3
- The parties have to establish an agreement to
obtain a CPA by CPPs comparison, resolving
ambiguity and incompatibility. - The CPA can be used as configuration file by a
Message Service Handler (MSH), that is the
enterprises front-end for documents exchange. - The CPA contains all needed information to
configure the business collaboration
MSH
CPA A-B
CPP B
Party B
MSH
CPA A-B
CPP A
Party A
61Multiparty Business Collaboration 3/3
- Each (communicating) couple of parties has to
achieve a CPA agreement - Each CPA is locally stored by the involved
enterprises. CPA represents, for a party, a
collaboration agreement with another party. CPA
can be changed, updated, reutilized by involved
parties
MSH
CPA B-C
CPA A-B
CPP B
Party B
MSH
CPA A-C
CPA A-B
CPP A
Party A
MSH
CPA B-C
CPA A-C
CPP C
Party C
62Module 3 Conclusions
- In this module we have discussed about
- General description of ebXML standard CPPA,
composed by CPP and CPA - XML structure and representation of CPP and CPA,
in particular CollaborationRole,
DeliveryChannel, Transport, DocExchange,
Packaging XML elements - ebBP, CPP and CPA relationship
- a Multiparty Business Collaboration use case
scenario
63Test Module 3 Question 1
- About CPP and CPA
- are an ebXML standard
- are a W3C standard
- are an ISO standard
- are a XML-based standard with the same XML Schema
- CPP allows two parties to describe their business
agreement - CPA allows each party to describe its own
business profile - CPA allows to specify transport protocols that
the parties will use to exchange information
64Test Module 3 Question 2
- The CPP
- is a business profile (one for each party)
- is a business agreement (one for each couple of
party) - describes communication and security protocols
available for the party - describes the ebXML Registry services
- describes which business processes the party will
perform
65Test Module 3 Question 3
- About XML elements of CPP
- CollaborationRole describes the business messages
structure - CollaborationRole describes the role that the
party will play related to a predefined business
process - DeliveyChannel describes the role that the party
will play related to a predefined business
process - DeliveyChannel describes channels used to send
and to receive the messages - Packaging describes the business processes
- Packaging describes transport protocols
characteristics
66Test Module 3 Question 4
- About CollaborationRole XML element
- refers two ebBP file by CPA
- refers an ebBP file by url
- allows to the user to declare which channel will
be used with each message - allows to the user to declare which business
processes are supported - allows to the user to declare which business
documents are supported
67Test Module 3 Question 5
- About DeliveryChannel XML element of CPP
- Is a combination of Transport and
CollaborationRole XML elements - Is combination of Packaging and DocExchange XML
elements - two channels are compatibles if the sending
characteristics of the first are coherents with
receiving characteristics of the second - two channels are compatibles if the receiving
characteristics of the first are coherents with
sending characteristics of the second - two channels are not compatibles if the transport
protocol is HTTP only - the subelement DocExchange allows to specify
Digital signature and encryption characteristics
for the channel
68Test Module 3 Question 6
- The CPA
- is a business profile (one for each party)
- is a business agreement (one for each couple of
party) - describes communication and security protocols
available for the couple of parties - describes the ebXML Registry services
- describes which business processes the couple of
parties will perform
69Test Module 3 Question 7
- About the Multiparty Business Collaboration use
case scenario - an ebBP describes a business process common to
all parties - Each couple of parties establish an agreement CPA
from two CPP - Each CPA is a description of communication
between two parties - Each CPA is a description of communication among
three parties - Each party has itw own CPP profile and a CPA
agreement for each communicating parter
70Test Module 3 Responses
- The true responses
- Question 1 1,3,4,7
- Question 2 1,3,5
- Question 3 2,4
- Question 4 2,3,4,5
- Question 5 3,4,6
- Question 6 2,3,5
- Question 7 1,2,3,5
71Summary
- 1. ebXML architecture overview
- 2. ebXML Business Process
- 3. CPP/CPA Collaboration Protocol
- 4. ebMS Messaging System
- 5. freebXML initiative
- 6. ebXML and Web Services
72Module 4 ebMS Messaging System
- In this module we will examine
- general description of ebXML Message Service
(ebMS) - ebMS technical specifications overview
- ebMS envelope
- the business transaction concept in the message
service context - ebMS reliable protocol messages exchange simple
and complex scenarios
73ebMS (ebXML Message Service) 1/3
- ebXML Message Service (ebMS) provides a way for a
reliable business documents exchange - ebMS 2.0 specification ebMS is an ebXML
standard and ISO TS 15000-2 standard CPISO - ebMS is- communication protocol indipendent
(e.g. it can be applied on different protocols
HTTP, SMTP, FTP, etc.) - message content
indipendent (e.g. it can contain EDI document,
XML document, etc.)
Messages
ebMS Envelope
DOC
MSH
MSH
Enterprise B
Enterprise A
- ebMS is based on preexistent and more diffused
XML security technologies (e.g. XML Signature
XMLSIGN and XML Encryption XMLENC) - The ebMS 3.0 Core specification, approved as a
Committee Specification on 12 July 2007,
introduces web services integration using other
preexistent security specifications (e.g.
WS-Security WSS and WS-Reliability WSR)
74ebMS (ebXML Message Service) 2/3
- ebMS specification defines1. message structure
- 2. messages exchange characteristics (messaging
service) - The ebXML message structure header is defined
with XML syntax (SOAP Message with Attachments
SOAPATT) but the message body (payload) is not
expressed necessarily in XML (e.g. binary files) - The messaging service is composed of
- Access service abstract interface
- Message Service Handler (MSH) to sign, to
encrypt and to package the message - Communication protocol binding (e.g. HTTP, SMTP,
FTP)
Messages
DOC
MSH
MSH
Azienda B
Azienda A
75ebMS 3/3
- The ebXML message makes use of SOAP with
Attachment, therefore it can be sent on the most
diffused communication protocols - The message is constituted of a SOAP Envelope
and one or more Payload Container - The SOAP Envelope contains - Header message
check information - Body descriptor of the
content of the Payload Containers - Each Payload Container contains a single
document to be sent - The Business Documents contain business
information to be sent to the receiver of the
message
ebMS 2.0 Message Structure
76ebMS Business Transaction
- Def A business transaction is a logical unit of
business conducted by two or more parties that
generates a computable success or failure state" - The ebMS specification, like ebBP, defines a
transaction as composition of- Request Action
the action to send a request document from
requester role to responder role- Response
Action the action to send a response document
from responder role to requester role-
Business Signals to allow the communication
alignment between requester and responder
Request (e.g. Order)
ReceiptAcknowledgement Signal
Supplier (Responder Role)
Customer (Requester Role)
AcceptanceAcknowledgement Signal
Response (e.g. Order Response)
ReceiptAcknowledgement Signal
AcceptanceAcknowledgement Signal
77ebMS Reliability Messaging
- The features of reliable protocol messages
exchange - Acknowledgment (ack) service signals to confirm
the message receipt and acceptance - Exception message to notify the catch of an
exception - Retries predefined number of attemptsĀ to send
the message if no ack receipt is received within
a defined life time (RetryInterval) - Duplicate messages check
- Messages persistent storage Prior to sending a
message, the sending ebXML Message Service will
save the message in persistent storage. Once the
message has been correctly received, the
receiving ebXML Message Service will save the
message in persistent storage and send an
acknowledgement message to the sending ebXML
Message Service. After sending, the ebXML Message
Service receives the acknowledgement, it might
delete the message from the persistent storage if
no longer needed. If the sending ebXML Message
Service does not receive acknowledgement, it can
resend the message or notify the sending
application that was unable to be deliver the
message.
78ebMS simple scenario 1/2
79ebMS simple scenario 2/2
- In a simple scenario
- Application layer of Sender A- sends data to
MSH layer of A, to prepare it to be sent to B - MSH layer of sender A- prepares the message
inserting the data into the SOAP envelope, -
inserts an ack notification request into the SOAP
message,- saves message before sending, - sends
the message to MSH receiver B - MSH layer of receiver B- receives the message,
- checks if an acknowledgment notification
request is present, - - if ack request is present, sends the ack
receipt to MSH of sender A to notify the
successful message reception - saves message
information into its own database and delivers
the date to application layer of receiver B
80ebMS complex scenario 1/3
81ebMS complex scenario 2/3
- In a complex scenario (with message loss)
- Application layer of Sender A- sends message to
MSH layer of A, to preparare him to be sent to B - MSH layer of sender A- sends message to MSH of
receiver B - MSH layer of receiver B- receives message from
MSH of sender A- sends to MSH A the ack
receipt- sends the received message to
application layer of receiver B - The acknowledgment receipt from B to A is lost
- MSH layer of sender A- waits the ack of B (but
the ack is lost!)- when the prearranged waiting
time expires, the MSH sends the message to B
again
82ebMS complex scenario 3/3
- The message from A to B is lost
- MSH layer of sender A- when the waiting time
expires, if others attempts are available, sends
again the message (third time) to B - The message from A to B is delivered
- MSH layer of receiver B- checks if message is
present into the storage, - the message is into
the storage, therefore deletes the received
message- sends again acknowledgment receipt to
MSH of sender A - MSH sender A- receives the ack signal
- The business transaction achieves the final state
and ends
83Module 4 Conclusions
- In this module we have discussed about
- ebXML Message Service (ebMS) standard overview
- The ebMS technical specifications composed by -
message structure - - messages exchange characteristics
- The message structure of ebXML message
- the business transaction concept in the ebMS
context - simple and complex scenarios of ebMS reliable
protocol messages exchange
84Test Module 4 Question 1
- About ebMS
- is an ebXML standard
- Is an ISO standard
- is a standard, SOAP-based, for a reliable
business documents exchange - is the ebXML envelope to encapsule business
document to send from a party to another party - is message content dipendent, can contain XML
files only - is Communication protocol dipendent, can be used
on HTTP only
85Test Module 4 Question 2
- About ebMS 2.0 Message
- the envelope is not a WSDL extension
- the envelope is a SOAP with Attachment extension
- the Payload Container is the part of message that
contains the document to exchange - the Payload Container can contain binary files
with .jpg extension - The Body in the Header Container of SOAP envelope
contains information on the content of the
Payload Containers - a Message Service Handler (MSH) signs, encrypts
and packages the ebMS message
86Test Module 4 Question 3
- ebMS specification
- defines a business transaction as composition
of Request Action, Business Activity Action,
Business Signals - does not define the business signals to allow the
communication alignment between requester and
responder, instead ebBP does - defines the business signals to allow the
communication alignment between requester and
responder, instead ebBP does not - defines the business signals to allow the
communication alignment between requester and
responder, ebBP specification too - support the duplicate messages check
characteristic - support the messages persistent storage
characteristic to resend the message when it is
lost
87Test Module 4 Question 4
- About the ebMS reliable protocol messages
exchange simple scenario - it is a description of a ebXML message dispatch
- the goal is to transport the data from the
application layer of party A to application layer
of party B - from MSH party A and MSH party B the data is
enveloped in the ebXML message envelope - the acknowledgment allows the communication
alignment between requester A and responder B - the acknowledgment is sent from B to A because
the message is lost
88Test Module 4 Question 5
- About the ebMS reliable protocol messages
exchange complex scenario - all the ebXML business transactions happen like
this situation, each ebXML message is lost at
least once before the real delivery - the goal is to send the greatest number of
messages - from MSH party A and MSH party B the data is not
enveloped in the ebXML message envelope - the acknowledgment can not be lost
- the acknowledgment can be sent at most once
89Test Module 4 Responses
- The true responses
- Question 1 1,2,3,4
- Question 2 all
- Question 3 4,5,6
- Question 4 1,2,3,4
- Question 5 none
90Summary
- 1. ebXML architecture overview
- 2. ebXML Business Process
- 3. CPP/CPA Collaboration Protocol
- 4. ebMS Messaging System
- 5. freebXML initiative
- 6. ebXML and Web Services
91Module 5 freebXML initiative
- In this module we will examine
- General presentation and mission of freebxml
initiative - ebMail project
- BP Editor project
- freebXML Registry (OMAR) project
- Hermes MSH (H2O) project
- Webswell Connect project
92freebXML Initiative
- freebXML freebXML is an initiative that aims to
foster the development and adoption of ebXML and
related technology through software and
experience sharing - freebXML is an initiative coordinated by the
Center for E-Commerce Infrastructure Development
(The University of Hong Kong) - The mission of freebXML.org is to provide a
centralized site for developers to access and
share 'free' ebXML code and applications - Users and developers can also share their ebXML
development and deployment experience at
freebXML.org - Projects- ebMail 1.2- freebXML BP Editor-
freebXML Registry 3.0- Hermes MSH (H2O)-
Webswell Connect - Projects reference page http//www.freebxml.org/p
rojects.htm
93ebMail
- ebMail B2B GUI 1.2 is a GUI system which helps
users with minimal knowledge on ebXML to engage
in B2B activities. - The user interface is email-client-like to lower
the learning threshold. - Underlying the GUI, the system makes use of open
standards (ebXML) to provide a reliable
communication with business partners. - Since the business messages are composed and read
in GUI form, this project can be useful to SMEs
who do not need backend integration or do not
wish a complex system integration. - Business process flow can be guided by the
plugins of ebMail. ebMail supports grouping of
business messages into threads. - ebXML packaging and digital signature are
supported, and the ebXML transport protocol is
binded to SMTP - Reference page http//www.freebxml.org/ebmail.htm
94freebXML BP Editor
- The BP Editor is a tool designed to help the user
in creating generic as well as domain specific
Business Process Specifications based on ebBP
version 2.0. - The editor lets the user to create Process
Specifications from scratch or use the existing
ones. - The BP Editor implementation is based on an XML
Schema (XSD) Editor, which is used in creating
the XML segments of ebBP process specification. - This generic XSD Editor parses the XSD file and
dynamically creates the graphical user interface
of the corresponding element defined in the XSD. - Reference page http//www.freebxml.org/freebXMLbp
.htm
95freebXML Registry (OMAR)
- freebXML Registry 3.0 is an Open Source ebXML
Registry and Repository Implementation - freebXML Registry (ebxmlrr) is a general registry
adopting a generic and extensible information
model that includes the ability to have arbitrary
associations between entries in the registry. - The repository is a way of storing information
pointed by entries in the registry. - Any type of data can be stored in the repository
including Web Service descriptions, XML data and
documents, binary data (such as images, sound
files, video data, executable application files,
CAD files, etc.), and any other kind of data. - Reference page http//www.freebxml.org/registry.h
tm
96Hermes MSH (H2O)