Electronic business extensible markup language business process specification schema ebxml bpss
1 / 33

electronic business - PowerPoint PPT Presentation

  • Updated On :

Electronic Business eXtensible Markup Language - Business Process Specification Schema (ebXML-BPSS). Mike Richmond 11/21/2003. Outline:. Introduction Key Concepts Business Transaction Semantics XML BPSS Example. What is ebXML?.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'electronic business ' - Roberta

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Electronic business extensible markup language business process specification schema ebxml bpss l.jpg

Electronic Business eXtensible Markup Language -Business Process Specification Schema (ebXML-BPSS)

Mike Richmond


Outline l.jpg

  • Introduction

  • Key Concepts

  • Business Transaction Semantics

  • XML BPSS Example

What is ebxml l.jpg
What is ebXML?

  • A set of specifications that enhance e-business activities by allowing business process collaborations between 2 or more parties.

  • Started in 1999 as a joint effort between UN/CEFACT and Oasis

    • Oasis – A global consortium that works to develop and implement e-business standards.

    • UN/CEFACT – United Nations Center for Trade Facilitation and Electronic Business

  • Goal: create specifications to allow worldwide platform independent business transactions.

Why ebxml l.jpg
Why ebXML?

  • Needed a way to unify a variety of existing XML specifications.

  • Electronic Data Interchange (EDI) is no longer seen as a viable method of conducting e-business.

    • Current specification for e-business transactions

    • Drawbacks:

      • High startup costs

      • Inconsistent formats

      • Implementation limited to large organizations

  • ebXML’s Benefits:

    • Common message structure enables worldwide communication

    • Provided free of charge

    • Scales well to any organization size

Ebxml and w s l.jpg
ebXML and W. S.

  • "Web Services and ebXML are not competing frameworks. They can be viewed as serving two different B2B models and will continue to be used in parallel.“

    - From the Business-to-Business Frameworks for IDA Networks study published in September 2003 by the European Commission's IDA (Interchange of Data between Administrations) [obtained from www.ebxml.org]

  • ebXML defines new ways to use the existing standards:

    • SOAP – ebXML Messaging Services use SOAP message headers and http protocols.

    • UDDI – the ebXML Registry mimics and works as a sub-directory of the UDDI registry.

    • WSDL – ebXML BPSS and CPP give it the functionality of WSDL plus error handling and failure scenarios.

Diagram key concepts l.jpg
Diagram: Key concepts



- ebXML BPSS v1.10 p.9

Key concepts l.jpg

Business Transactions:

“an atomic unit of work in a trading arrangement between two business partners.” - ebXML BPSS v1.10

Consists of 2 Roles:

Requestor – the initiator of the transaction.

Responder – a response is necessary for a “legal” transaction to take place.

Ex: request catalog, send purchase order…

Binary Collaboration:

A set of business transactions between business partners.

2 Types:

Binary – Either a business transaction or another Binary collaboration (allows for recursion).

Multi – bundled binary collaborations - deprecated in ebXML BPSS v1.1

Ex: step 1 = request catalog, step 2 = send catalog

Key Concepts:

Key concepts ii l.jpg

Document Flows:

Defines the nature of a business transaction.

2 Types:

One-way = notification

Two-way = conversation (allows for contractual agreements)


Specifies which transaction should be executing at any given time.

Describes the ordering and transitions between transactions and recursive collaboration instances.

Key Concepts II:

Business transactions l.jpg
Business Transactions

  • An event where one or two document flows happen between the receiving and responding Business Activities.

  • Business Activities should not be thought of as “buyer” or “seller” roles, but kept vague.

  • Example Business Transaction:

    • A “Cancel Purchase Order” request may be sent out by either role in the business transaction.

  • Acknowledgements (Business signals) are used to control the content and usage of business transactions.

Business transaction syntax l.jpg
Business Transaction Syntax

<BusinessTransaction name="Catalog Request">

<RequestingBusinessActivity name="requestCatalog"


businessDocument="Catalog Request"/>


<RespondingBusinessActivity name="sendCatalog">



businessDocument="Catalog" />



A more detailed version l.jpg
A More Detailed version:


name="Check Credit"










timeToAcknowledgeAcceptance=" PT30S"

timeToAcknowledgeReceipt=" PT10S">





businessDocument=" Credit Request"



Slide13 l.jpg










isPositiveResponse="false" isAuthenticated="persistent"

isConfidential="persistent" isTamperDetectable="persistent"

businessDocument="Credit Denied" businessDocumentIDREF="122A3F8E3"/>


isPositiveResponse="true" isAuthenticated="persistent"

isConfidential="persistent" isTamperDetectable="persistent"

businessDocument="Credit Approved"


<Attachment name=”Credit Report” mimeType=”XML”

businessDocument=”Credit Rating”


isConfidential=”none” isTamperDetectable=”none”






Message flow in a business transaction l.jpg
Message Flow in a Business Transaction


receiptAcknowledgement Signal

AcceptanceAcknowledgement Signal






receiptAcknowledgement Signal

AcceptanceAcknowledgement Signal

Signals indicate the current state of the transaction.

Business document flow l.jpg
Business Document Flow

  • Conceptually modeled as the passing of Document Envelopes between the request and response ends of a business transaction.

  • Document envelopes carry only one primary business document, but may have any number of possible documents specified.

  • Example: A purchase order request is sent to a vendor (envelope from requestor) and the vendor replies with one of three predefined document envelopes: acceptance, denial, or partial acceptance .

Binary collaborations l.jpg
Binary Collaborations

  • Defined to be between 2 roles: the initiator and the responder.

  • Two types:

    • Business transaction activity

    • Collaboration activity – a binary collaboration executed within another binary collaboration.

      • isInnerCollaboration: boolean value that specifies whether the activity may be executed by itself or only within another collaboration.

      • Allows greater flexibility in defining how collaborations take place.

  • Collaboration Protocol Agreements (CPA) govern how they take place

Slide17 l.jpg


name="Firm Order"




<Role name="buyer" nameID="122A38DA3"/>

<Role name="seller" nameID="122A38DA5"/>


toBusinessState=”Place Order”

toBusinessStateIDREF=”122A39C23” />


name="Place Order" nameID="122A39C23"

businessTransaction="Create Order" businessTransactionIDREF="122A3DD33"

fromRole="buyer“ fromRoleIDREF="122A38DA3"

toRole="seller“ toRoleIDREF="122A38DA5"

isConcurrent="true" isLegallyBinding="false"



fromBusinessState="Place Order"




fromBusinessState="Place Order"


conditionGuard="BusinessSuccess | BusinessFailure"/>


Choreography l.jpg

  • Purpose: “to specify which Business Transaction Activity and/or Collaboration Activity should happen at any point in time.” - ebXML BPSS v1.10

  • How: keeping track of the current business state and any transitions between business states.

  • Transitions are used to created the nested activities mentioned earlier.

  • Business State examples: start, completion, fork, join, decision, business transaction activity, business collaboration activity.

  • In the UML model, all the examples are generalizations of the <<abstract>> business state.

Business transaction semantics l.jpg
Business Transaction Semantics

  • Transactions are set up to provide*:

    • Predictability – Roles, time bounds of signal passing, and determination of success or failure are all clearly defined.

    • Nonrepudiation

    • Security

    • Reliability

  • *Assuming reliable message passing and request/response acknowledgements are used.

Timeouts l.jpg

  • Timers are used to govern how long roles should wait when engaging in transactions.

  • Timeout values are specified within the business transaction XML forms using timetoAcknowledgeAcceptance and timetoAchnowledgeReceipt tags.

  • Values take the form:

    • P1H – one hour

    • P30S – 30 seconds

  • “All timers start when the initial requesting business document is sent.” - ebXML BPSS v1.10

    • Problem: initial document transport latency will cause the timers to start at different times.

Business service interface bsi l.jpg
Business Service Interface (BSI)


  • Detect start of transactions

  • Detect transfer of control within transactions

  • Detect successful transaction completion

  • Detect unsuccessful transactions

    • Timeouts

    • Exceptions to protocol rules

    • Handle negative receipt/authorization signals

States of the business transaction protocol l.jpg
States of the Business Transaction Protocol

From message flow in a business transaction diagram













- ebXML v1.1 Figure 16 p.43

Nonrepudiation l.jpg

  • Receipt acknowledgement ensures that both parties involved can legally enforce the agreement (the legally binding aspect of it has been deprecated).

  • Takes two forms:

    • 1: (unenforceable)

      • Each party (requestor/responder) is asked to save copies of all documents and envelopes involved in a transaction.

    • 2: (enforceable)

      • The isNonRepudiationOfReceiptRequired parameter is used in every message to make sure the receiver (either the requestor or responder) acknowledges the message.

      • A lack of response from the receiver will make the transaction null.

Security authorization and document integrity may be enforced through ebxml l.jpg


Activated when the following parameter is included in a document.


Receiving side of the activity must authorize the document by comparing it to a previously supplied set of values (by sender).

Deprecated in version ebXML BPSS v1.1


Uses 3 messages with null, transient, or persistent values:




Transient – security provided through the communication channel; tests ensure that it was not tampered with during transfer.

Persistent – ensures the information remains confidential through the use of encryption.

SecurityAuthorization and document integrity may be enforced through ebXML.

Reliability l.jpg

  • Documents and signals can be trusted to reach their destinations.

  • Parameter isGuaranteedDeliveryRequired forces the responding party to choose a communication channel where there is a delivery guarantee.

  • Instructs the CPP and CPA on the level of service required for this transaction.

Xml bpss example document specifications l.jpg
XML BPSS Example: Document Specifications

<?xml version="1.0" encoding="UTF-8"?>

<ProcessSpecification name="Simple" version="1.1" nameID="Simple-2434134"





<!-- Business Documents -->

<BusinessDocument name="CatalogRequest“specificationLocation="http://www.xyx.com/CatalogReq.xsd"/>

<BusinessDocument name="Catalog" specificationLocation="http://www.xyx.com/Catalog.xsd"/>

<BusinessDocument name="Purchase Order" specificationLocation="http://www.xyx.com/PO.xsd"/>

<BusinessDocument name="PO Acknowledgement"


<BusinessDocument name="Credit Request" specificationLocation="http://www.xyx.com/CreditReq.xsd"/>

<BusinessDocument name="Credit Confirm" specificationLocation="http://www.xyx.com/CreditCon.xsd"/>

<BusinessDocument name="ASN" specificationLocation="http://www.xyx.com/CatalogASN.xsd"/>

<BusinessDocument name="CreditAdvice"


<BusinessDocument name="DebitAdvice" specificationLocation="http://www.xyx.com/DebitAdvice.xsd"/>

<BusinessDocument name="Invoice" specificationLocation="http://www.xyx.com/Invoice.xsd"/>

<BusinessDocument name="Payment" specificationLocation="http://www.xyx.com/Payment.xsd"/>

<BusinessDocument name="Inventory Report Request"


<BusinessDocument name="Inventory Report" specificationLocation="http://www.xyx.com/InvRep.xsd"/>

Business transaction specification l.jpg
Business Transaction Specification

<Package name="Ordering">

<!-- Here are some of the Business Transactions needed -->

<BusinessTransaction name="Catalog Request">

<RequestingBusinessActivity name="RequestCatalog">

<DocumentEnvelope businessDocument="Catalog Request"/>


<RespondingBusinessActivity name="SendCatalog">

<DocumentEnvelope isPositiveResponse="true" businessDocument="Catalog"/>



<BusinessTransaction name="Create Order">

<RequestingBusinessActivity name="SendOrder" isNonRepudiationRequired="true"

timeToAcknowledgeReceipt="P2D" timeToAcknowledgeAcceptance="P3D">

<DocumentEnvelope businessDocument="Purchase Order"/>


<RespondingBusinessActivity name="SendPOAcknowledgement"

isNonRepudiationRequired="true" timeToAcknowledgeReceipt="P5D">

<DocumentEnvelope isPositiveResponse="true"

businessDocument="PO Acknowledgement"/>



…… all documents have associated transaction specifications

Binary collaboration specification l.jpg
Binary Collaboration Specification

<!-- Now one of the Binary Collaborations -->

<BinaryCollaboration name="Request Catalog" initiatingRoleID="1122B1">

<Role name="requestor" nameID="1122B1"/>

<Role name="provider" nameID="2211A1"/>

<Start toBusinessState="Catalog Request"/>

<BusinessTransactionActivity name="Catalog Request" businessTransaction="Catalog Request"

fromRole="requestor" toRole="provider"/>

<Success fromBusinessState="Catalog Request" conditionGuard="Success"/>

<Failure fromBusinessState="Catalog Request" conditionGuard="Failure"/>


Compound binary collaboration l.jpg
Compound Binary Collaboration

<!-- A compound Binary Collaboration for illustration purposes-->

<BinaryCollaboration name="Credit Charge" initiatingRoleID="8132B1">

<Role name="charger" nameID="8132B1"/>

<Role name="credit service" nameID="8122B1"/>

<Role name=“payor" nameID="7122B1"/>

<Start toBusinessState="Credit Inquiry"/>

<CollaborationActivity name="Credit Inquiry" binaryCollaboration="Credit Inquiry"

fromRole="charger" toRole="credit service"/>

<CollaborationActivity name="Credit Payment" binaryCollaboration="Credit Payment"

fromRole="charger" toRole="payor"/>

<Success fromBusinessState="Credit Payment" conditionGuard="Success"/>

<Failure fromBusinessState="Credit Payment" conditionGuard="Failure"/>

<Transition fromBusinessState="Credit Inquiry" toBusinessState="Credit Payment"/>


Slide32 l.jpg

Multiparty Collaboration


<!-- First the overall MultiParty Collaboration -->

<MultiPartyCollaboration name="DropShip">

<BusinessPartnerRole name="Customer">

<Performs role="requestor" roleIDREF="1122B1"/>

<Performs role="buyer" roleIDREF="1122B2"/>

<Transition fromBusinessState="Catalog Request" toBusinessState="Create Order"/>


<BusinessPartnerRole name="Retailer">

<Performs role="provider" roleIDREF="2211A1"/>

<Performs role="seller" roleIDREF="1122B3"/>

<Performs role="creditor" roleIDREF="9122B1"/>

<Performs role="buyer" roleIDREF="1122B2"/>

<Performs role="payee" roleIDREF="6122B1"/>

<Performs role="payor" roleIDREF="7122B1"/>

<Performs role="requestor" roleIDREF="1122B1"/>

<Transition fromBusinessState="Create Order" toBusinessState="Check Credit"/>

<Transition fromBusinessState="Check Credit" toBusinessState="Credit Payment"/>


<BusinessPartnerRole name="DropShip Vendor">

<Performs role="seller" roleIDREF="1122B3"/>

<Performs role="payee" roleIDREF="6122B1"/>

<Performs role="provider" roleIDREF="2211A1"/>


<BusinessPartnerRole name="Credit Authority">

<Performs role="credit service" roleIDREF="8122B1"/>

<Performs role="payor" roleIDREF="7122B1"/>



Sources l.jpg

  • EbXML committee:


  • Oasis: