A Guide to ebXML

Document Sample
A Guide to ebXML Powered By Docstoc
					A Guide to ebXML




                                     Christian Huemer
                        Institut für Distributed and Multimedia Information Systems
                        Liebiggasse 4/3-4, 1010 Wien
                        Tel. +43-1-4277-38443 Fax +43-1-4277-38449
                        christian.huemer@univie.ac.at
                        http://www.cs.univie.ac.at/christian.huemer




        University of Vienna, Institute of Distributed and Multimedia Systems
Outline



 B2B – An Introduction
 ebXML Basics
 ebXML – Business Processes
 ebXML – Core Components
 ebXML – Profiles & Agreements
 ebXML – Messaging
 ebXML – Registry




          University of Vienna, Institute of Distributed and Multimedia Systems




Electronic Commerce and In-house Integration



                                  H2H
                                 E-mail


                            We         H2
                               b           A
                                   -B
                                      ro w
                                          se
                                             r



                   EDI, ebXML & Web Services

                                  A2A
          University of Vienna, Institute of Distributed and Multimedia Systems




                                                                                  1
              Is There a Problem?




                                     Did EDI reach critical mass after 20+ years?


                                                                     Using EDI

             95%                                                     EDI Capable                                           98%




                                                       5%                                                        2%
          FORTUNE 10000                                                                 The rest of all Business that should be
          (1000 in the top 10 Economics)                                                exchanging information electronically

                                               University of Vienna, Institute of Distributed and Multimedia Systems
Source: Ge-BAC 2004, Klaus-Dieter Naujok




              Traditional B2B Approaches

        Standard:
                                                   A                                      A




                                E                              B               E       Standard       B
                                                                                        Format



                                           D             C                         D              C



        Message Implementation Guideline (MIG):




                                                                MIG                             MIG                         MIG
             Standard                                        User Group                       Company                  Partner-specific

                                               University of Vienna, Institute of Distributed and Multimedia Systems




                                                                                                                                          2
     Client-Server Computing for Web Applications



                                                                      HTTP request
            Messaging Layer
                                                                      HTTP response

            Presentation Layer
                                                                                            Client
                                                 Web
             Business Layer                      Application
                                                 Server




    Databases ERP Systems Legacy Applications


             Persistence Layer


                    University of Vienna, Institute of Distributed and Multimedia Systems




     B2B Application Computing


B2B Application Server                                           B2B Application Server

                                          SOAP request over
        Messaging Layer                   HTTP, SMTP, ...                   Messaging Layer


                                          XML Document
        Document Layer                    Standard Types
                                                                            Document Layer


        Business Layer                 Shared Business Logic                 Business Layer




Databases    ERP          Legacy                                  Databases       ERP         Legacy
             Systems      Applications                                            Systems     Applications

      Persistence Layer                                                   Persistence Layer


                    University of Vienna, Institute of Distributed and Multimedia Systems




                                                                                                             3
     UN/CEFACT´s Modelling Methodology (UMM)


        UML-based description technique for describing B2B
        scenarios
        Concentrates on business semantics
        UMM Meta Model (UML Profile)
        Provides a procedure similar to a software development
        process


                                  BOV
                        Business Operational View


              BDV               BRV                     BTV                   BSV
            Business          Business                Business              Business
             Domain          Requirement             Transaction             Service
              View              View                    View                  View


                   University of Vienna, Institute of Distributed and Multimedia Systems




     Relevant UMM Artefacts



Business Collaboration Protocol Use Case                         Business Transaction Use Case
                 Use Case                                                       Use Case
             1                                                                       1
                  desribes choreography for              desribes choreography for

            1                                                                              1
 Business Collaboration Protocol                                       Business Transaction
          Activity Graph                                     1               Activity Graph
              n                                                                        1
                   is composed of                                    is composed of

             n                                                                             2
  Business Transaction Activity          1                       Business Action (Initiating/Reacting)
             Activity                        Is refined by                       Activity




                   University of Vienna, Institute of Distributed and Multimedia Systems




                                                                                                         4
               <<BusinessCollaborationProtocol>>
               Purchase Order Management

timeToPerform: 24 hrs
isConcurrent: true
                                                                             [NOT Product.Quoted]
                                     <<BusinessTransactionActivity>>
                                            request for quote
                                                                                  PurchaseOrderManagement.BusinessFailure

                                                          [Product.Quoted]


   [NOT CustomerInformation.Confirmed]                                [CustomerInformation.Confirmed]




                                                          [CustomerInformation.Confirmed]
     <<BusinessTransactionActivity>>                                                           <<BusinessTransactionActivity>>
             register customer                                                                             order product
                                                                                                            [Product.Ordered]
                                     [CustomerInformation.Rejected]
timeToPerform: 12 hrs
isConcurrent: false                                                                                            timeToPerform: 48 hrs
                                                                                                               isConcurrent: true
                                                     [NOT Product.Ordered]

                                                                                  PurchaseOrderManagement.BusinessSuccess
   PurchaseOrderManagement.BusinessFailure




               Business Transaction: Request for Quote
                                             isAuthorizationRequired: false
                                             isNonRepudiationRequired: false
     Initiating Role : Buyer                 timeToPerform: 24 hrs                                  Reacting Role: Seller
                                             timeToAcknowledgeReceipt: 2 hrs
                                             timeToAcknowledgeAcceptance: 4 hrs                         isConfidential: Yes
                                             isIntelligibleCheckRequired: true                          isTamperProof: Yes
                                             isNonRepudiationOfReceiptRequired: false                   isAuthenticated: Yes
                                             retryCount: 3


       <<RequestResponseActivity>>
                                                                                                :QuoteEnvelope
                         obtain quote
        [Control Fail]


                         [Success]




                                             :QuoteRequest                               <<RespondingBusinessActivity>>
                                               Envelope
                                                                                               calculate quote

                                                                                timeToPerform: 24 hrs
                                       isConfidential: No                       timeToAcknowledgeReceipt: 2 hrs
                                       isTamperProof: No                        timeToAcknowledgeAcceptance: false
                                       isAuthenticated: No                      isIntelligibleCheckRequired: true
                                                                                isAuthorizationRequired: false
                                                                                isNonRepudiationRequired: false




                                                                                                                                       5
     Business Document: Quote


               Quote                                                                       QuoteRequest
                                                     <<references>>
QuoteID
                                                                                1 QuoteRequestID
QuoteDate




                       0..n                                                                     Book
                Line                     n                                  1    ISBN
                                                                                 Title
     LineNumber
                                                                                 Authors
                       1


                        1
            LineQuote

UnitPrice




                        University of Vienna, Institute of Distributed and Multimedia Systems




     Business Document: Quote based on ABIEs




                        University of Vienna, Institute of Distributed and Multimedia Systems




                                                                                                          6
Outline



 B2B – An Introduction
 ebXML Basics
 ebXML – Business Processes
 ebXML – Core Components
 ebXML – Profiles & Agreements
 ebXML – Messaging
 ebXML – Registry




           University of Vienna, Institute of Distributed and Multimedia Systems




     +                        =
 March 1999 - UN/CEFACT Plenary
    Members demand that UN/CEFACT develop an XML/edi solution
 Juli 1999 - UN/CEFACT TMWG
    "Not Yet Another XML Solution"
    Top-Down Ansatz ausgehend von Geschäftsprozessen
    Cooperation with XML-solution providers
 August 1999 - Cooperation UN/CEFACT und OASIS
    UN/CEFACT CSG accepts the TMWG Recommendation
    UN/CEFACT Action Team identifies OASIS as the best partner
    UN/CEFACT and OASIS sign ebXML Terms of Reference
 November 1999 - First ebXML Meeting in San Jose
 Mai 2001 - ebXML Specs are approved in Vienna
 August 2003 – Full Set of Specs

           University of Vienna, Institute of Distributed and Multimedia Systems




                                                                                   7
… where enterprises of any size, anywhere can:

  Find each other electronically
  Conduct business through the exchange of XML
  based messages
       using standard message structures
       according to standard business process sequences
       with clear business semantics
       according to standard or mutually agreed trading partner
       agreements
  Using off the shelf purchased business applications
  Commercial off-the-shelf software



                  University of Vienna, Institute of Distributed and Multimedia Systems




ebXML Scenario

 XML
           Business Scenarios
          Business Scenarios                    1
          Business Profiles
           Business Profiles
                                                 Request Business Details                              COMPANY A

                                                                                                        2
                                                                                      Build Local System
        ebXML                       3                                                 Implementation
                                         Register Implementation Details
        Registry
        Registry
                                         Register COMPANY A Profile
        Do


        Qu
         o
         ow


           e
           er
           e




                                                                                                           ent
             nlll


              y
              ya
              y




                                4
                 oa




                                                                                                         em
                  bo
                   d




                                                                                                      ng
                    o
                    ou




                                                                                                rra
                      Sc


                       ttt C




                                                                                              sA
                           en


                            OM




                                                                                          ne s
                             ar


                              MP
                              M
                              rio
                              r




                                                                                       usi
                                 AN
                                 sa
                                 sa
                                 sa




                                                                                                                          NS
                                                                                     B
                                  N
                                  NY




                                                                             o   n
                                    nd




                                                                         ree                                          O
                                                                                                                   TI
                                     d
                                     d




                                                                  5
                                     A
                                       P
                                       Pr
                                       P




                                                                      Ag                                       C
                                        pr




                                                                                                            SA
                                         of
                                         o
                                         o


                                          offf
                                           illle




                                                                                                       AN
                                               ile
                                                 e
                                                 e
                                                 s




                                                                                                 TR                  6
                                                                                            S
                                                                                          ES
                                                                                    IN
                 COMPANY B                                                  B    US
                                                                       DO
                                        ebXML compliant
                                           system


                  University of Vienna, Institute of Distributed and Multimedia Systems




                                                                                                                               8
ebXML Specifications



                                  BP

                                  CC


                     Trading Partner
                         Profile


                         Messaging


            Registry & Repository

          University of Vienna, Institute of Distributed and Multimedia Systems




Outline



 B2B – An Introduction
 ebXML Basics
 ebXML – Business Processes
 ebXML – Core Components
 ebXML – Profiles & Agreements
 ebXML – Messaging
 ebXML – Registry




          University of Vienna, Institute of Distributed and Multimedia Systems




                                                                                  9
 Business Processes - BPSS



     Business Process Models refer to the
     interorganizational B2B processes, that define how
     partners have to interact
     BP Modelling is not mandatory - however
     UN/CEFACT‘s Modeling Methodology (UMM) should
     be used
     BPSS = Specification of the nominal set of elements
     necessary to configure a runtime system in order to
     execute an ebXML collaboration
     Concentrates on the choreography of business
     processes
     Defines a logical subset of the UMM meta model
     BPSS is defined in UMM (non-normative) and XML
     (normative)



              University of Vienna, Institute of Distributed and Multimedia Systems




 Business Process Specification Schema


BPSS is ebXML´s Choreography Language
Goal of BPSS: provide the bridge between e-business process
modeling and specification of e-business software components
BPSS is based on the runtime system relevant subset of the
UMM meta model
Most concepts of Business Collaboration Protocol and Business
Transactions are supported by BPSS
Only minor differences:
+   UMM: Multiparty Collaboration – BPSS supports binary collaborations only
+   BPSS: Recursive Nesting of Business Collaborations
+   BPSS: QoS parameters consider the persistence storage, not only transfer
+   and some very minor differences …




              University of Vienna, Institute of Distributed and Multimedia Systems




                                                                                      10
            Choreography




       UMM:
       BPSS:                                               Collaboration

                                     Buyer                                             Seller




                               University of Vienna, Institute of Distributed and Multimedia Systems




BusinessTransaction
name [0..1]                               BPSS Element: Business Transaction
nameID [1]
Pattern [0..1]
isGuaranteedDeliveryRequired ["false"]


                                   RequestingBusinessActivity
                                                                                           DocumentEnvelope
                                   name [0..1]
                                   nameID [1]                                              name [0..1]
                                   isAuthorizationRequired ["false"]                       nameID [1]
                                   isIntelligibleCheckRequired ["false"]                   businessDocument [1]
                                   isNonRepudiationRequired ["false"]                      businessDocumentIDREF [0..1]
                                   isNonRepudiationReceiptRequired ["false"]               isPositiveResponse [0..1]
                                   timeToAcknowledgeReceipt [0..1]                         isAuthenticated [0..1]
                                   timeToAcknowledgeAcceptance [0..1]                      isConfidential [0..1]
                                   retryCount [0..1]                                       isTamperDetectable [0..1]


                                   RespondingBusinessActivity
                                                                                           DocumentEnvelope
                                   name [0..1]
                                   nameID [1]                                              name [0..1]
                                   isAuthorizationRequired ["false"]                       nameID [1]
                                   isIntelligibleCheckRequired ["false"]                   businessDocument [1]
                                   isNonRepudiationRequired ["false"]                      businessDocumentIDREF [0..1]
                                   isNonRepudiationReceiptRequired ["false"]               isPositiveResponse [0..1]
                                   timeToAcknowledgeReceipt [0..1]                         isAuthenticated [0..1]
                                   timeToAcknowledgeAcceptance [0..1]                      isConfidential [0..1]
                                                                                           isTamperDetectable [0..1]
                                  BusinessDocument
                                  name [0..1]                                                                   0 .. ∞
                                  nameID [1]
                                  specificationLocation [0..1]
                                  specificationID [0..1]
                                  namespacePrefixes [0..1]




                                                                                                                          11
                                      001    <<BusinessTransaction>> order product
                                                  isAuthorizationRequired: true
                                                  isNonRepudiationRequired: true
  Initiating Role : Buyer                         timeToPerform: 24 hrs                                Reacting Role: Seller
                                                  timeToAcknowledgeReceipt: 4 hrs
                                                  timeToAcknowledgeAcceptance: 6 hrs                     isConfidential: Yes
                                                  isIntelligibleCheckRequired: true                      isTamperProof: Yes
                                                  isNonRepudiationOfReceiptRequired: true                isAuthenticated: Yes
                                                  retryCount: 3


  <<CommercialTransactionActivity>>                                                                :PurchaseOrder
                                                                                                  ResponseEnvelope
  004                    place order                                                                                 026
        [Control Fail]


                          [Success]




                                                 :PurchaseOrder                              <<RespondingBusinessActivity>>
                                                    Envelope
                                               012                                                     process order       020



                                                                                    timeToPerform: 24 hrs
                                            isConfidential: Yes                     timeToAcknowledgeReceipt: false
                                            isTamperProof: Yes                      timeToAcknowledgeAcceptance: 4 hrs
                                            isAuthenticated: Yes                    isIntelligibleCheckRequired: true
                                                                                    isAuthorizationRequired: true
                                                                                    isNonRepudiationRequired: true




               BPSS: Order Product (1/2)


1. <BusinessTransaction
2.     nameID="BT3" name="orderProduct"
3.     pattern="CommercialTransaction" isGuaranteedDeliveryRequired="true">
4.               <RequestingBusinessActivity
5.                 nameID="BA5" name="placeOrder" retryCount="3"
6.                 isIntelligibleCheckRequired="true"
7.                 isAuthorizationRequired="ture"
8.                 isNonRepudiationRequired="true"
9.                 isNonRepudiationReceiptRequired="true"
10.                timeToAcknowledgeReceipt="PT4H"
11.                timeToAcknowledgeAcceptance="PT6H">
12.                          <DocumentEnvelope
13.                             nameID="DE5"
14.                             name="PurchaseOrderEnvelope"
15.                             businessDocument="PurchaseOrder"
16.                             businessDocumentIDREF="BD5"
17.                             isAuthenticated="transient" isConfidential="transient"
18.                             isTamperDetectable="transient"/>
19.              </RequestingBusinessActivity>



                                             University of Vienna, Institute of Distributed and Multimedia Systems




                                                                                                                                 12
                         BPSS: Order Product (2/2)

         20.                <RespondingBusinessActivity
         21.                  nameID="BA6" name="processOrder"
         22.                  isIntelligibleCheckRequired="true"
         23.                  isAuthorizationRequired="true"
         24.                  isNonRepudiationRequired="true"
         25.                  timeToAcknowledgeReceipt="PT4H" >
         26.                            <DocumentEnvelope
         27.                               nameID="DE6"
         28.                               name="PurchaseOrderResponseEnvelope"
         29.                               businessDocument="PurchaseOrderResponse"
         30.                               businessDocumentIDREF="BD6"
         31.                               isAuthenticated="transient" isConfidential="transient"
         32.                               isTamperDetectable="transient"/>
         33.                </RespondingBusinessActivity>
         34. </BusinessTransaction>
         35. <BusinessDocument
         36.     nameID="BD5" name="PurchaseOrder"
         37.     specificationLocation="http://www.example.org/PurchaseOrder.xsd"/>
         38. <BusinessDocument
         39.     nameID="BD6" name="PurchaseOrderResponse"
         40.     specificationLocation="http://www.example.org/PurchaseOrderResponse.xsd"/>

                                           University of Vienna, Institute of Distributed and Multimedia Systems




                                 Role
                                                                    BusinessTransactionActivity
                                 name [0..1]
                                 nameID [1]                         name [0..1]


                                                                                                       BPSS Element:
                                                                    nameID [1]
                                           2                        fromRole [1]
                                                                    fromRoleIDREF [0..1]


                                                                                                       Binary Collaboration
                                 Start                              toRole [1]
                                 name [0..1]                        toRoleIDREF [0..1]
                                 nameID [1]                         beginsWhen [0..1]
                                 toBusinessState [1]                endsWhen [0..1]
                                 toBusinessStateIDREF [0..1]        preCondition [0..1]
                                                                    postCondition [0..1]
                                                                    businessTransaction [1]
                                                                    businessTransactionIDREF [0..1]
                                                                    isConcurrent [„true“]
                                               1..                  isLegallyBinding [„true“]
                                                     8




                                                                    timeToPerform [0..1]

                                 Success
                                                                    CollaborationActivity
                                 name [0..1]                                                             ConditionExpression
                                 nameID [1]                         name [0..1]                          expressionLanguage [1]
                                 fromBusinessState [1]              nameID [1]                           expression [1]
                                 fromBusinessStateIDREF [0..1]      fromRole [1]                         prefix [0..1]
                                 conditionGuard [0..1]              fromRoleIDREF [0..1]
                                                                    toRole [1]
BinaryCollaboration                                      1..        toRoleIDREF [0..1]
                                                               8




                                                                    beginsWhen [0..1]
name [0..1]                                                         endsWhen [0..1]
nameID [1]                       Failure                            preCondition [0..1]                  ConditionExpression
pattern [0..1]                   name [0..1]                        postCondition [0..1]                 expressionLanguage [1]
beginsWhen [0..1]                nameID [1]                         binaryCollaboration [1]              expression [1]
endsWhen [0..1]                  fromBusinessState [1]              binaryCollaborationIDREF [0..1]      prefix [0..1]
preCondition [0..1]              fromBusinessStateIDREF [0..1]
postCondition [0..1]             conditionGuard [0..1]
timeToPerform [0..1]
initiatingRoleIDREF [0..1]
                                                          1..
                                                                8




isInnerCollaboration [„false“]
                                 Transition
                                 name [0..1]
                                 nameID [1]
                                                                              ConditionExpression
                                 fromBusinessState [1]
                                 fromBusinessStateIDREF [0..1]                expressionLanguage [1]
                                 onInitiation [„false“]                       expression [1]
                                 toBusinessState [1]                          prefix [0..1]
                                 toBusinessStateIDREF [0..1]
                                 conditionGuard [0..1]

                                                         0..
                                                               8




                                  Fork
                                  name [0..1]
                                  nameID [1]
                                  type [„OR“]
                                  timeToPerform [0..1]


                                                         0..
                                                               8




                                  Join
                                  name [0..1]
                                  nameID [1]
                                  waitForAll [„true“]

                                                         0..
                                                               8




                                  Decision                                    ConditionExpression
                                                                              expressionLanguage [1]
                                  name [0..1]
                                                                              expression [1]
                                  nameID [1]
2                                                        0..
                                                                              prefix [0..1]
                                                               8




                                                                                                                                  13
                    041   <<BusinessCollaborationProtocol>> Purchase Order Management

 timeToPerform: 24 hrs
 isConcurrent: true                                 048

                                                                         [NOT Product.Quoted] 084
                            <<BusinessTransactionActivity>>
                              052    request for quote
                                                                              PurchaseOrderManagement.BusinessFailure
                                            099
                                                    [Product.Quoted]


      [NOT CustomerInformation.Confirmed]                       [CustomerInformation.Confirmed]

                              108                                                                                 117
                                              136



                                                    [CustomerInformation.Confirmed]
        <<BusinessTransactionActivity>>                                                       <<BusinessTransactionActivity>>
       061   register customer                                     126                         070         order product
                                                                                                            [Product.Ordered]
                             [CustomerInformation.Rejected]
 timeToPerform: 12 hrs
 isConcurrent: false                                                                                         timeToPerform: 48 hrs
                              089                                                                    079     isConcurrent: true
                                      094     [NOT Product.Ordered]

                                                                              PurchaseOrderManagement.BusinessSuccess
      PurchaseOrderManagement.BusinessFailure




41.   <BinaryCollaboration                                      79.           <Success
42.     nameID="BC1" name="purchaseOrderManagement"             80.            nameID="E1"
43.     initiatingRoleIDREF="R1" isInnerCollaboration="false"   81.            fromBusinessState="orderProduct"
44.     pattern="nopatterns exist yet" timeToPerform="P4D"      82.            fromBusinessStateIDREF="BTA3"
45.     preCondition="X" beginsWhen="X" endsWhen="X"            83.            conditionGuard="BusinessSuccess"/>
        postCondition="X">                                      84.           <Failure
46.           <Role nameID="R1" name="buyer" />                 85.            nameID="E2"
47.           <Role nameID="R2" name="seller"/>                 86.            fromBusinessState="requestForQuote"
48.           <Start                                            87.            fromBusinessStateIDREF="BTA1"
49.              nameID="S1"                                    88.            conditionGuard="Failure"/>
50.              toBusinessState="requestForQuote"              89.           <Failure
51.              toBusinessStateIDREF="BTA1"/>                  90.            nameID="E3"
52.           <BusinessTransactionActivity                      91.            fromBusinessState="registerCustomer"
53.              nameID="BTA1" name="requestForQuote"           92.            fromBusinessStateIDREF="BTA2"
54.              businessTransaction="requestForQuote"          93.            conditionGuard="Failure"/>
55.              businessTransactionIDREF="BT1"                 94.           <Failure
56.              fromRole="buyer" fromRoleIDREF="R1"            95.            nameID="E4"
57.              toRole="seller" toRoleIDREF="R2"               96.            fromBusinessState="orderProduct"
58.              isConcurrent="true" timeToPerform="P1D"        97.            fromBusinessStateIDREF="BTA3"
59.              preCondition="X" beginsWhen="X"                98.            conditionGuard="Failure"/>
60.              endsWhen="X" postCondition="X "/>              99.           <Transition
61.           <BusinessTransactionActivity                      100.           nameID="T1"
62.              nameID="BTA2" name="registerCustomer"          101.           fromBusinessState="requestForQuote"
63.              businessTransaction="registerCustomer"         102.           fromBusinessStateIDREF="BTA1"
64.              businessTransactionIDREF="BT2"                 103.           toBusinessState="Decision1" toBusinessStateIDREF="D1"
65.              fromRole="buyer" fromRoleIDREF="R1"            104.           conditionGuard="BusinessSuccess">
66.              toRole="seller" toRoleIDREF="R2"               105.              <ConditionExpression expressionLanguage="OCL"
67.              isConcurrent="false" timeToPerform="PT12H"     106.                expression="Product.oclInState(Quoted) = TRUE"/>
68.              preCondition="X" beginsWhen="X"                107.          </Transition>
69.              endsWhen="X" postCondition="X"/>
70.           <BusinessTransactionActivity
71.              nameID="BTA3" name="orderProduct"
72.              businessTransaction="orderProduct"
73.              businessTransactionIDREF="BT3"
74.              fromRole="buyer" fromRoleIDREF="R1"
75.              toRole="seller" toRoleIDREF="R2"
76.              isConcurrent="true" timeToPerform="P2D"
77 – 78             "/>




                                                                                                                                       14
108.         <Transition
109.           nameID="T2"
110.           fromBusinessState="Decision1"
111.           fromBusinessStateIDREF="D1"
112.           toBusinessState="registerCustomer"
113.           toBusinessStateIDREF="BTA2" >
114.               <ConditionExpression expressionLanguage="OCL"
115.                       expression="CustomerInformation.oclInState(Confirmed) = FALSE"/>
116.         </Transition>
117.         <Transition
118.           nameID="T3"
119.           fromBusinessState="Decision1"
120.           fromBusinessStateIDREF="D1"
121.           toBusinessState="orderProduct"
122.           toBusinessStateIDREF="BTA3" >
123.               <ConditionExpression expressionLanguage="OCL"
124.                       expression="CustomerInformation.oclInState(Confirmed) = TRUE"/>
125.         </Transition>
126.         <Transition
127.           nameID="T4"
128.           fromBusinessState="registerCustomer"
129.           fromBusinessStateIDREF="BTA2"
130.           toBusinessState="orderProduct"
131.           toBusinessStateIDREF="BTA3"
132.           conditionGuard="BusinessSuccess">
133.               <ConditionExpression expressionLanguage="OCL"
134.                       expression="CustomerInformation.oclInState(Confirmed) = TRUE"/>
135.         </Transition>
136.         <Decision
137.           nameID="D1" name="Decision1" >
138.               <ConditionExpression expressionLanguage="OCL"
139.                       expression="CustomerInformation.oclInState(Confirmed)"/>
140.         </Decision>
141.   </BinaryCollaboration>




          Outline



               B2B – An Introduction
               ebXML Basics
               ebXML – Business Processes
               ebXML – Core Components
               ebXML – Profiles & Agreements
               ebXML – Messaging
               ebXML – Registry




                             University of Vienna, Institute of Distributed and Multimedia Systems




                                                                                                     15
                   Building Blocks




                                Name                                   Name
                                                                      Address
                              Address                                   email
                                                                     Phone #                                          Cost
                                    email                           Company                   Party ID              Line Item
                                                                                   Party                             PO #
                              Phone #                                                         Invoice


                            Company

                                            University of Vienna, Institute of Distributed and Multimedia Systems
Source: Adobe 2003, Duane Nickull




                   Core Components


                          UN/CEFACT Core Components (CC)
                                    Re-usable building blocks to assemble Business Documents
                                    Are not bound to a specific transfer syntax
                                    Aggregate CC, Basic CC, CC Type
                                    Use the concept of context drivers

                          A CC is used in many business environments and is by
                          definition free of context
                          By re-using a CC in a business document type it is set
                          into context and becomes a Business Information Entity
                          (BIE)
                          BIE is a CC that is restricted according to business
                          context-specific constraints
                          Library of Core Components is built on best practice of
                          20+ years e-business

                                            University of Vienna, Institute of Distributed and Multimedia Systems




                                                                                                                                16
                  Context Drivers


             Context Category                                                           Description
          Business Process                                    The business process as described using the ebXML Catalogue of
                                                              Common Business Processes as extended by the user.

          Product Classification                              Factors influencing semantics that are the result of the goods or
                                                              services being exchanged, handled, or paid for, etc. (e.g. the
                                                              buying of consulting services as opposed to materials)
          Industry Classification                             Semantic influences related to the industry or industries of the
                                                              trading partners (e.g., product identification schemes used in
                                                              different industries).
          Geopolitical                                        Geographical factors that influence business semantics (e.g., the
                                                              structure of an address).

          Official Constraints                                Legal and governmental influences on semantics (e.g. hazardous
                                                              materials information required by law when shipping goods).

          Business Process Role                               The actors conducting a particular business process, as identified
                                                              in the Catalogue of Common Business Processes.

          Supporting Role                                     Semantic influences related to non-partner roles (e.g., data
                                                              required by a third-party shipper in an order response going from
                                                              seller to buyer.)
          System Capabilities                                 This context category exists to capture the limitations of systems
                                                              (e.g. an existing back office can only support an address in a
                                                              certain form).


                                          University of Vienna, Institute of Distributed and Multimedia Systems
Source: SAP AG 2005, Gunther Stuhec




                  CCTS Architecture
                                                                                                                  1
                                      1                                                                                Content
                                                                                                                        Content
                Content                                                                                             Component
                 Content                                                                Restriction on                Component
              Component                                                                                           carries the actual
                Component                                                                                          carries the actual
           carries the actual                                                                                            value
            carries the actual                                                                                            value
                  value
                   value                                                                                                         for
                 for                         Core                                              Data Type                   creation
                                              Core                                              Data Type
           creation                       Component                                                                               of
                                           Component
                  of                      Type (CCT)
                                           Type (CCT)
                                                                                                              1..n
                                  1..n                                                     Defines a value
                                                                                                set of         Supplementary
                                                                                                                Supplementary
           Supplementary                                                                                         Component
            Supplementary                                                                                          Component
             Component                                                                                       gives extra definition
               Component                                                                                      gives extra definition
         gives extra definition                                                                                   to the value
          gives extra definition                                                                                   to the value
              to the value
               to the value
                                           Party                                   Buyer_ Party
                                                                                                               Basic Business
                                                                                                              Information Entity
            Basic Core                           Identifier                         Buyer_ Identifier
            Component
                                                 Address                            Home_ Address                 Aggregate
            Aggregate                                                                                              Business
                                                  Person                                Primary_
              Core                                                                       Person               Information Entity
            Component
                                                                                     Telephone_                  Association
                                             Communication                          Communication                  Business
            Association
                                                                                                              Information Entity
               Core
            Component
Source: SAP AG 2005, Gunther Stuhec




                                                                                                                                        17
                  Object Oriented Approach of Building
                  Blocks
                           1
               Content
                Content
            Component
              Component
          carries the actual
           carries the actual
                 value                                                                                              0..1
                  value                                                                                                                                                               Company.Details
                                                                                        Party.Details                                                                   1..1

               for                           Core
                                              Core                          +Party.Identifier : normalizedString           0..n
                                                                                                                                                                               -Name.Text : Name.Type

         creation                         Component                                                                                                                            -Additional.Name : Name.Type
                                           Component                                                                0..1                       Person.Details                  -Type.Identifier : Identifier.Type
                of                        Type (CCT)
                                           Type (CCT)                            1..1                        0..1
                                                                                                                                  -Title.Identifier : Identifier.Type
                                                                                                                                  -Given.Name : Name.Type                                 0..1
                                1..n                                                                                              -MiddleInitials.Name : Identifier.Type
                                                                                                                                  -Last.Name : Name.Type
                                                                                                                                  -Generation.Identifier : Identifier.Type

         Supplementary
          Supplementary                                                                                                                                0..1
           Component
             Component                                                                     1..n
       gives extra definition
        gives extra definition
            to the value
             to the value
                                                                                   PhysicalAdress.Details

                                                                            -Room.Identifier : Identifier.Type
                                               Party                        -Floor.Identifier : Identifier.Type
                                                                            -Department.Identifier : Identifier.Type
                                                                            -Building.Identifier : Identifier.Type
            Basic Core                                                      -House.Identifier : Identifier.Type
                                                                            -Street.Name : Name.Type                                    1..1
                                                                                                                                                                      1..1                   1..1


            Component                                Identifier             -PostalCode.Identifier : Identifier.Type
                                                                            -PostBox.Identifier : Identifier.Type                                                              Communication.Details
                                                                            -City.Name : Identifier.Type                          Coordination.Details
                                                                            -County.Name : Identifier.Type
                                                                                                                                                                      -Telephone.Identifier : Identifier.Type
                                                  Phyiscal Address          -Region.Identifier : Identifier.Type           -System.Identifier : Identifier.Type
            Aggregate                                                       -State.Name : Name.Type
                                                                            -Country.Identifier : Identifier.Type
                                                                                                                           -Longitude.Measure : Measure.Type
                                                                                                                           -Latitude.Measure : Measure.Type
                                                                                                                                                                      -Fax.Identifier : Identifier.Type
                                                                                                                                                                      -EMail.Address : ElectronicAddress.Type
                                                                                                                                                                      -Web.Address : ElectronicAddress.Type
              Core                                    Person
            Component

            Association                           Communication
               Core
            Component                                                                                          Class-Diagramm
Source: SAP AG 2005, Gunther Stuhec




                  Business Document: Quote


                                      Quote                                                                                                                   QuoteRequest
                                                                           <<references>>
         QuoteID
                                                                                                                                  1 QuoteRequestID
         QuoteDate




                                              0..n                                                                                                                    Book
                                       Line                       n                                                           1         ISBN
                                                                                                                                        Title
                  LineNumber
                                                                                                                                        Authors
                                              1


                                              1
                              LineQuote

         UnitPrice




                                              University of Vienna, Institute of Distributed and Multimedia Systems




                                                                                                                                                                                                                    18
                  Core Components
Type                                  Dictionary Entry name                    Definition                                                 Card.
 <ACC>                                Document. Details                        This are the details of the document
                                      Document. Identification. Identifier      This identifier identifies uniquely the
  <BCC>                                                                         document                                                   0..1
                                      Document. Creation. Date                  This is the date in which the document is
  <BCC>                                                                         created.                                                   0..1
                                      Document. Line Item. Line Item
 <ASCC>                                                                        This are the line items of the document                    0..n
                                      Line Item. Details                       This are the details of the line item of a
 <ACC>                                                                         document
                                      Line Item. Identification. Identifier
<BCC>                                                                          This identifier identifies the line item uniquely          0..1
                                      Line Item. Product Services.
<ASCC>                                Product Service                          This are the details of a product and/or service           0..1

<ASCC>                                Line Item. Price. Price                  This is the price of a line item                           0..1
                                      Product Service. Details                 This are the details of the product and/or
 <ACC>                                                                         service
                                      Product Service. Identification.         This identifier identifies of the product and/or
<BCC>                                 Identifier                               service                                                    0..1
                                      Product Service. Description. Text       This text describes the the product and/or
<BCC>                                                                          service                                                    0..1
                                      Product Service. Author. Name            This is the name of the author of the product
<BCC>                                                                          and/or service                                             0..1
                                      Price. Details
 <ACC>                                                                         This are the details of a price
                                      Price. Amount. Amount
<BCC>                                                                          This is the amount of a price                              0..1

Source: SAP AG 2005, Gunther Stuhec




            Business Information Entities

Type                   Dictionary Entry name                         BP       Prod      Ind       Geo          Off     Role       Sup.            Sys.
                       Quote_ Document. Details
 <ABIE>                                                              RFQ      Book      BookT     *            *       B, S       *               *
                       Quote_ Document. Identification.
  <BBIE>               Identifier                                     RFQ      Book      BookT        MY           *    B, S          *               *
                       Quote_ Document. Creation. Date                                                MY,
  <BBIE>                                                              RFQ      Book      BookT        US, DE       *    B, S          *               *
                       Quote_ Document. Line Item. Line Item                  Book,
                                                                              Flight,   BookT,
 <ASBIE>                                                             RFQ      Hotel     Tour.     *            *       B, S       *               *
                       Quote_ Document_ Line Item. Details                    Book,
                                                                              Flight,   BookT,
 <ABIE>                                                              RFQ      Hotel     Tour.     *            *       B, S       *               *
                       Quote_ Document_ Line Item.
<BBIE>                 Identification. Identifier                    RFQ      Book      BookT     *            *       B, S       *               *
                       Quote_ Document_ Line Item. Book.                                          MY, US,
<ASBIE>                Product Service                               RFQ      Book      BookT     DE           *       B, S       *               *
                       Quote_ Document_ Line Item. Hotel.                                         MY, FR,
<ASBIE>                Product Service                               RFQ      Hotel     Tour.     AT           *       B, S       *               *
                       Quote_ Document_ Line Item. Flight.
<ASBIE>                Product Service                               RFQ      Flight    Tour.     *            *       B, S       *               *
                       Quote_ Document_ Line Item. Unique
<ASBIE>                Charge. Price                                 RFQ      Book      BookT     *            *       B, S       *               *
                       Book_ Product Service. Details                                             MY, US,
 <ABIE>                                                              RFQ      Book      BookT     DE           *       B, S       *               *
                       Book_ Product Service. Identification.                                     MY, US,
<BBIE>                 Identifier                                    RFQ      Book      BookT     DE           *       B, S       *               *
                       Book_ Product Service. Description.
<BBIE>                 Text                                          RFQ      Book      BookT     US, DE       *       B, S       *               *
                       Book_ Product Service. Author. Name
<BBIE>                                                               RFQ      Book      BookT     MY           *       B, S       *               *




                                                                                                                                                          19
Business Document: Quote based on ABIEs




       University of Vienna, Institute of Distributed and Multimedia Systems




From Core Components to Docment Types




       University of Vienna, Institute of Distributed and Multimedia Systems




                                                                               20
                  Transfer-Example: CC to XML and XSD

          XSD has an indirect cascade of                                                   XSD’s OO-like approach can
          types and elements                                                               neatly be mapped to ISO
                                                                                           11179 object classes and
                                                                                           properties
     Object Class (complexType)
     Object Class (complexType)
       <xsd:complexType name="Coordination.Details">
                                                                                             Object Class
                                                                                             Object Class
           <xsd:sequence>
               …                                                                                Coordination.Details
           </xsd:sequence>
       </xsd:complexType>                                                                 System Identifier : Identifier Type



                                                              references                                                            has
                Property (Element Declaration)
                Property (Element Declaration)                                                               Property (Element)
                                                                                                             Property (Element)
                                                                                                                       Coordination.Details
            <xsd:element name="SystemId“ type="Identifier.Type"/>
            <xsd:element name="LongitudeMeasure“ type="Measure.Type"/>
                                                                                                                -System.Identifier : Identifier.Type
            <xsd:element name="LatitudeMeasure“ type="Measure.Type"/>                                           -Longitude.Measure : Measure.Type
                                                                                                                 Latitude Measure : Measure Type
                                                                                                                                                       is defined
                                                                         is bound to
                                                                                                                                                       in terms of
                                                Type (Definition)
                                                Type (Definition)
                                       <xsd:complexType name="Measure.Type">
                                                                                                                                Type (Definition)
                                                                                                                                Type (Definition)
                                           <xsd:simpleContent>                                                                               «type»
                                               <xsd:extension base="xsd:decimal">                                                         Measure.Type
                                                   <xsd:attribute name="unitCode"
                                                      type="xsd:token" use="required"/>                                           -Measure.Content : xsd:decimal
                                               </xsd:extension>                                                                   -unitCode : xsd:token
                                           </xsd:simpleContent>
                                       </xsd:complexType>


Source: SAP AG 2005, Gunther Stuhec




                  Outline



                         B2B – An Introduction
                         ebXML Basics
                         ebXML – Business Processes
                         ebXML – Core Components
                         ebXML – Profiles & Agreements
                         ebXML – Messaging
                         ebXML – Registry




                                         University of Vienna, Institute of Distributed and Multimedia Systems




                                                                                                                                                                     21
Possibilities / Capabilities / Agreements


                           Possibilities
                              =
                all ebXML business processes


                           Capabilities
                              =
                business process supported
             by an organization (in certain roles)

                           Agreements
                                  =
                       Agreement to execute
                   business processes between
                     a set of business partners




         University of Vienna, Institute of Distributed and Multimedia Systems




TP Profiles & Agreements



The commercial and technical capabilities of a partner
are described by a Trading Partner Profil (TPP)
The agreed commercial and technical interactions are
described by a Trading Partner Agreement (TPA)
The technical parameters of the message-exchange
capabilities of a partner are described by a
Collaboration Protocol Profile (CPP)
The technical parameters of an agreed message
exchange are described by a Collaboration Protocol
Agreement (CPA)
ebXML currently defines only CPP und CPA
(technical runtime environment)




         University of Vienna, Institute of Distributed and Multimedia Systems




                                                                                 22
         Collaboration Protocol Profile




                                                                                  CPP
                                                                                Party’s information
                                                                                - Party name
                                            What Business                       - contact info
                                            Capabilities                        Transport Protocol
                                            It                                  Transport Security Protocol
         Party A              Describe      "CAN DO”                Build       Messaging Protocol
                                            When conducting                     Link to Process-
                                            Business Process                    Specification document
                                            with other parties                  Time out/Retry
                                                                                -etc.




                              University of Vienna, Institute of Distributed and Multimedia Systems




CPP Element –
Part 1



                                                                                                          Part 2




 identifies the organization (or parts of
  the organization) whose capabilities
        are described by the CPP




describes the constituents used to
 make up composite Messages


   describes how the Message
 Header and payload constituents
   are packaged for transmittal



 contains the digital signature that
     signs the CPP document




                                                                                                                   23
CPP Element –
Part 1

      provides logical identifiers for the organization


provides pointers to more information about the Party
                                                                                                                              Part 2

identifies the roles that this Party can play in the context of
                   a Process Specification


 identifies the certificates used by this Party in security functions


           identifies trust anchors and specify security policy used by this
                               Party in security functions.


                 defines the characteristics that the Party can use to send
                 and/or receive Messages - it includes both the transport
                 protocol and the messaging protocol



                                                                                                   specifies the DeliveryChannel to use
                                              defines the characteristics of the
                                                                                                  for asynchronously delivered Message
                                              transport protocol(s) that the Party
                                                                                                     Service Handler level messages.
                                              can support to send and/or receive
                                              Messages
                                                                                  defines the Message-exchange
                                                                               characteristics, such as the signature
                                                                                 and encryption protocols, that the
                                  University of Vienna, Institute of Distributed and Multimedia Systems
                                                                                        Party can support.




 CPP Element –                                            provides the link to the Process-Specification document that defines the
                                                          interactions between the two Parties.
 Part 2
                                               identifies which role in the Process Specification the Party is capable of supporting

                                                    identifies a certificate for use by the business process/application layer

                                                           identifies the trust anchors and security policy that this Party will apply to
                                                           any application-level certificate offered by the other Party




  identifies all the business
  Message traffic that is to be sent
  or received by the Party within
  the context of the identified
  Process-Specification document.
  It MUST contain at least one
  CanReceive or CanSend child
  element




                                                                                                                                            24
CPP Element –                                                  references the uuid (URI) attribute specified for the ProcessSpecification
                                                               element of the underlying BPSS
Part 2

                                                                specifies one or more DeliveryChannel elements for Messages for a
                                                                selected action and the Packaging for those Messages that are to be sent
                                                                or received




                                                                                       Describes the QoS




                                                  provides a mapping to the corresponding action [in
                                                  BPSS]




identifies an action message that
a Party is capable of sending.                                                                          identifies one or more
                                                                                                        DeliveryChannel elements that
identifies an action message that                                                   Only used in CPA    can be used for sending or
a Party is capable of receiving.                                                                        receiving the corresponding action
                                                                                                        messages.


                                                                                           When present, it indicates that one or more
                                          Child structure is identical to CanSend          synchronous response actions are expected.




               Business Transaction: Request for Quote
                                          isAuthorizationRequired: false
                                          isNonRepudiationRequired: false
    Initiating Role : Buyer               timeToPerform: 24 hrs                                      Reacting Role: Seller
                                          timeToAcknowledgeReceipt: 2 hrs
                                          timeToAcknowledgeAcceptance: 4 hrs                           isConfidential: Yes
                                          isIntelligibleCheckRequired: true                            isTamperProof: Yes
                                          isNonRepudiationOfReceiptRequired: false                     isAuthenticated: Yes
                                          retryCount: 3


       <<RequestResponseActivity>>
                                                                                                 :QuoteEnvelope
                         obtain quote
        [Control Fail]


                         [Success]




                                          :QuoteRequest                                   <<RespondingBusinessActivity>>
                                            Envelope
                                                                                                calculate quote

                                                                                timeToPerform: 24 hrs
                                     isConfidential: No                         timeToAcknowledgeReceipt: 2 hrs
                                     isTamperProof: No                          timeToAcknowledgeAcceptance: false
                                     isAuthenticated: No                        isIntelligibleCheckRequired: true
                                                                                isAuthorizationRequired: false
                                      University of Vienna, Institute of Distributed and Multimedia Systems false
                                                                                isNonRepudiationRequired:




                                                                                                                                             25
<tp:CollaborationProtocolProfile xmlns:tp="http://www.oasis-open.org/committees/ebxml-cppa/schema/cpp-cpa-2_0.xsd"
   <tp:PartyInfo tp:partyName="..." tp:defaultMshChannelId="..." tp:defaultMshPackageId="...">
      <tp:PartyId tp:type="..."> uri:company-a.com</tp:PartyId>
      <tp:PartyRef xlink:href="..."/>
      <tp:CollaborationRole >
          <tp:ProcessSpecification tp:version="2.0a" tp:name="purchaseOrderManagement"
                    xlink:type="simple" xlink:href="http://mylibary.org/processes/POManagement.xml"/>
          <tp:Role tp:name="Buyer"
                    xlink:type="simple" xlink:href="http://mylibrary.org/processes/POManagement.xml#buyer"/>
          <tp:ApplicationCertificateRef tp:certId="CompanyA_AppCert"/>
          <tp:ServiceBinding>
             <tp:Service>uuid:purchaseOrderManagement</tp:Service>
             <tp:CanSend>
                <tp:ThisPartyActionBinding tp:id="companyA_ABID1"
                                 tp:action="obtainQuote" tp:packageId="CompanyA_QuoteRequestPackage">
                    <tp:BusinessTransactionCharacteristics
                        tp:isNonRepudiationRequired="false" tp:isNonRepudiationReceiptRequired="false"
                        tp:isConfidential="none" tp:isAuthenticated="none"
                        tp:isTamperProof="none" tp:isAuthorizationRequired= "false"
                        tp:timeToAcknowledgeReceipt="PT2H" tp:timeToAcknowledgeAcceptance="PT4H"
                        tp:timeToPerform="P1D" tp:retryCount="3"/>
                    <tp:ActionContext
                        tp:binaryCollaboration="purchaseOrderManagement"
                        tp:businessTransactionActivity= "requestForQuote"
                        tp:requestOrResponseAction= "obtainQuote"/>
                    <tp:ChannelId>asyncChannelA1</tp:ChannelId>
                </tp:ThisPartyActionBinding>
             </tp:CanSend>




                <tp:CanReceive>
                    <tp:ThisPartyActionBinding tp:id="companyA_ABID2"
                                    tp:action="calculateQuote" tp:packageId="CompanyA_QuotePackage">
                       <tp:BusinessTransactionCharacteristics
                           tp:isNonRepudiationRequired="false" tp:isNonRepudiationReceiptRequired="false"
                           tp:isConfidential="transient" tp:isAuthenticated="transient"
                           tp:isTamperProof="transient" tp:isAuthorizationRequired= "false"
                           tp:timeToAcknowledgeReceipt="PT2H" tp:timeToPerform="P1D"/>
                       <tp:ActionContext
                           tp:binaryCollaboration="purchaseOrderManagement"
                           tp:businessTransactionActivity= "requestForQuote"
                           tp:requestOrResponseAction= "calculateQuote"/>
                       <tp:ChannelId>asyncChannelA1</tp:ChannelId>
                    </tp:ThisPartyActionBinding>
                </tp:CanReceive>
                <!– CanSend and Can Receive Elements for other Business Transactions and Acks -->
             </tp:ServiceBinding>
          </tp:CollaborationRole>
         <tp:Certificate> <!-- one or more --> ... </tp:Certificate>
         <tp:SecurityDetails> <!-- one or more --> ... </tp:SecurityDetails>
         <tp:DeliveryChannel> <!-- one or more --> … </tp:DeliveryChannel>
         <tp:Transport> <!-- one or more --> ... </tp:Transport>
         <tp:DocExchange> <!-- one or more --> ... </tp:DocExchange>
         <tp:OverrideMshActionBinding> <!-- zero or more --> ... </tp:OverrideMshActionBinding>
      </tp:PartyInfo>
      <tp:SimplePart id="..."> <!-- one or more --> ... </tp:SimplePart>
      <tp:Packaging id="..."> <!-- one or more --> ... </tp:Packaging>
      <tp:Signature> <!-- zero or one --> ... </tp:Signature>
      <tp:Comment>text</tp:Comment> <!-- zero or more -->
   </tp:CollaborationProtocolProfile>




                                                                                                                     26
Collaboration Protocol Agreement


                              CPA
                             CPA ID
   CPP             negotiate Party’s Information   negotiate             CPP
    for                      - Party A                                    for
                     1                                   1
                             - Party B
  Party-
  Party-A                    Transport Protocol                         Party-
                                                                        Party-B
                             Transport Security
                                Protocol
                             DocExchange Protocol
                       2     Link to Process-          2
  Agreed                        Specification Doc.                      Agreed
   CPA           agreement Time out/Retry          agreement             CPA
                   on CPA - etc.                     on CPA
                  achieved                          achieved




             3
                       start business activities                    3
                           with each other


            University of Vienna, Institute of Distributed and Multimedia Systems




CPA Element




            University of Vienna, Institute of Distributed and Multimedia Systems




                                                                                    27
  Outline



      B2B – An Introduction
      ebXML Basics
      ebXML – Business Processes
      ebXML – Core Components
      ebXML – Profiles & Agreements
      ebXML – Messaging
      ebXML – Registry




                 University of Vienna, Institute of Distributed and Multimedia Systems




  ebXML Message structure



An ebXML Message is a
MIME/Mulitpart Message with 2 logical
MIME parts:
Header Container, containing one
SOAP 1.1 compliant message                                      eb:Error
Zero or more Payload Containers,
containing application-level payload
Header Container consists of a SOAP
Header with ebXML-specific Elements
and a SOAP-Body
SOAP-Body includes message service
handler control data and information
related to the payload




                 University of Vienna, Institute of Distributed and Multimedia Systems




                                                                                         28
ebXML Message Handler



                           ebXML Application

                      Message Service Interface

                         SOAP Processing




                                                                        Error Handling
          Header Processing
                                                Security
          Header Parsing
                                                Services

          Message Packaging

                  Reliable Messaging Services

                           Transport Interface

         HTTP          FTP          SMTP           IIOP           ...

      University of Vienna, Institute of Distributed and Multimedia Systems




                          a string identifying the set of related messages that make up a
                          conversation between two Parties. It MUST be unique within the context of
                          the specified CPAId.




                                                                                                      29
                                                                                         isAuthorizationRequired: false
                                                                                         isNonRepudiationRequired: false
                                                     Initiating Role : Buyer             timeToPerform: 24 hrs                                                           Reacting Role: Seller
                                                                                         timeToAcknowledgeReceipt: 2 hrs
                                                                                         timeToAcknowledgeAcceptance: 4 hrs                                                isConfidential: Yes
                                                                                         isIntelligibleCheckRequired: true                                                 isTamperProof: Yes
                                                                                         isNonRepudiationOfReceiptRequired: false                                          isAuthenticated: Yes
                                                                                         retryCount: 3


                                                       <<RequestResponseActivity>>
                                                                                                                                                               :QuoteEnvelope
                                                                        obtain quote




                                                       [Control Fail]


                                                                        [Success]
                                                                                         :QuoteRequest                                          <<RespondingBusinessActivity>>
                                                                                           Envelope
                                                                                                                                                             calculate quote

                                                                                                                            timeToPerform: 24 hrs
                                                                                    isConfidential: No                      timeToAcknowledgeReceipt: 2 hrs
                                                                                    isTamperProof: No                       timeToAcknowledgeAcceptance: false
                                                                                    isAuthenticated: No                     isIntelligibleCheckRequired: true
                                                                                                                            isAuthorizationRequired: false
                                                                                                                            isNonRepudiationRequired: false


                                                                                                                timeToPerform: 24 hrs
                                                                                                                isConcurrent: true
                                                                                                                                                                                 [NOT Product.Quoted]
                                                                                                                                        <<BusinessTransactionActivity>>
                                                                                                                                               request for quote
                                                                                                                                                                                      PurchaseOrderManagement.BusinessFailure

                                                                                                                                                             [Product.Quoted]


                                                                                                                   [NOT CustomerInformation.Confirmed]                    [CustomerInformation.Confirmed]




                                                                                                                                                              [CustomerInformation.Confirmed]
                                                                                                                     <<BusinessTransactionActivity>>                                               <<BusinessTransactionActivity>>
                                                                                                                         register customer                                                                  order product
                                                                                                                                                                                                             [Product.Ordered]
                                                                                                                                        [CustomerInformation.Rejected]
                                                                                                                timeToPerform: 12 hrs
                                                                                                                isConcurrent: false                                                                             timeToPerform: 48 hrs
                                                                                                                                                                                                                isConcurrent: true
                                                                                                                                                         [NOT Product.Ordered]

                                                                                                                                                                                      PurchaseOrderManagement.BusinessSuccess
                                                                                                                   PurchaseOrderManagement.BusinessFailure




         Business Transaction: Request for Quote
                                    isAuthorizationRequired: false
                                    isNonRepudiationRequired: false
Initiating Role : Buyer             timeToPerform: 24 hrs                                                         Reacting Role: Seller
                                    timeToAcknowledgeReceipt: 2 hrs
                                    timeToAcknowledgeAcceptance: 4 hrs                                                 isConfidential: Yes
                                    isIntelligibleCheckRequired: true                                                  isTamperProof: Yes
                                    isNonRepudiationOfReceiptRequired: false                                           isAuthenticated: Yes
                                    retryCount: 3


  <<RequestResponseActivity>>
                                                                                                             :QuoteEnvelope
                   obtain quote
  [Control Fail]


                   [Success]




                                    :QuoteRequest                                                    <<RespondingBusinessActivity>>
                                      Envelope
                                                                                                            calculate quote

                                                                          timeToPerform: 24 hrs
                               isConfidential: No                         timeToAcknowledgeReceipt: 2 hrs
                               isTamperProof: No                          timeToAcknowledgeAcceptance: false
                               isAuthenticated: No                        isIntelligibleCheckRequired: true
                                                                          isAuthorizationRequired: false
                                University of Vienna, Institute of Distributed and Multimedia Systems false
                                                                          isNonRepudiationRequired:




                                                                                                                                                                                                                                        30
      ebMS 2.0 Example


<eb:MessageHeader eb:id="…" eb:version="2.0" SOAP:mustUnderstand="1">
   <eb:From>
      <eb:PartyId>uri:company-a.com</eb:PartyId>
      <eb:Role>http://www.mylibrary.org/roles/buyer</eb:Role>
   </eb:From>
   <eb:To>
      <eb:PartyId>uri:company-b.com</eb:PartyId>
      <eb:Role>http://www.mylibrary.org/roles/seller</eb:Role>
   </eb:To>
   <eb:CPAId>http://www.myexample.org/cpa/101010</eb:CPAId>
   <eb:ConversationId>4711</eb:ConversationId>
   <eb:Service>uuid:purchaseOrderManagement</eb:Service>
   <eb:Action>obtainQuote</eb:Action>
   <eb:MessageData>
      <eb:MessageId>UUID-1</eb:MessageId>
      <eb:Timestamp>2005-03-29T10:21:14</eb:Timestamp>
      <eb:TimeToLive>2005-03-30T10:21:14</eb:TimeToLive>
   </eb:MessageData>
   <eb:DuplicateElimination/>
</eb:MessageHeader>

                   University of Vienna, Institute of Distributed and Multimedia Systems




      ebMS 2.0 Manifest Element

                                       <eb:Manifest eb:id="Manifest" eb:version="2.0">
                                         <eb:Reference eb:id="pay01"
                                                         xlink:href="cid:payload-1"
                                                         xlink:role="http://mylibrary.org/quoteRequest">
                                           <eb:Schema eb:location="http://mylibrary.org/quoteRequest.xsd"
                                                    eb:version="2.0"/>
                                           <eb:Description xml:lang="en-US">
                                                  A quote request for a book on UMM.
                                           </eb:Description>
                                         </eb:Reference>
                                       </eb:Manifest>




                   University of Vienna, Institute of Distributed and Multimedia Systems




                                                                                                            31
                   Outline



                          B2B – An Introduction
                          ebXML Basics
                          ebXML – Business Processes
                          ebXML – Core Components
                          ebXML – Profiles & Agreements
                          ebXML – Messaging
                          ebXML – Registry




                                         University of Vienna, Institute of Distributed and Multimedia Systems




                   ebXML Registry / Repository



                          The Registry is the heart of ebXML.
                          Powerful system of Registries and Distributed
                          Repositories.
                          Loosely coupled.
                          Registries contain pointers and meta information. Meta
                          information constrained by Registry Information Model
                          (RIM)
                          The Registry Services exposed by the interfaces have set
                          metadata for expressing queries and returns.


                                                                                     RIM                         I/O
                                    Repository           Synchronization            Registry API



                                         University of Vienna, Institute of Distributed and Multimedia Systems
Source: Adobe 2003, Duane Nickull




                                                                                                                       32
      ebXML Registry



         ebXML Registry provides services for sharing
         information between parties enabling business
         process integration
         The information types to be shared are:
             Core Components
             Business Process Definitions
             Profiles
             etc.
         The shared information (independent of type) is
         maintained as object
         Each object has its own unique ID
         UIDs are used to reference registered objects


                   University of Vienna, Institute of Distributed and Multimedia Systems




      <Thanks/>



<Lecturer>
   <Name>Christian Huemer</Name>
   <Company>University of Vienna</Company>
   <Dept>Institute of Distributed and Multimedia Systems</Dept>
   <Address>
          <Street>Liebiggasse 4/3-4</Street>
          <ZIP>1010</ZIP><City>Vienna</City>
          <Country>Austria</Country>
   </Address>
   <Contact>
          <Telephone>+43-1-4277-38434</Telephone>
          <Email>christian.huemer@univie.ac.at</Email>
          <Http>www.cs.univie.ac.at/christian.huemer</Http>
   </Contact>
   <? Presentation status="questions" ?>
</Lecturer>




                   University of Vienna, Institute of Distributed and Multimedia Systems




                                                                                           33