Presentation is loading. Please wait.

Presentation is loading. Please wait.

Settembre 2007 - DEPUIS Modena - 1 The collaborative framework ebXML Cristiano Novelli

Similar presentations


Presentation on theme: "Settembre 2007 - DEPUIS Modena - 1 The collaborative framework ebXML Cristiano Novelli"— Presentation transcript:

1 Settembre 2007 - DEPUIS Modena - 1 The collaborative framework ebXML Cristiano Novelli cristiano.novelli@bologna.enea.it

2 Settembre 2007 - DEPUIS Modena - 2 Modules Summary 1. ebXML architecture overview 2. ebXML Business Process 3. CPP/CPA Collaboration Protocol 4. ebMS Messaging System 5. freebXML initiative 6. ebXML and Web Services

3 Settembre 2007 - DEPUIS Modena - 3 Module 1: ebXML architecture overview In this first module we will examine: 1.what ebXML is and its history 2.which characteristics ebXML offers and does not offers 3.how ebXML works (a simple use case) 4.the main elements of the architecture 5.how to implement ebXML in four phases 6.benefits of ebXML

4 Settembre 2007 - DEPUIS Modena - 4 ebXML overview ebXML (electronic business using XML, [ebXML]) ebXML is a set of specifications that together enable a modular, yet complete, XML-based, electronic business framework. The vision of ebXML is “to create a single global electronic marketplace where enterprises of any size and in any geographical location can meet and conduct business with each other through the exchange of XML based messages. ebXML enables anyone, anywhere, to do business with anyone else over the Internet”. ebXML started in 1999 as a joint initiative between the United Nations Centre for Trade facilitation and Electronic Business (UN/CEFACT) [UN/CEFACT] and the Organization for the Advancement of Structured Information Standards (OASIS) [OASIS]. The International Standards Organization (IS0) has approved, in March 29 2004, a suite of four ebXML OASIS Standards (ISO/TS 15000) [CPISO]

5 Settembre 2007 - DEPUIS Modena - 5 What ebXML offers and does not offer ebXML offers: - a set of standard specifications to reach up P2P collaborations (in B2B but also in eHealth and eGovernment) - a methodology to build a set of templates of XML documents based on common components - a communication protocol for P2P secure and reliable communications - a set of XML specifications to represent collaborative processes, company profiles and intercompany agreements ebXML does not offer: - a set of reference business processes for B2B - a set of predefined standard XML documents to be exchanged - a software implementation (but open-source software implementation are available in freebXML [FREEBXML] initiative and others) - a specific sectorial domain solution

6 Settembre 2007 - DEPUIS Modena - 6 ebXML Use Case

7 Settembre 2007 - DEPUIS Modena - 7 The collaborative framework 1/2 (comments of the “Use Case Scenario” figure) 1.Company A will first review the contents of an ebXML Registry, especially the Core Library which may be downloaded or consulted on-line. The Core Library (and maybe others registered Business Processes) will allow Company A to determine the requirements for their own implementation of ebXML. 2.Company A can build or buy an ebXML implementation suitable for its ebXML transactions. The hope of the ebXML initiative is that vendors will support all of the elements of ebXML. At such time, an "ebXML system" might be little more than a commercial desktop application. Or maybe, more realistically, the ebXML system will at least be as manageable as a commercial database system. 3.The next step is for Company A to create and register a profile (CPP) with the Registry. Company A might wish to contribute new Business Processes to the Registry, or simply reference available ones. The CPP will contain the information necessary for a potential partner to determine the business roles in which Company A is interested, and the type of protocols it is willing to engage in for these roles.

8 Settembre 2007 - DEPUIS Modena - 8 The collaborative framework 2/2 (comments of the “Use Case Scenario” figure) 4.Once Company A is registered, Company B can look at Company A's CPP profile to determine if it is compatible with Company B's CPP profile and requirements. 5.At that point, Company B should be able to negotiate a CPA agreement automatically with Company A, based on the compatibility of the profiles CPPs, plus agreement protocols, given as ebXML standards or recommendations. 6.Finally, the two companies begin actual transactions. These transactions are likely to involve Business Messages conforming to further ebXML standards and recommendations. ebXML will have helped in agreeing to, monitoring, and verifying the "real-world" activities (for example, the shipment of goods from one place to another, or the rendering of services).

9 Settembre 2007 - DEPUIS Modena - 9 Architecture Elements a.Core Components b.Registry / Repository c.Business Process Specification Schema d.Collaboration Protocol Profile and Agreement e.Messaging Service

10 Settembre 2007 - DEPUIS Modena - 10 a. Core Components Core Components are intended to be the basic information elements used in business messages (e.g. “name” to define a Party name) CC are reusable data elements that identify some abstract concept and require business context before they can be used in practice (e.g. “U.S. address” is the “address” concept in “U.S.” context) Business Context is a mechanism for qualifying and refining Core Components according to their use under particular business circumstances. Once Business Contexts are identified, Core Components can be differentiated to take into account any necessary qualification and refinement needed to support the use of the Core Component in the given Business Context ebXML don’t provide a standard XML format for the data exchange but, through the CC, it is possible to define it e.g. UBL (Universal Business Language) [UBL] is a standard format XML-based; it defines Business Information Entities (BIEs), which are contextualized Core Components, to allow the definition of generic and cross-sectorial business messages

11 Settembre 2007 - DEPUIS Modena - 11 b. Registry / Repository The registry is a database of items that support doing business electronically Technically speaking, a registry stores information about items that actually reside in a repository. The two together can be thought as a database Items in the repository are created, updated, or deleted through requests to the registry The specific implementation of the registry/repository database is not specified, but only how other applications interact with the registry (registry services interfaces) and the minimum information model (the types of information that is stored about the registry items) that the registry must support Examples of items in the registry might be XML schemas of business documents, definitions of library components for business process modeling, and trading partner agreements A goal of the ebXML registry is to support a fully distributed, networked set of interacting registries that would provide transparent interaction to any ebXML compliant registry by interfacing with each of them

12 Settembre 2007 - DEPUIS Modena - 12 c. Business Process Specification Schema A Specification Schema provides the definition of an XML document that describes how an organization conducts its business While the CPA/CPP deals with the technical aspects of the electronic business, the Specification Schema deals with the actual business process It identifies things like the overall business process, the roles, the transactions, the identification of the business documents used (the DTDs or schemas), the document flow, the legal and security aspects and the business level acknowledgments The Specification Schema can be formalized with: - UN/CEFACT's Modeling Methodology (UMM) [UMM], UML-based - OASIS ebXML Business Process (ebBP) [ebBP], XML-based A Specification Schema can be used by a software application to configure the business details of conducting business electronically with another organization

13 Settembre 2007 - DEPUIS Modena - 13 d. Collaboration Protocol Profile (CPP) and Agreement (CPA) The Collaboration Protocol Profile (or CPP): - provides the definition (DTD and W3C XML schema) of an XML document that specifies the details about the capability of an organization to conduct electronic business - specifies how to set contacts and other information about the organization, the types of network and supported file transport protocols, network addresses, security implementations and how it does business (references to one or more Business Process Specifications) The Collaboration Protocol Agreement (or CPA) - specifies the details that two organizations have agreed to conduct business electronically - is built by combining the CPPs of the two organizations - can be used by a software application to configure the technical details of conducting business electronically with another organization The CPA/CPP specification discusses the general tasks and issues in creating a CPA from two CPPs. However, for various reasons it doesn't specify an actual algorithm for doing it

14 Settembre 2007 - DEPUIS Modena - 14 e. Messaging Service (ebMS) The ebXML Message Service (ebMS) defines the message enveloping and header document schema used to transfer ebXML messages over a communications protocol and the behavior of software sending and receiving ebXML messages This provides a standard way to exchange business messages between organizations It provides for means to exchange a payload (which may or may not be an XML business document) reliably and securely It also provides means to route a payload to the appropriate internal application once an organization has received it The messaging service specification does not dictate any particular file transport mechanism (such as SMTP, HTTP, or FTP) or network for actually exchanging the data, but is instead protocol neutral

15 Settembre 2007 - DEPUIS Modena - 15 ebXML implementation To implement an ebXML collaborative framework we describe the four needed phases, grouped in two main step: setup and execution Framework Setup (preparation step): 1. the community organization defines the Business content and configure an ebXML Registry, 2. the parties that want to participate to collaborative framework create their CPP profile and register it into the ebXML Registry; Execution (operative step): 3. the parties achieve a Collaboration Agreement, 4. at this point the real Business Collaboration can begin (operative phase) In the next four slides we describe in details these four phases

16 Settembre 2007 - DEPUIS Modena - 16 Phase 1. Business content definition The business contents definition is job of a community organization (i.e. consortiums, associations, etc.) Business contents:  Business Documents: describe sets of standard business information (for example “Order” document) that enterprises will exchange ebXML does not define business documents but provide a methodology and the core components, to make them  Business Processes: describe the roles and the business documents flow related to trading processes (for example “Supply Product X” business process) The business content are stored into the ebXML Registry and are available for the users community

17 Settembre 2007 - DEPUIS Modena - 17 Phase 2. CPP creation Each enterprise, that intends to join the collaborative framework, defines its own XML Collaboration Protocol Profile (through ebXML CPP standard) Each profile identifies: - the party business capabilities related to one or more collaborative business processes (for example which business documents it supports) - the technical capabilities to send and to receive business documents through internet (for example transport protocol, certificate, cryptography algorithm, etc.) The collaboration protocol profiles are stored into the ebXML Registry

18 Settembre 2007 - DEPUIS Modena - 18 Phase 3. CPA achievement Two enterprises may decide to do business if they support a common subset of documents, processes and transports that have been declared into the CPP profile The way to achieve a business agreement is the CPPs profiles comparation; the result of this negotiation process is described throught an ebXML Collaboration Protocol Agreement (CPA) The negotiation process checks if two parties are compatible to begin a business collaboration The CPA can be digitally signed to acquire legal value

19 Settembre 2007 - DEPUIS Modena - 19 Phase 4. Begin Business Collaboration The CPA describes the achieved agreement between two parties on: - complementary capabilities related to one or more business processes that describe the messages workflow - common technical capabilities to send and to receive business documents on the same delivery channel The software applications, handling business messages exchange (Message Service Handlers), use the CPA agreement as configuration file to automatically initialize its own setting The operative business collaboration can begin

20 Settembre 2007 - DEPUIS Modena - 20 Summary of the four phases ebBP UBL CPP CPA ebMS 1.An organization (association, community) defines the business documents (e.g. UBL) and processes of the framework 1 2 3 2.Each enterprise makes or adjusts its own CPP profile 3.Each couple of enterprise negotiates a CPA agreement. 4 4.Messages exchange can start

21 Settembre 2007 - DEPUIS Modena - 21 ebXML benefits ebXML: enables a complete XML-based collaborative framework is modular, therefore a community can adopt even one ebXML standard only integrates the most diffused web technologies is data format independent (e.g. it is possible to use UBL [UBL], MODA-ML [MML], HL7 CDA [CPCDA], etc.) is platform independent is communication protocol independent is development languages independent is accessible to SMEs (low cost of adoption)

22 Settembre 2007 - DEPUIS Modena - 22 Module 1: Conclusions In this first module we have discussed about: a)ebXML overview, definition and history b)what ebXML is and what ebXML isn’t c)an ebXML use case scenario d)the specifications and standards that compose the ebXML framework e)the four phases to perform to implement ebXML f)the benefits from the use of ebXML

23 Settembre 2007 - DEPUIS Modena - 23 Test Module 1: Question 1 ebXML : 1.is a new metalanguage, XML competitor 2.is a set of standards to provide an electronic business framework 3.is a new standard organization for new XML-based standard 4.is a set of XML messages established between OASIS and UN/CEFACT 5.allows enterprises in any geographical location to meet and conduct business each other

24 Settembre 2007 - DEPUIS Modena - 24 Test Module 1: Question 2 ebXML: 1.can be used in eHealth sector 2.is a software implementation for information exchange for e-business 3.offers a communication protocol for P2P secure and reliable communications 4.is a specific sectorial domain solution 5.offers a set of predefined standard UBL documents to be exchanged

25 Settembre 2007 - DEPUIS Modena - 25 Test Module 1: Question 3 About the ebXML use case scenario: 1.It is a description of the phases to perform to achieve a business collaboration through ebXML 2.The ebXML Registry allows the search for an ideal party 3.The ebXML Registry allows parties to examine public Core Library to determine the requirements for ebXML implementation 4.A CPA agreement is based on the compatibility of two CPP profiles 5.A CPP profile is based on the compatibility of two CPA agreements

26 Settembre 2007 - DEPUIS Modena - 26 Test Module 1: Question 4 About the elements of the ebXML architecture: 1.The Core Components are the basic information elements used in the business messages 2.The ebXML registry is a file descriptor 3.The collaboration protocols, CPP and CPA, allow the parties to describe business profiles and to achieve business agreements 4.The standard ebBP allows to describe business processes 5.The ebMS standard is protocol neutral, is not bound to a specific file transport mechanism (such as SMTP, HTTP, or FTP)

27 Settembre 2007 - DEPUIS Modena - 27 Test Module 1: Question 5 About the ebXML implementation: 1.to implement ebXML is not necessary a setup of framework 2.the business contents are stored into the system of each party only, not in the ebXML Registry 3.the CPP profile creation and registration is an operation located in the operative phase of framework 4.the CPP profile identifies the technical capabilities to send and to receive business documents 5.the Message Service Handler (MSH) uses the CPA agreement as configuration file to automatically initialize its own setting

28 Settembre 2007 - DEPUIS Modena - 28 Test Module 1: Responses The “true” responses Question 1: 3,5 Question 2: 1,3 Question 3: 1,2,3,4 Question 4:1,3,4,5 Question 5:4,5

29 Settembre 2007 - DEPUIS Modena - 29 Summary 1. ebXML architecture overview 2. ebXML Business Process 3. CPP/CPA Collaboration Protocol 4. ebMS Messaging System 5. freebXML initiative 6. ebXML and Web Services

30 Settembre 2007 - DEPUIS Modena - 30 Module 2: ebXML Business Process In this module we will examine the ebXML standard ebBP. In particular: 1.Definition of ebXML Business Process (ebBP) and explanation of what ebBP is 2.Key concepts of ebBP 3.“Business Transaction” concept in the business process context 4.“Business State” concept 5.XML representation of ebBP

31 Settembre 2007 - DEPUIS Modena - 31 ebBP (ebXML Business Process) Def: ebXML Business Process (ebBP) provides a standards-based business process foundation that promotes the automation and predictable exchange of business collaboration definitions using XML A business process (e.g. “Product X Supply”) can be formally rappresented through an XML document with ebBP XML standard [ebBP] (ebXML Business Process Specification Schema). Messages BuyerSupplier Order Order Response Enterprise B Enterprise A Front end

32 Settembre 2007 - DEPUIS Modena - 32 ebBP: Key Concepts 1/3

33 Settembre 2007 - DEPUIS Modena - 33 ebBP: Key Concepts 2/3 The follow key concepts are used to describe a Business Collaboration with ebBP standard: Party (Parter): A Party is an entity such as a company, department, organisation or individual that can generate, send and receive Documents (e.g. Enterprise “Bianchi S.p.A.”) in the collaboration. Role: The named specific behaviour of an entity participating in a particular context. A Party can play one or more roles in one or more business process (e.g. role “Supplier” in “Product X Supply” business process ) Business Document: The set of information components that are exchanged as part of a business activity between two roles Document Flow: set of business documents exchanged between two parties Business Action: Document (e.g. “Order” document) sending or receiving action and related business signals Business Signal: Message that allows the synchronization between parties during communication (e.g. Receipt Acknowledgement) Business Transaction: A business transaction is a logical unit of business conducted by two or more parties that generates a computable success or failure state. A business transaction is a Business Action pair (e.g. the “Purchase Order” business transaction is composed from “Order” and “Order Response” business documents and signals for synchronization).

34 Settembre 2007 - DEPUIS Modena - 34 ebBP: Business Transaction Buyer (Requester Role) Supplier (Responder Role) Def: A business transaction is an atomic unit of work and cannot be decomposed into lower-level business transactions. Each business transaction is expressed as an exchange of electronic business documents, i.e. one or two predefined business document flows. A Business Transaction is performed by 2 roles:  Requester is the role that sends a request  Responder is the role that sends the response Business Transaction “Purchase Order” Request (e.g. “Order”) Response (e.g. “Order Response”)

35 Settembre 2007 - DEPUIS Modena - 35 ebBP: Key Concepts 3/3 Business Activity: A business activity (BA) is used to represent the state of the business process of one of the partners. A business activity is the execution of a single business transaction, or business transaction set, with a predefined TimeToPerform. When TimeToPerform temporal limit expires the transaction becomes invalid. Choreography: Choreography is a declaration of the activities within a collaboration and the sequencing rules and dependencies between these activities. In others words a choreography describes behaviour and rules set for the roles of the business process, therefore each actor knows precisely what to do in each moment of the collaboration (which next business state to perform after the completion of the current state). Business Transition: A business transition specifies the passage from a business state to another business state. This passage can happens under predefined condition expressions. Condition Expression: The condition expressions allow to describe the business process workflow, context dependent (e.g. an expression condition can check the element value of a received document and then decide the next business state) Gateway: The gateway is a particular mechanisms to describe transitions from one business state to two business states (Decision), from one business state to many business states (Fork), from many business states to one business state (Join). Also these mechanisms can use the condition expression.

36 Settembre 2007 - DEPUIS Modena - 36 ebBP: Business State Business states: Start, BusinessActivity (BA), End Successful, End Failure A business transition from a generic state S1 to generic state S2 can happen when the business transaction, S1 related, is in the completation state The choreography defines the business process workflow as business transition set. An ebBP XML istance can be used to configure a workflow machine The business process at the right side is expressed with the BPMN [BPMN] notation. The “Create Order” and “Notify Shipment” business transactions are also business states BPMN notation [BPMN]

37 Settembre 2007 - DEPUIS Modena - 37 ebBP: XML Representation 1/3 The ebBP XML representation is based on a composition approach The composition approach allows to define (before) the business process key concepts and then to coordinate (after) these elements by referencing The vantage of composition approach is the power to divide the whole collaboration in more little, simples, indipendents and reusables “sub- processes” Conceptually, we can divide the ebBP XML representation in three main levels: 1. business documents definition 2. business transactions definition 3. business collaboration definition Each level is defined by costruction of concepts of previous level: - business documents are defined - business transactions refer the defined business documents - business collaboration refer the defined business transactions - business collaboration can refer defined business collaboration, representation of reusables “sub-processes” In this way ebBP defines the basic concepts in different abstraction levels and then riuses this concepts (one or more time)

38 Settembre 2007 - DEPUIS Modena - 38 ebBP: XML Representation 2/3 The main XML elements to define an ebBP representation:  BusinessDocument (BD) (for example we can define the XML elements for the “Order” and “Order Response” business documents)  BusinessTransaction (BT) (for example we can define a “Purchase Order” business transaction XML element that refer the “Order” and “Order Response” BD)  BusinessCollaboration (BC) (for example we can define a “Product X Supply” business process that refer the “Purchase Order” business transaction XML element) Different BusinessCollaboration elements can refer same business transaction one or more time and different business transactions can refer the same business document one or more time. The BusinessCollaboration XML element refers the BusinessTransaction XML elements by BusinessTransactionActivity definition. Therefore, the BusinessTransactionActivity is the execution of a business transaction The BusinessTransactionActivity represent a business state The BusinessCollaboration XML element also specifies the choreography through roles definition, transition definitions, gateways, condition expressions In the next slide we will show the XML syntax of an example of ebBP representation

39 Settembre 2007 - DEPUIS Modena - 39 <BusinessTransactionActivity … businessTransactionRef=“bt-25” /> ebBP: XML Representation 3/3

40 Settembre 2007 - DEPUIS Modena - 40 Module 2: Conclusions In this module we have discussed about: a)what ebXML Business Process (ebBP) is, a standard for the XML rappresentations of business collaborations b)the main key “business” concepts of ebBP: Parter (Party), Role, Document, Document Flow, Action, Signals, Transaction, Activity, Choreography, Transition, Condition Expression, Gateway, States c)XML representation of ebBP in terms of composition and reusability

41 Settembre 2007 - DEPUIS Modena - 41 Test Module 2: Question 1 ebBP: 1.is acronym of ebXML Business Profile 2.is a standard to describe business documents 3.is a standard to describe core components 4.is a standard to describe business processes 5.can not be formally rappresented through an XML syntax

42 Settembre 2007 - DEPUIS Modena - 42 Test Module 2: Question 2 About the ebBP key concepts : 1.a party is an entity, such as a company, that can generate, send and receive documents in a business collaboration 2.a party can play one or more roles in one or more business process 3.two o more parties exchange information through a set of business documents 4.during communication between two parties it is necessary a synchronization, for this scope the business signals are used 5.a business transaction is, for example, a request document, a response document and the business signals

43 Settembre 2007 - DEPUIS Modena - 43 Test Module 2: Question 3 Again about the ebBP key concepts : 1.a business activity (BA) is used to represent the state of the business process of one of the partners 2.the choreography is a XML Schema list related to the business documents that the party can use in the business process 3.the choreography describes behaviour and rules set for the roles in the business process 4.the transitions, descripted in the choreography, specifies the passage from a business state to another business state 5.the condition expressions is not related to the workflow of business process 6.the gateway is not related to the workflow of business process

44 Settembre 2007 - DEPUIS Modena - 44 Test Module 2: Question 4 About the XML representation of ebBP: 1.“BusinessCollaboration”, “BusinessTransactionActivity”, “BusinessProcesses” and “BusinessDocument” are names of XML elements of ebBP standards 2.the approach used is the composition and reusability of XML elements 3.an element “BusinessTransaction” can recall two business documents by a reference identifier 4.a Business Transaction is composed by a requesting and a responding business activities 5.the choreography is specified inside the “BusinessDocument” element 6.the choreography is specified in the “BusinessCollaboration” element

45 Settembre 2007 - DEPUIS Modena - 45 Test Module 2: Responses The “true” responses Question 1: 4 Question 2:all Question 3:1,3,4 Question 4:2,3,4,6

46 Settembre 2007 - DEPUIS Modena - 46 Summary 1. ebXML architecture overview 2. ebXML Business Process 3. CPP/CPA Collaboration Protocol 4. ebMS Messaging System 5. freebXML initiative 6. ebXML and Web Services

47 Settembre 2007 - DEPUIS Modena - 47 Module 3: CPP/CPA Collaboration Protocol In this module we will examine: 1.General description of ebXML profile CPP and the ebXML agreement CPA 2.the standard ebXML Collaboration Protocol Profile CPP and its functionalities 3.XML representation and structure of CPP, in particular: - CollaborationRole element to specify characteristics related to one or more business processes described with ebBP - DeliveryChannel element to specify the data transmission channels and related s ecurity characteristics 4.the standard ebXML Collaboration Protocol Agreement CPA and its functionalities 5.ebBP, CPP and CPA relationship 6.multiparty business collaboration use case scenario

48 Settembre 2007 - DEPUIS Modena - 48 CPPA ebXML Collaboration Protocol Profile (CPP) and ebXML Collaboration Protocol Agreement (CPA) are part of the same technical specification [CPPA] and are standard ISO TS 15000-1 [CPISO] CPP: business profile to describe party information CPA: business agreement to describe two parties that want to collaborate and to exchange information in the same business collaboration The ebXML CPP and CPA specification is defined by the same XML syntax (see the OASIS CPPA TC [CPPA]); therefore, both CPP and CPA instances are validated against the same XML Schema The CPPA standard allows to specify:  Party information (e.g. name, URL, id)  Business process customization (ebBP related)  Business documents packaging  Delivery channel (transport protocols, message envelope)  Security details

49 Settembre 2007 - DEPUIS Modena - 49 Enterprise BEnterprise A CPP (Collaboration Protocol Profile) Each enterprise defines its own CPP profile to partecipate to the collaborative framework Each enterprise defines in its own profile:  How to execute the business process (ebBP)  Which communication and security protocols are available The enterprise publishes its own business profile to an ebXML Registry Front end CPP Profile A CPP Profile B ebBP (o BPSS) Processo di Business ebBP Business Process Messages

50 Settembre 2007 - DEPUIS Modena - 50 CPP: XML Representation 1/2 The main sections of XML structure of CPP: 1.CollaborationRole: describes the Party’s role in the supported business process that, usually, is represented with ebBP (e.g. Party can describe in its own profile that play the role “Supplier” in “Product X Supply” business process) 2.DeliveryChannel: specifies delivery channels for the messages. DeliveryChannel is defined as transport and messaging protocols combination  Transport: available transport protocols (e.g. HTTP, SMTP, etc.) for messages sending and receiving, endpoint related, authentication and security characteristics.  DocExchange: specifies the message envelope type (e.g. ebMS, WS) and reliable messaging protocol related (e.g. XML Signature e XML Encryption) 3.Packaging: defines business message structure by costituents composition list In the next slide we will show the XML syntax of general structure of CPP representation

51 Settembre 2007 - DEPUIS Modena - 51 … ( )+ … ( )+ … … ( )+ … CPP: XML Representation 2/2

52 Settembre 2007 - DEPUIS Modena - 52 CPP: CollaborationRole 1/2 In a collaboration Profile CPP, each CollaborationRole element describes how the party will play a business role related to a business process specified by an ebBP The CollaborationRole characteristics:  name, uuid, url of the specified ebBP  role played by Party  business actions, described in the ebBP, that Party wants to support. Each business action is the sending or receiving of a business document  For each supported business action it is necessary to specify: - a predefined delivery channel - a predefined packaging - business transaction characteristics (e.g. authentication, non repudiation, time to perform, etc.) If the Party changes or adds business services (e.g. new delivery channels) he updates and changes its own collaboration profile

53 Settembre 2007 - DEPUIS Modena - 53 <ProcessSpecification name=“Product X Supply” uuid=“procID-X” href=“http://www.community.org/ebbp/procID-X.xml”/> ( ) + … ( )+ CPP: CollaborationRole 2/2

54 Settembre 2007 - DEPUIS Modena - 54 CPP: DeliveryChannel Each DeliveryChannel XML element describes the sending/receiving characteristics for a particular channel Each channel is a Transport - DocExchange combination Delivery Channel DC1 Transport T1Transport T2Transport T3 Doc.Exch. X1Doc.Exch. X2Doc.Exch. X3 Delivery Channel DC2 Delivery Channel DC3

55 Settembre 2007 - DEPUIS Modena - 55 CPP: DeliveryChannel Examples Delivery Channel DC1 DC1 and DC2 are totally compatibles DC1 and DC3 are partially compatibles SMTP HTTP Sending: Receiving: Sending: Receiving: Transport T1Transport T2Transport T3 Doc.Exch. X1Doc.Exch. X2Doc.Exch. X3 ebMS HTTP SMTP ebMS HTTP WS ebMS Delivery Channel DC2 Delivery Channel DC3

56 Settembre 2007 - DEPUIS Modena - 56 CPP: Channel Security XML elements related to security [SEC]:  Certificate: this XML element specifies the set of keys used in the encryption process to sign and encode messages  Transport: the Transport XML element contains XML subelements to define the security characteristics related to transport protocol (e.g. SSL or TLS parameters)  DocExchange: the DocExchange XML element contains XML subelements to specify message exchange security characteristics: - message signature: Digital signature (e.g. XML Signature [XMLDS]) is used to ditally sign the ebXML envelope and payload to guarantee the message non-repudiation - message encryption: Encryption (e.g. XML Encryption [XMLENC], default choice in ebXML) is used to encode/decode ebXML envelope and payload to guarantee privacy during the data trasmission

57 Settembre 2007 - DEPUIS Modena - 57 CPA (Collaboration Protocol Agreement) Each couple of enterprises that want to set up a business collaboration tries to achieve an agreement. The Collaboration Agreement can be achieved from the comparison of two CPPs and formalized with the ebXML CPA standard protocol The CPPs comparison is a negotiation process to obtain the CPA agreement resolving the potential incompatibilities and ambiguities Compatible XML elements of profiles are inserted into the CPA Front end Enterprise B Enterprise A CPP Profile A CPP Profile B CPA Collaboration Agreement ebBP (o BPSS) Processo di Business ebBP Business Process Messages

58 Settembre 2007 - DEPUIS Modena - 58 ebBP, CPP and CPA relationship An ebBP describes a business process in order to obtain a general rappresentation, expression of all possible parties interactions, all possible exchange of business documents, all possible roles that a party can play in this process. ebBP is a description of what is possible in the business collaboration A CPP describes a single enterprise relatively to one or more business processes. In the profile, for each specified business process, the enterprise defines which characteristics will support and how will execute the process. CPP is a description of what the enterprise can do A CPA, result of CPPs comparison, describes the achieved agreement between two parties. CPA is a description of what the enterprises will do toghether, CPA is a representation of supported and complementary characteristics for a particular business collaboration between two parties Possibility – What is possible - ebBP Capability – What the enterprise can do - CPP Agreement – What the enterprises agree to do together - CPA

59 Settembre 2007 - DEPUIS Modena - 59 Multiparty Business Collaboration 1/3 To establish a business collaboration:  each party defines its own CPP profile  all ( communicating) parties have the same business process reference (ebBP), the business process describes the document flow among their roles CPP B Party B MSH CPP A Party A MSH

60 Settembre 2007 - DEPUIS Modena - 60 Multiparty Business Collaboration 2/3 CPP B Party B CPA A-B MSH CPP A Party A CPA A-B MSH The parties have to establish an agreement to obtain a CPA by CPPs comparison, resolving ambiguity and incompatibility. The CPA can be used as configuration file by a Message Service Handler (MSH), that is the enterprises front-end for documents exchange. The CPA contains all needed information to configure the business collaboration

61 Settembre 2007 - DEPUIS Modena - 61 Multiparty Business Collaboration 3/3 CPP B Party B CPA A-B CPA B-C MSH CPP A Party A CPA A-B CPA A-C MSH CPP C Party C CPA A-C CPA B-C MSH Each ( communicating) couple of parties has to achieve a CPA agreement Each CPA is locally stored by the involved enterprises. CPA represents, for a party, a collaboration agreement with another party. CPA can be changed, updated, reutilized by involved parties

62 Settembre 2007 - DEPUIS Modena - 62 Module 3: Conclusions In this module we have discussed about: 1.General description of ebXML standard CPPA, composed by CPP and CPA 2.XML structure and representation of CPP and CPA, in particular: CollaborationRole, DeliveryChannel, Transport, DocExchange, Packaging XML elements 3.ebBP, CPP and CPA relationship 4.a Multiparty Business Collaboration use case scenario

63 Settembre 2007 - DEPUIS Modena - 63 Test Module 3: Question 1 About CPP and CPA: 1.are an ebXML standard 2.are a W3C standard 3.are an ISO standard 4.are a XML-based standard with the same XML Schema 5.CPP allows two parties to describe their business agreement 6.CPA allows each party to describe its own business profile 7.CPA allows to specify transport protocols that the parties will use to exchange information

64 Settembre 2007 - DEPUIS Modena - 64 Test Module 3: Question 2 The CPP: 1.is a business profile (one for each party) 2.is a business agreement (one for each couple of party) 3.describes communication and security protocols available for the party 4.describes the ebXML Registry services 5.describes which business processes the party will perform

65 Settembre 2007 - DEPUIS Modena - 65 Test Module 3: Question 3 About XML elements of CPP: 1.CollaborationRole describes the business messages structure 2.CollaborationRole describes the role that the party will play related to a predefined business process 3.DeliveyChannel describes the role that the party will play related to a predefined business process 4.DeliveyChannel describes channels used to send and to receive the messages 5.Packaging describes the business processes 6.Packaging describes transport protocols characteristics

66 Settembre 2007 - DEPUIS Modena - 66 Test Module 3: Question 4 About CollaborationRole XML element: 1.refers two ebBP file by CPA 2.refers an ebBP file by url 3.allows to the user to declare which channel will be used with each message 4.allows to the user to declare which business processes are supported 5.allows to the user to declare which business documents are supported

67 Settembre 2007 - DEPUIS Modena - 67 Test Module 3: Question 5 About DeliveryChannel XML element of CPP: 1.Is a combination of Transport and CollaborationRole XML elements 2.Is combination of Packaging and DocExchange XML elements 3.two channels are compatibles if the sending characteristics of the first are coherents with receiving characteristics of the second 4.two channels are compatibles if the receiving characteristics of the first are coherents with sending characteristics of the second 5.two channels are not compatibles if the transport protocol is HTTP only 6.the subelement DocExchange allows to specify Digital signature and encryption characteristics for the channel

68 Settembre 2007 - DEPUIS Modena - 68 Test Module 3: Question 6 The CPA: 1.is a business profile (one for each party) 2.is a business agreement (one for each couple of party) 3.describes communication and security protocols available for the couple of parties 4.describes the ebXML Registry services 5.describes which business processes the couple of parties will perform

69 Settembre 2007 - DEPUIS Modena - 69 Test Module 3: Question 7 About the Multiparty Business Collaboration use case scenario: 1.an ebBP describes a business process common to all parties 2.Each couple of parties establish an agreement CPA from two CPP 3.Each CPA is a description of communication between two parties 4.Each CPA is a description of communication among three parties 5.Each party has itw own CPP profile and a CPA agreement for each communicating parter

70 Settembre 2007 - DEPUIS Modena - 70 Test Module 3: Responses The “true” responses Question 1: 1,3,4,7 Question 2:1,3,5 Question 3: 2,4 Question 4: 2,3,4,5 Question 5:3,4,6 Question 6: 2,3,5 Question 7:1,2,3,5

71 Settembre 2007 - DEPUIS Modena - 71 Summary 1. ebXML architecture overview 2. ebXML Business Process 3. CPP/CPA Collaboration Protocol 4. ebMS Messaging System 5. freebXML initiative 6. ebXML and Web Services

72 Settembre 2007 - DEPUIS Modena - 72 Module 4: ebMS Messaging System In this module we will examine: 1.general description of ebXML Message Service (ebMS) 2.ebMS technical specifications overview 3.ebMS envelope 4.the “business transaction” concept in the message service context 5.ebMS reliable protocol messages exchange: simple and complex scenarios

73 Settembre 2007 - DEPUIS Modena - 73 ebMS (ebXML Message Service) 1/3 ebXML Message Service (ebMS) provides a way for a reliable business documents exchange ebMS 2.0 specification [ebMS] is an ebXML standard and ISO TS 15000-2 standard [CPISO] ebMS is: - communication protocol indipendent (e.g. it can be applied on different protocols: HTTP, SMTP, FTP, etc.) - message content indipendent (e.g. it can contain EDI document, XML document, etc.) DOC ebMS Envelope ebMS is based on preexistent and more diffused XML security technologies (e.g. XML Signature [XMLSIGN] and XML Encryption [XMLENC]) The ebMS 3.0 Core specification, approved as a Committee Specification on 12 July 2007, introduces web services integration using other preexistent security specifications (e.g. WS-Security [WSS] and WS-Reliability [WSR]) Messages Enterprise BEnterprise A MSH

74 Settembre 2007 - DEPUIS Modena - 74 ebMS (ebXML Message Service) 2/3 ebMS specification defines: 1. message structure 2. messages exchange characteristics (messaging service) The ebXML message structure header is defined with XML syntax (SOAP Message with Attachments [SOAPATT]) but the message body (payload) is not expressed necessarily in XML (e.g. binary files) The messaging service is composed of:  Access service abstract interface  Message Service Handler (MSH): to sign, to encrypt and to package the message  Communication protocol binding (e.g. HTTP, SMTP, FTP) DOC Messages Azienda BAzienda A MSH

75 Settembre 2007 - DEPUIS Modena - 75  The ebXML message makes use of SOAP with Attachment, therefore it can be sent on the most diffused communication protocols  The message is constituted of a SOAP Envelope and one or more Payload Container  The SOAP Envelope contains: - Header: message check information - Body: descriptor of the content of the Payload Containers  Each Payload Container contains a single document to be sent  The Business Documents contain business information to be sent to the receiver of the message ebMS 3/3 ebMS 2.0 Message Structure

76 Settembre 2007 - DEPUIS Modena - 76 ebMS: Business Transaction Customer (Requester Role) Supplier (Responder Role) Request (e.g. “Order”) Response (e.g. “Order Response”) ReceiptAcknowledgement Signal AcceptanceAcknowledgement Signal Def: “A business transaction is a logical unit of business conducted by two or more parties that generates a computable success or failure state" The ebMS specification, like ebBP, defines a transaction as composition of: - Request Action: the action to send a request document from “requester” role to “responder” role - Response Action: the action to send a response document from “responder” role to “requester” role - Business Signals: to allow the communication alignment between “requester” and “responder”

77 Settembre 2007 - DEPUIS Modena - 77 ebMS: Reliability Messaging The features of reliable protocol messages exchange:  Acknowledgment (ack): service signals to confirm the message receipt and acceptance  Exception: message to notify the “catch” of an exception  Retries: predefined number of attempts to send the message if no ack receipt is received within a defined life time (RetryInterval)  Duplicate messages check  Messages persistent storage: Prior to sending a message, the sending ebXML Message Service will save the message in persistent storage. Once the message has been correctly received, the receiving ebXML Message Service will save the message in persistent storage and send an acknowledgement message to the sending ebXML Message Service. After sending, the ebXML Message Service receives the acknowledgement, it might delete the message from the persistent storage if no longer needed. If the sending ebXML Message Service does not receive acknowledgement, it can resend the message or notify the sending application that was unable to be deliver the message.

78 Settembre 2007 - DEPUIS Modena - 78 ebMS: simple scenario 1/2

79 Settembre 2007 - DEPUIS Modena - 79 ebMS: simple scenario 2/2  In a simple scenario: 1.Application layer of Sender A: - sends data to MSH layer of A, to prepare it to be sent to B; 2.MSH layer of sender A: - prepares the message inserting the data into the SOAP envelope, - inserts an ack notification request into the SOAP message, - saves message before sending, - sends the message to MSH receiver B; 3.MSH layer of receiver B: - receives the message, - checks if an acknowledgment notification request is present, - if “ack request” is present, sends the ack receipt to MSH of sender A to notify the successful message reception - saves message information into its own database and delivers the date to application layer of receiver B

80 Settembre 2007 - DEPUIS Modena - 80 ebMS: complex scenario 1/3

81 Settembre 2007 - DEPUIS Modena - 81 ebMS: complex scenario 2/3  In a complex scenario (with message loss): 1.Application layer of Sender A: - sends message to MSH layer of A, to preparare him to be sent to B; 2.MSH layer of sender A: - sends message to MSH of receiver B 3.MSH layer of receiver B: - receives message from MSH of sender A - sends to MSH A the ack receipt - sends the received message to application layer of receiver B 4.The acknowledgment receipt from B to A is lost 5.MSH layer of sender A: - waits the ack of B (but the ack is lost!) - when the prearranged waiting time expires, the MSH sends the message to B again

82 Settembre 2007 - DEPUIS Modena - 82 ebMS: complex scenario 3/3 6.The message from A to B is lost 7.MSH layer of sender A: - when the waiting time expires, if others attempts are available, sends again the message (third time) to B 8.The message from A to B is delivered 9.MSH layer of receiver B: - checks if message is present into the storage, - the message is into the storage, therefore deletes the received message - sends again acknowledgment receipt to MSH of sender A; 10.MSH sender A: - receives the ack signal 11.The business transaction achieves the final state and ends

83 Settembre 2007 - DEPUIS Modena - 83 Module 4: Conclusions In this module we have discussed about: 1.ebXML Message Service (ebMS) standard overview 2.The ebMS technical specifications composed by: - message structure - messages exchange characteristics 3.The message structure of ebXML message 4.the “business transaction” concept in the ebMS context 5.simple and complex scenarios of ebMS reliable protocol messages exchange

84 Settembre 2007 - DEPUIS Modena - 84 Test Module 4: Question 1 About ebMS: 1.is an ebXML standard 2.Is an ISO standard 3.is a standard, SOAP-based, for a reliable business documents exchange 4.is the ebXML envelope to encapsule business document to send from a party to another party 5.is message content dipendent, can contain XML files only 6.is Communication protocol dipendent, can be used on HTTP only

85 Settembre 2007 - DEPUIS Modena - 85 Test Module 4: Question 2 About ebMS 2.0 Message: 1.the envelope is not a WSDL extension 2.the envelope is a SOAP with Attachment extension 3.the Payload Container is the part of message that contains the document to exchange 4.the Payload Container can contain binary files with.jpg extension 5.The Body in the Header Container of SOAP envelope contains information on the content of the Payload Containers 6.a Message Service Handler (MSH) signs, encrypts and packages the ebMS message

86 Settembre 2007 - DEPUIS Modena - 86 Test Module 4: Question 3 ebMS specification: 1.defines a “business transaction” as composition of Request Action, Business Activity Action, Business Signals 2.does not define the business signals to allow the communication alignment between “requester” and “responder”, instead ebBP does 3.defines the business signals to allow the communication alignment between “requester” and “responder”, instead ebBP does not 4.defines the business signals to allow the communication alignment between “requester” and “responder”, ebBP specification too 5.support the “duplicate messages check” characteristic 6.support the “messages persistent storage” characteristic to resend the message when it is lost

87 Settembre 2007 - DEPUIS Modena - 87 Test Module 4: Question 4 About the ebMS reliable protocol messages exchange simple scenario: 1.it is a description of a ebXML message dispatch 2.the goal is to transport the data from the application layer of party A to application layer of party B 3.from MSH party A and MSH party B the data is enveloped in the ebXML message envelope 4.the acknowledgment allows the communication alignment between “requester” A and “responder” B 5.the acknowledgment is sent from B to A because the message is lost

88 Settembre 2007 - DEPUIS Modena - 88 Test Module 4: Question 5 About the ebMS reliable protocol messages exchange complex scenario: 1.all the ebXML business transactions happen like this situation, each ebXML message is lost at least once before the real delivery 2.the goal is to send the greatest number of messages 3.from MSH party A and MSH party B the data is not enveloped in the ebXML message envelope 4.the acknowledgment can not be lost 5.the acknowledgment can be sent at most once

89 Settembre 2007 - DEPUIS Modena - 89 Test Module 4: Responses The “true” responses Question 1: 1,2,3,4 Question 2:all Question 3:4,5,6 Question 4: 1,2,3,4 Question 5:none

90 Settembre 2007 - DEPUIS Modena - 90 Summary 1. ebXML architecture overview 2. ebXML Business Process 3. CPP/CPA Collaboration Protocol 4. ebMS Messaging System 5. freebXML initiative 6. ebXML and Web Services

91 Settembre 2007 - DEPUIS Modena - 91 Module 5: freebXML initiative In this module we will examine: 1.General presentation and mission of freebxml initiative 2.ebMail project 3.BP Editor project 4.freebXML Registry (OMAR) project 5.Hermes MSH (H2O) project 6.Webswell Connect project

92 Settembre 2007 - DEPUIS Modena - 92 freebXML Initiative freebXML [freebXML] is an initiative that aims to foster the development and adoption of ebXML and related technology through software and experience sharing freebXML is an initiative coordinated by the Center for E-Commerce Infrastructure Development (The University of Hong Kong) The mission of freebXML.org is to provide a centralized site for developers to access and share 'free' ebXML code and applications Users and developers can also share their ebXML development and deployment experience at freebXML.org Projects: - ebMail 1.2 - freebXML BP Editor - freebXML Registry 3.0 - Hermes MSH (H2O) - Webswell Connect Projects reference page: http://www.freebxml.org/projects.htm

93 Settembre 2007 - DEPUIS Modena - 93 ebMail  ebMail B2B GUI 1.2 is a GUI system which helps users with minimal knowledge on ebXML to engage in B2B activities.  The user interface is email-client-like to lower the learning threshold.  Underlying the GUI, the system makes use of open standards (ebXML) to provide a reliable communication with business partners.  Since the business messages are composed and read in GUI form, this project can be useful to SMEs who do not need backend integration or do not wish a complex system integration.  Business process flow can be guided by the plugins of ebMail. ebMail supports grouping of business messages into threads.  ebXML packaging and digital signature are supported, and the ebXML transport protocol is binded to SMTP  Reference page: http://www.freebxml.org/ebmail.htm

94 Settembre 2007 - DEPUIS Modena - 94 freebXML BP Editor The BP Editor is a tool designed to help the user in creating generic as well as domain specific Business Process Specifications based on ebBP version 2.0. The editor lets the user to create Process Specifications from scratch or use the existing ones. The BP Editor implementation is based on an XML Schema (XSD) Editor, which is used in creating the XML segments of ebBP process specification. This generic XSD Editor parses the XSD file and dynamically creates the graphical user interface of the corresponding element defined in the XSD. Reference page: http://www.freebxml.org/freebXMLbp.htm

95 Settembre 2007 - DEPUIS Modena - 95 freebXML Registry (OMAR) freebXML Registry 3.0 is an Open Source ebXML Registry and Repository Implementation freebXML Registry (ebxmlrr) is a general registry adopting a generic and extensible information model that includes the ability to have arbitrary associations between entries in the registry. The repository is a way of storing information pointed by entries in the registry. Any type of data can be stored in the repository including Web Service descriptions, XML data and documents, binary data (such as images, sound files, video data, executable application files, CAD files, etc.), and any other kind of data. Reference page: http://www.freebxml.org/registry.htm

96 Settembre 2007 - DEPUIS Modena - 96 Hermes MSH (H2O):  Hermes is a Message Service Handler (MSH) or message gateway that provides a standardized, reliable, and secure infrastructure for enterprises to exchange business documents.  It is complian with the OASIS ebXML Message Service (ebMS V2) standard [ebMS].  The lastest version, Hermes 2, also supports Applicability Specification 2 (AS2) [AS2], a common message transfer protocol used by retailers and manufacturers in supply chains in U.S.A.  Hermes supports secure messaging functions through widely-adopted Internet security technologies, such as XML Signature, SSL (Secure Socket Layer) and S/MIME (Secure Multipurpose Internet Mail Extensions).  It has also implemented reliable delivery features defined in ebMS and AS2 standards to ensure the exchanged message is received and intact. The feature list of Hermes includes message packaging, reliable messaging, message ordering, error handling, security, synchronous reply, message status service, and RDBMS persistent storage.  Hermes also supports transport protocols, such as HTTP and SMTP, to suit different needs of large and small enterprises, and different business requirements.  Reference page: http://www.freebxml.org/msh.htm

97 Settembre 2007 - DEPUIS Modena - 97 Webswell Connect Webswell Connect is a business integration tool based on web services, ebXML and AS2 [AS2] standards Webswell Connect is a ebXML framework implementation that integrates other existing freebXML projects and adds supporting software The project includes: - freebXML Registry, - MSH Hermes - a Webswell Dispatcher - an Application Connector (is a module that provides the interface between customer's existing applications and other components) On October 9, 2007 Webswell Inc. releases the Webswell Connect 2.1.1. It includes the Webswell Monitor, a web- based dashboard for monitoring of the messaging and nodes operation. Reference page: http://www.webswell.com/

98 Settembre 2007 - DEPUIS Modena - 98 Module 5: Conclusions In this module we have discussed about: 1.freebxml initiative and the related projects, ebXML- based 2.ebMail: a MSH implementation to send and to receive ebXML messages on the SMTP transport protocol 3.BP Editor: to create business process specifications based on ebBP standard 4.freebXML Registry (OMAR): an ebXML Registry implementation 5.Hermes MSH (H2O): a MSH implementation to send and to receive ebXML messages on the HTTP and SMTP transport protocol 6.Webswell Connect: an ebXML framework implementation, integration of others freebxml projects and supporting software

99 Settembre 2007 - DEPUIS Modena - 99 Test Module 5: Question 1 About freebXML: 1.It is a set of projects ebXML-based 2.It is a set of new XML standards 3.ebMail is a freebXML project that supports the sending and the receiving of ebXML messages 4.freebXML BP Editor is a project that supports the sending and the receiving of ebXML messages 5.Both ebMail and Hermes projects allow the sending and the receiveing of ebXML messages 6.Both ebMail and Hermes projects are bonded to HTTP and SMTP transport protocols

100 Settembre 2007 - DEPUIS Modena - 100 Test Module 5: Question 2 About freebXML again: 1.BP Editor allows to define ebBP representations of business processes 2.BP Editor is an Open Source Implementation of ebXML Registry and Repository specification 3.There is not an Open Source Implementation of ebXML Registry and Repository specification 4.Hermes MSH is a ebXML framework implementation that integrates other existing freebXML projects, like Webswell Connect 5.Webswell Connect is a ebXML framework implementation that integrates other existing freebXML projects, like Hermes MSH

101 Settembre 2007 - DEPUIS Modena - 101 Test Module 5: Responses The “true” responses Question 1: 1,3,5 Question 2:1,5

102 Settembre 2007 - DEPUIS Modena - 102 Summary 1. ebXML architecture overview 2. ebXML Business Process 3. CPP/CPA Collaboration Protocol 4. ebMS Messaging System 5. freebXML initiative 6. ebXML and Web Services

103 Settembre 2007 - DEPUIS Modena - 103 Module 6: ebXML and Web Services In this module we will examine: 1.What the Web Services are and which standards are the main modules of this technology 2.What a Service-oriented architecture (SOA) is 3.Main differences between ebXML and SOA 4.ebXML, Web Services and the possible integration 5.The business transaction mapping between ebXML and Web Service worlds through the OperationMapping element

104 Settembre 2007 - DEPUIS Modena - 104 Web Services W3C definition: a software system designed to support interoperable Machine to Machine interaction over a network The specifications that define Web services are intentionally modular, and as a result there is not a single document that contains them all In common usage the term “Web Service” refers to clients and servers that communicate using XML messages that follow the Simple Object Access Protocol (SOAP) [SOAP] standard One of web service specifications define a machine readable (XML) description of the operations supported by the server written in the Web Services Description Language (WSDL) [WSDL] Another web service specification define a protocol for publishing and discovering metadata about Web services that enables applications to find them, either at design time or runtime, the Universal Description Discovery and Integration (UDDI) [UDDI]

105 Settembre 2007 - DEPUIS Modena - 105 Service Oriented Architecture (SOA) Service-oriented architecture (SOA) is a system of components which can be invoked, and whose interface descriptions can be published and discovered SOA is a system for linking resources on demand. In an SOA, resources are made available to other participants in the network as independent services that are accessed in a standardized way. This provides for more flexible loose coupling of resources than in traditional architectures SOA architecture can be used to implement a collaboration framework with web services and the orchestration of them Both ebXML and SOA are two different approaches to define collaboration architectures for e-business

106 Settembre 2007 - DEPUIS Modena - 106 ebXML VS SOA 1.SOA uses an UDDI Registry to search available services, ebXML uses an ebXML Registry and CPPs to search suitable business party 2.SOA uses SOAP as message exchange standard format, ebXML uses ebMS standard (a SOAP extension) 3.SOA is based on orchestration (described with WSBPEL [WSBPEL] standard) of web services (centralized to the orchestrator), ebXML is based on choreography (described with ebBP standard) of business transaction (not centralized) 4.SOA can be implemented through ebXML, not vice versa

107 Settembre 2007 - DEPUIS Modena - 107 ebXML and Web Services The version 2.0.4 of the ebBP technical specification enables participants, which are capable of using Web service or combined technologies (such as ebXML and web services) to participate in a Business Collaboration. ebBP technical specification may be used with other emerging technologies (such as WSDL). The support of WSDL operations is intended for the design of Business Collaborations in which one or more of the business partners are not capable of supporting ebXML interchanges. ebBP provides a mapping between BTAs (i.e. the usage of a Business Transaction definition in a Business Collaboration definition) and operations of one or multiple web services Mapping provides the capability to map request, possible responses and signals to abstract operation messages. The reference to a real WSDL file is specified as part of the Collaboration Protocol Profile and Agreement (CPPA)

108 Settembre 2007 - DEPUIS Modena - 108 Operation Mapping 1/2 The ebXML ebBP and CPPA standards define an XML element, OperationMapping, to describe the mapping between BTAs and operations of one or multiple web services: - the standard ebBP allows to describe the mapping of request, response and signals with generic operation names of web services - the standard CPPA refers explicitly (into the DocExchange XML element) the WSDL file that contains the generic names of operations and the specific public methods of web services ebBP describe, therefore, the abstract set of operations for one or more business transactions. CPP and CPA refers to abstract description of ebBP and add specific context information When the business collaboration starts, the MSH of sender/receiver party knows the communication protocol, the package format and the endpoint, for each message to send/receive, reading from CPA and the specified WSDL

109 Settembre 2007 - DEPUIS Modena - 109 Operation Mapping 2/2

110 Settembre 2007 - DEPUIS Modena - 110 Module 6: Conclusions In this module we have discussed about: 1.Web Services and related main standards 2.General description of the Service-oriented architecture (SOA) 3.Main differences between ebXML and SOA collaborative architectures 4.ebXML, Web Services and the possible integration 5.The business transaction mapping between ebXML and Web Service worlds through the OperationMapping element

111 Settembre 2007 - DEPUIS Modena - 111 Test Module 6: Question 1 About Web Services: 1.allow a Machine to Machine interaction over a network 2.Is a communication typically “client-server” 3.The communication happens through XML messages based on UDDI standard 4.SOAP is a XML description of the operations supported by the web service 5.WSDL is a protocol for publishing and discovering metadata about Web services

112 Settembre 2007 - DEPUIS Modena - 112 Test Module 6: Question 2 About SOA: 1.allows the implementation of a collaborative architecture 2.allows the implementation of a web services system 3.uses SOAP as message exchange standard format, 4.uses an UDDI Registry, similar to the ebXML Registry 5.describes the collaborations as orchestration of web services

113 Settembre 2007 - DEPUIS Modena - 113 Test Module 6: Question 3 About SOA and ebXML relationship: 1.they are two ways to implement a collaborative framework XML-based for e-business 2.both allow the use of a Registry to store and to retrieve resources 3.SOA provides a method to integrate ebXML 4.ebXML provides a method to integrate SOA 5.It is possible to map an ebXML business transaction to a set of web service operations

114 Settembre 2007 - DEPUIS Modena - 114 Test Module 6: Responses The “true” responses Question 1: 1,2 Question 2:all Question 3:1,2,4,5

115 Settembre 2007 - DEPUIS Modena - 115 References 1/4 [AS2] Applicability Statement 2, http://en.wikipedia.org/wiki/AS2 [BPMN] Business Process Modeling Notation (BPMN) Information, http://www.bpmn.org/ [CPCDA] Cover Pages, “Health Level Seven Releases Updated Clinical Document Architecture (CDA) Specification” http://xml.coverpages.org/ni2004-08-20-a.html [CPISO] Cover Pages, “ebXML OASIS Standards Approved Under ISO 15000 Designation”, http://xml.coverpages.org/ISO-ebXML.html [CPPA] OASIS ebXML Collaboration Protocol Profile and Agreement (CPPA) TC, http://www.oasis- open.org/committees/tc_home.php?wg_abbrev=ebxml-cppa [ebBP] OASIS ebXML Business Process TC, http://www.oasis- open.org/committees/tc_home.php?wg_abbrev=ebxml-bp [ebMS] OASIS ebXML Messaging Services TC, http://www.oasis- open.org/committees/tc_home.php?wg_abbrev=ebxml-msg [ebXML] Electronic Business using eXtensible Markup Language, http://www.ebxml.org/

116 Settembre 2007 - DEPUIS Modena - 116 [freebXML] freebXML Projects, http://www.freebxml.org/freebxmlprojects.htm [MML] Moda-ML: Middleware tOols and Documents to enhAnce the textile/clothing supply chain through xML, http://www.moda-ml.org/ [OASIS] Organization for the Advancement of Structured Information Standards, http://www.oasis-open.org [SEC] Specifiche sulla sicurezza, sito MODA-ML, http://www.moda-ml.org/moda- ml/imple/sicurezza/MODAMLSecurity0.asp?lingua=it&node_id=4.8 [SOA] OASIS SOA Reference Model TC, http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=soa-rm [SOAP] W3C, “Latest SOAP versions”, http://www.w3.org/TR/soap/ [SOAPATT] W3C, “SOAP Messages with Attachments”, http://www.w3.org/TR/2000/NOTE-SOAP-attachments-20001211 [UBL] OASIS Universal Business Language (UBL) TC http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=ubl References 2/4

117 Settembre 2007 - DEPUIS Modena - 117 References 3/4 [UDDI] OASIS UDDI Specifications TC - Committee Specifications, http://www.oasis-open.org/committees/uddi-spec/doc/tcspecs.htm [UMM] UN/CEFACT Modelling Methodology (UMM), http://www.unece.org/cefact/umm/umm_index.htm [UN/CEFACT] United Nations Center for Trade Facilitation and Electronic Business, http://www.unece.org/cefact/ [WSBPEL] OASIS Web Services Business Process Execution Language (WSBPEL) TC, http://www.oasis- open.org/committees/tc_home.php?wg_abbrev=wsbpel [WSDL] W3C, “Web Services Description Language (WSDL) 1.1”, http://www.w3.org/TR/wsdl [WSR] Web Services Reliable Messaging TC, “WS-Reliability 1.1”, OASIS Standard, 15 Novembre 2004, http://docs.oasis-open.org/wsrm/ws- reliability/v1.1/wsrm-ws_reliability-1.1-spec-os.pdf [WSS] WS-Security Core Specification 1.1, http://www.oasis-open.org/committees/download.php/16790/wss-v1.1- spec-os-SOAPMessageSecurity.pdf [XMLSIGN] XML-Signature Syntax and Processing, http://www.w3.org/TR/xmldsig-core/

118 Settembre 2007 - DEPUIS Modena - 118 References 4/4 [XMLENC] XML Encryption Syntax and Processing, http://www.w3.org/TR/xmlenc-core/

119 Settembre 2007 - DEPUIS Modena - 119 The End cristiano.novelli@bologna.enea.it


Download ppt "Settembre 2007 - DEPUIS Modena - 1 The collaborative framework ebXML Cristiano Novelli"

Similar presentations


Ads by Google