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

electronic business - PowerPoint PPT Presentation


  • 318 Views
  • 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?.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
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

11/21/2003


Outline l.jpg
Outline:

  • 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

Requestor

Responder

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

Choreography:

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"

<DocumentEnvelope

businessDocument="Catalog Request"/>

</RequestingBusinessActivity>

<RespondingBusinessActivity name="sendCatalog">

<DocumentEnvelope

isPositiveResponse="true"

businessDocument="Catalog" />

</RespondingBusinessActivity>

</BusinessTransaction>


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

<BusinessTransaction

name="Check Credit"

nameID="122A3DD33"

isGuaranteedDeliveryRequired="true">

<RequestingBusinessActivity

name="checkCredit"

nameID="122A3E833"

isAuthorizationRequired="true"

isIntelligibleCheckRequired="true"

isNonRepudiationReceiptRequired="true"

isNonRepudiationRequired="true"

timeToAcknowledgeAcceptance=" PT30S"

timeToAcknowledgeReceipt=" PT10S">

<DocumentEnvelope

isAuthenticated="persistent"

isConfidential="persistent"

isTamperDetectable="persistent"

businessDocument=" Credit Request"

businessDocumentIDREF="122A3F613C"/>

</RequestingBusinessActivity>


Slide13 l.jpg

<RespondingBusinessActivity

name="confirmCredit"

nameID="122A3E863"

isAuthorizationRequired="true"

isIntelligibleCheckRequired="true"

isNonRepudiationReceiptRequired="true"

isNonRepudiationRequired="true"

timeToAcknowledgeReceipt="PT10S">

<DocumentEnvelope

isPositiveResponse="false" isAuthenticated="persistent"

isConfidential="persistent" isTamperDetectable="persistent"

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

<DocumentEnvelope

isPositiveResponse="true" isAuthenticated="persistent"

isConfidential="persistent" isTamperDetectable="persistent"

businessDocument="Credit Approved"

businessDocumentIDREF="122A3F6C3">

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

businessDocument=”Credit Rating”

businessDocumentIDREF="122A3F8E4"

isConfidential=”none” isTamperDetectable=”none”

isAuthenticated=”none”>

</Attachment>

</DocumentEnvelope>

</RespondingBusinessActivity>

</BusinessTransaction>


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

Request

receiptAcknowledgement Signal

AcceptanceAcknowledgement Signal

Requesting

Activity

Responding

Activity

Response

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

<BinaryCollaboration

name="Firm Order"

nameID="122A38D93"

initiatingRoleIDREF=”122A38DA3”

timeToPerform="P1D">

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

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

<Start

toBusinessState=”Place Order”

toBusinessStateIDREF=”122A39C23” />

<BusinessTransactionActivity

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

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

fromRole="buyer“ fromRoleIDREF="122A38DA3"

toRole="seller“ toRoleIDREF="122A38DA5"

isConcurrent="true" isLegallyBinding="false"

timeToPerform="P2H"/>

<Failure

fromBusinessState="Place Order"

fromBusinessStateIDREF="122A39C23"

conditionGuard="AnyProtocolFailure"/>

<Success

fromBusinessState="Place Order"

fromBusinessStateIDREF="122A39C23"

conditionGuard="BusinessSuccess | BusinessFailure"/>

</BinaryCollaboration>


Choreography l.jpg
Choreography

  • 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
Timeouts

  • 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)

Responsibilities:

  • 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

Requesting

Activity

Protocol

Success

Protocol

Failure

Busn.

Success

Busn.

Failure

Success

Failure

- ebXML v1.1 Figure 16 p.43



Nonrepudiation l.jpg
Nonrepudiation

  • 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

Authorization

Activated when the following parameter is included in a document.

isAuthorizationRequired

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

Document

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

isConfidential

isTamperDetectable

isAuthenticated

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
Reliability

  • 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"

xmlns="http://www.untmg.org/downloads/General/approved/BPSS-v1pt10.xsd"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.untmg.org/downloads/General/approved/BPSS-v1pt10.xsd

C:\projects\bpss\bpss_1.1\ebBPSS1.08b.xsd">

<!-- 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"

specificationLocation="http://www.xyx.com/POAck.xsd"/>

<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"

specificationLocation="http://www.xyx.com/CreditAdvice.xsd"/>

<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"

specificationLocation="http://www.xyx.com/InvReq.xsd"/>

<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"/>

</RequestingBusinessActivity>

<RespondingBusinessActivity name="SendCatalog">

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

</RespondingBusinessActivity>

</BusinessTransaction>

<BusinessTransaction name="Create Order">

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

timeToAcknowledgeReceipt="P2D" timeToAcknowledgeAcceptance="P3D">

<DocumentEnvelope businessDocument="Purchase Order"/>

</RequestingBusinessActivity>

<RespondingBusinessActivity name="SendPOAcknowledgement"

isNonRepudiationRequired="true" timeToAcknowledgeReceipt="P5D">

<DocumentEnvelope isPositiveResponse="true"

businessDocument="PO Acknowledgement"/>

</RespondingBusinessActivity>

</BusinessTransaction>

…… 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"/>

</BinaryCollaboration>


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"/>

</BinaryCollaboration>


Slide32 l.jpg

Multiparty Collaboration

(deprecated)

<!-- 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>

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

<BusinessPartnerRole name="DropShip Vendor">

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

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

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

</BusinessPartnerRole>

<BusinessPartnerRole name="Credit Authority">

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

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

</BusinessPartnerRole>

</MultiPartyCollaboration>


Sources l.jpg
Sources:

  • EbXML committee:

    www.ebxml.org

  • Oasis:

    www.oasis-open.org

  • UN/CEFACT:

    www.unece.org/cefact


ad