The%20collaborative%20framework%20ebXML - PowerPoint PPT Presentation

About This Presentation
Title:

The%20collaborative%20framework%20ebXML

Description:

The collaborative framework ebXML Cristiano Novelli cristiano.novelli_at_bologna.enea.it Modules Summary 1. ebXML architecture overview 2. ebXML Business Process 3. – PowerPoint PPT presentation

Number of Views:254
Avg rating:3.0/5.0
Slides: 120
Provided by: ENEA
Category:

less

Transcript and Presenter's Notes

Title: The%20collaborative%20framework%20ebXML


1
  • The collaborative framework ebXML
  • Cristiano Novellicristiano.novelli_at_bologna.ene
    a.it

2
Modules 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

3
Module 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

4
ebXML 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

5
What 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

6
ebXML Use Case
7
The 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.

8
The 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).

9
Architecture Elements
  • Core Components
  • Registry / Repository
  • Business Process Specification Schema
  • Collaboration Protocol Profile and Agreement
  • Messaging Service

10
a. 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

11
b. 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

12
c. 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

13
d. 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

14
e. 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

15
ebXML 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

16
Phase 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

17
Phase 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

18
Phase 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

19
Phase 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

20
Summary 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
21
ebXML 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)

22
Module 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

23
Test 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

24
Test 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

25
Test 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

26
Test 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)

27
Test 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

28
Test 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

29
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

30
Module 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

31
ebBP (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
32
ebBP Key Concepts 1/3
33
ebBP 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).

34
ebBP 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
35
ebBP 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.

36
ebBP 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
37
ebBP 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)

38
ebBP 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

39
ebBP 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
40
Module 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

41
Test 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

42
Test 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

43
Test 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

44
Test 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

45
Test Module 2 Responses
  • The true responses
  • Question 1 4
  • Question 2 all
  • Question 3 1,3,4
  • Question 4 2,3,4,6

46
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

47
Module 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

48
CPPA
  • 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

49
CPP (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
50
CPP 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

51
CPP XML Representation 2/2
  • ltCollaborationProtocolProfilegt
  • ltPartyInfogt
  • (ltCollaborationRolegt)
  • (ltDeliveryChannelgt)
  • (ltTransportgt)
  • (ltDocExchangegt)
  • lt/PartyInfogt
  • (ltPackaginggt)
  • lt/CollaborationProtocolProfilegt

52
CPP 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

53
CPP 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
54
CPP 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
55
CPP 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
56
CPP 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

57
CPA (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
58
ebBP, 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
59
Multiparty 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
60
Multiparty 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
61
Multiparty 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
62
Module 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

63
Test 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

64
Test 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

65
Test 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

66
Test 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

67
Test 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

68
Test 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

69
Test 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

70
Test 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

71
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

72
Module 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

73
ebMS (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)

74
ebMS (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
75
ebMS 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
76
ebMS 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
77
ebMS 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.

78
ebMS simple scenario 1/2
79
ebMS 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

80
ebMS complex scenario 1/3
81
ebMS 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

82
ebMS complex scenario 3/3
  1. The message from A to B is lost
  2. MSH layer of sender A- when the waiting time
    expires, if others attempts are available, sends
    again the message (third time) to B
  3. The message from A to B is delivered
  4. 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
  5. MSH sender A- receives the ack signal
  6. The business transaction achieves the final state
    and ends

83
Module 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

84
Test 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

85
Test 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

86
Test 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

87
Test 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

88
Test 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

89
Test 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

90
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

91
Module 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

92
freebXML 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

93
ebMail
  • 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

94
freebXML 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

95
freebXML 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

96
Hermes MSH (H2O)
  • H
Write a Comment
User Comments (0)
About PowerShow.com