The collaborative framework eb XML Cristiano Novelli cristiano
The collaborative framework eb. XML Cristiano Novelli cristiano. novelli@bologna. enea. it Settembre 2007 - DEPUIS 11/07/2006 - 1
Modules Summary 1. eb. XML architecture overview 2. eb. XML Business Process 3. CPP/CPA Collaboration Protocol 4. eb. MS Messaging System 5. freeb. XML initiative 6. eb. XML and Web Services Settembre 2007 - DEPUIS 11/07/2006 - 2
Module 1: eb. XML architecture overview In this first module we will examine: 1. what eb. XML is and its history 2. which characteristics eb. XML offers and does not offers 3. how eb. XML works (a simple use case) 4. the main elements of the architecture 5. how to implement eb. XML in four phases 6. benefits of eb. XML Settembre 2007 - DEPUIS 11/07/2006 - 3
eb. XML overview • eb. XML (electronic business using XML, [eb. XML]) • eb. XML is a set of specifications that together enable a modular, yet complete, XML-based, electronic business framework. • The vision of eb. XML 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. eb. XML enables anyone, anywhere, to do business with anyone else over the Internet”. • eb. XML 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 (IS 0) has approved, in March 29 2004, a suite of four eb. XML OASIS Standards (ISO/TS 15000) [CPISO] Settembre 2007 - DEPUIS 11/07/2006 - 4
What eb. XML offers and does not offer • eb. XML offers: - a set of standard specifications to reach up P 2 P collaborations (in B 2 B but also in e. Health and e. Government) - a methodology to build a set of templates of XML documents based on common components - a communication protocol for P 2 P secure and reliable communications - a set of XML specifications to represent collaborative processes, company profiles and intercompany agreements • eb. XML does not offer: - a set of reference business processes for B 2 B - a set of predefined standard XML documents to be exchanged - a software implementation (but open-source software implementation are available in freeb. XML [FREEBXML] initiative and others) - a specific sectorial domain solution Settembre 2007 - DEPUIS 11/07/2006 - 5
eb. XML Use Case Settembre 2007 - DEPUIS 11/07/2006 - 6
The collaborative framework 1/2 (comments of the “Use Case Scenario” figure) 1. 2. 3. Company A will first review the contents of an eb. XML 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 eb. XML. Company A can build or buy an eb. XML implementation suitable for its eb. XML transactions. The hope of the eb. XML initiative is that vendors will support all of the elements of eb. XML. At such time, an "eb. XML system" might be little more than a commercial desktop application. Or maybe, more realistically, the eb. XML system will at least be as manageable as a commercial database system. The next step is for Company A to create and register a profile (CPP) with the Registry. Company A might wish to contribute new Business Processes to the Registry, or simply reference available ones. The CPP will contain the information necessary for a potential partner to determine the business roles in which Company A is interested, and the type of protocols it is willing to engage in for these roles. Settembre 2007 - DEPUIS 11/07/2006 - 7
The collaborative framework 2/2 (comments of the “Use Case Scenario” figure) 4. 5. 6. 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. 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 eb. XML standards or recommendations. Finally, the two companies begin actual transactions. These transactions are likely to involve Business Messages conforming to further eb. XML standards and recommendations. eb. XML 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). Settembre 2007 - DEPUIS 11/07/2006 - 8
Architecture Elements a. Core Components b. Registry / Repository c. Business Process Specification Schema d. Collaboration Protocol Profile and Agreement e. Messaging Service Settembre 2007 - DEPUIS 11/07/2006 - 9
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 eb. XML 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 Settembre 2007 - DEPUIS 11/07/2006 - 10
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 eb. XML registry is to support a fully distributed, networked set of interacting registries that would provide transparent interaction to any eb. XML compliant registry by interfacing with each of them Settembre 2007 - DEPUIS 11/07/2006 - 11
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 eb. XML Business Process (eb. BP) [eb. BP], XML-based • A Specification Schema can be used by a software application to configure the business details of conducting business electronically with another organization Settembre 2007 - DEPUIS 11/07/2006 - 12
d. Collaboration Protocol Profile (CPP) and Agreement (CPA) • The Collaboration Protocol Profile (or CPP): - provides the definition (DTD and W 3 C 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 Settembre 2007 - DEPUIS 11/07/2006 - 13
e. Messaging Service (eb. MS) • The eb. XML Message Service (eb. MS) defines the message enveloping and header document schema used to transfer eb. XML messages over a communications protocol and the behavior of software sending and receiving eb. XML 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 Settembre 2007 - DEPUIS 11/07/2006 - 14
eb. XML implementation • To implement an eb. XML 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 eb. XML Registry, 2. the parties that want to participate to collaborative framework create their CPP profile and register it into the eb. XML 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 Settembre 2007 - DEPUIS 11/07/2006 - 15
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 eb. XML 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 eb. XML Registry and are available for the users community Settembre 2007 - DEPUIS 11/07/2006 - 16
Phase 2. CPP creation • Each enterprise, that intends to join the collaborative framework, defines its own XML Collaboration Protocol Profile (through eb. XML 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 eb. XML Registry Settembre 2007 - DEPUIS 11/07/2006 - 17
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 eb. XML 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 Settembre 2007 - DEPUIS 11/07/2006 - 18
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 Settembre 2007 - DEPUIS 11/07/2006 - 19
Summary eb. BP of the four phases UBL 1 1. An organization (association, community) defines the business documents (e. g. UBL) and processes of the framework 2 2. Each enterprise makes or adjusts its own CPP profile 3. Each couple of enterprise negotiates a CPA agreement. 4. Messages exchange can start 3 CPP CPA CPP 4 eb. MS Settembre 2007 - DEPUIS 11/07/2006 - 20
eb. XML benefits eb. XML: • enables a complete XML-based collaborative framework • is modular, therefore a community can adopt even one eb. XML standard only • integrates the most diffused web technologies • is data format independent (e. g. it is possible to use UBL [UBL], MODA-ML [MML], HL 7 CDA [CPCDA], etc. ) • is platform independent • is communication protocol independent • is development languages independent • is accessible to SMEs (low cost of adoption) Settembre 2007 - DEPUIS 11/07/2006 - 21
Module 1: Conclusions In this first module we have discussed about: a) eb. XML overview, definition and history b) what eb. XML is and what eb. XML isn’t c) an eb. XML use case scenario d) the specifications and standards that compose the eb. XML framework e) the four phases to perform to implement eb. XML f) the benefits from the use of eb. XML Settembre 2007 - DEPUIS 11/07/2006 - 22
Test Module 1: Question 1 eb. XML : 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 Settembre 2007 - DEPUIS 11/07/2006 - 23
Test Module 1: Question 2 eb. XML: 1. can be used in e. Health sector 2. is a software implementation for information exchange for e-business 3. offers a communication protocol for P 2 P secure and reliable communications 4. is a specific sectorial domain solution 5. offers a set of predefined standard UBL documents to be exchanged Settembre 2007 - DEPUIS 11/07/2006 - 24
Test Module 1: Question 3 About the eb. XML use case scenario: 1. It is a description of the phases to perform to achieve a business collaboration through eb. XML 2. The eb. XML Registry allows the search for an ideal party 3. The eb. XML Registry allows parties to examine public Core Library to determine the requirements for eb. XML 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 Settembre 2007 - DEPUIS 11/07/2006 - 25
Test Module 1: Question 4 About the elements of the eb. XML architecture: 1. The Core Components are the basic information elements used in the business messages 2. The eb. XML 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 eb. BP allows to describe business processes 5. The eb. MS standard is protocol neutral, is not bound to a specific file transport mechanism (such as SMTP, HTTP, or FTP) Settembre 2007 - DEPUIS 11/07/2006 - 26
Test Module 1: Question 5 About the eb. XML implementation: 1. to implement eb. XML is not necessary a setup of framework 2. the business contents are stored into the system of each party only, not in the eb. XML 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 Settembre 2007 - DEPUIS 11/07/2006 - 27
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 Settembre 2007 - DEPUIS 11/07/2006 - 28
Summary 1. eb. XML architecture overview 2. eb. XML Business Process 3. CPP/CPA Collaboration Protocol 4. eb. MS Messaging System 5. freeb. XML initiative 6. eb. XML and Web Services Settembre 2007 - DEPUIS 11/07/2006 - 29
Module 2: eb. XML Business Process In this module we will examine the eb. XML standard eb. BP. In particular: 1. Definition of eb. XML Business Process (eb. BP) and explanation of what eb. BP is 2. Key concepts of eb. BP 3. “Business Transaction” concept in the business process context 4. “Business State” concept 5. XML representation of eb. BP Settembre 2007 - DEPUIS 11/07/2006 - 30
eb. BP (eb. XML Business Process) • Def: eb. XML Business Process (eb. BP) 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 eb. BP XML standard [eb. BP] (eb. XML Business Process Specification Schema). Messages Front Enterprise A end Front end Enterprise B Order Response Buyer Supplier Settembre 2007 - DEPUIS 11/07/2006 - 31
eb. BP: Key Concepts 1/3 Settembre 2007 - DEPUIS 11/07/2006 - 32
eb. BP: Key Concepts 2/3 The follow key concepts are used to describe a Business Collaboration with eb. BP 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). Settembre 2007 - DEPUIS 11/07/2006 - 33
eb. BP: Business Transaction • Def: A business transaction is an atomic unit of work and cannot be decomposed into lower-level business transactions. Each business transaction is expressed as an exchange of electronic business documents, i. e. one or two predefined business document flows. • A Business Transaction is performed by 2 roles: § Requester is the role that sends a request § Responder is the role that sends the response Request (e. g. “Order”) Buyer (Requester Role) Supplier (Responder Role) Response (e. g. “Order Response”) Business Transaction “Purchase Order” Settembre 2007 - DEPUIS 11/07/2006 - 34
eb. BP: 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 Time. To. Perform. When Time. To. Perform 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. Settembre 2007 - DEPUIS 11/07/2006 - 35
eb. BP: Business State • • • Business states: Start, Business. Activity (BA), End Successful, End Failure A business transition from a generic state S 1 to generic state S 2 can happen when the business transaction, S 1 related, is in the completation state The choreography defines the business process workflow as business transition set. An eb. BP 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] Settembre 2007 - DEPUIS 11/07/2006 - 36
eb. BP: XML Representation 1/3 • The eb. BP 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 “subprocesses” • Conceptually, we can divide the eb. BP 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 eb. BP defines the basic concepts in different abstraction levels and then riuses this concepts (one or more time) Settembre 2007 - DEPUIS 11/07/2006 - 37
eb. BP: XML Representation 2/3 • • • The main XML elements to define an eb. BP representation: § Business. Document (BD) (for example we can define the XML elements for the “Order” and “Order Response” business documents) § Business. Transaction (BT) (for example we can define a “Purchase Order” business transaction XML element that refer the “Order” and “Order Response” BD) § Business. Collaboration (BC) (for example we can define a “Product X Supply” business process that refer the “Purchase Order” business transaction XML element) Different Business. Collaboration 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 Business. Collaboration XML element refers the Business. Transaction XML elements by Business. Transaction. Activity definition. Therefore, the Business. Transaction. Activity is the execution of a business transaction The Business. Transaction. Activity represent a business state The Business. Collaboration 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 eb. BP representation Settembre 2007 - DEPUIS 11/07/2006 - 38
<Process. Specification name=“Product X Supply” uuid=“proc. ID-X” > <Business. Document … name="Order" name. ID=“bd-123”> <Specification … location=“http: //. . . /order. xsd” … /> </Business. Document> <Business. Document … name=“Order Response" name. ID=“bd-124”> <Specification … location=“http: //. . . /orderresponse. xsd” … /> </Business. Document> <Business. Transaction name=“Purchase Order" name. ID=“bt-25”> <Requesting. Business. Activity … > <Document. Envelope … business. Document. Ref=“bd-123” /> </Requesting. Business. Activity> <Responding. Business. Activity … > <Document. Envelope … business. Document. Ref=“bd-124” /> </Responding. Business. Activity> </Business. Transaction> <Business. Collaboration name=“Product X Supply” … > <Role name=“Supplier” … /> <Role name=“Buyer” … /> <Start name. ID=“state 1” /> <Completation … /> <Success … /> <Business. Transaction. Activity … business. Transaction. Ref=“bt-25” /> <Transition … /><Decision … /><Fork … /> </Business. Collaboration> </Process. Specification> Settembre 2007 - DEPUIS 11/07/2006 - 39 eb. BP: XML Representation 3/3
Module 2: Conclusions In this module we have discussed about: a) what eb. XML Business Process (eb. BP) is, a standard for the XML rappresentations of business collaborations b) the main key “business” concepts of eb. BP: Parter (Party), Role, Document Flow, Action, Signals, Transaction, Activity, Choreography, Transition, Condition Expression, Gateway, States c) XML representation of eb. BP in terms of composition and reusability Settembre 2007 - DEPUIS 11/07/2006 - 40
Test Module 2: Question 1 eb. BP: 1. is acronym of eb. XML 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 Settembre 2007 - DEPUIS 11/07/2006 - 41
Test Module 2: Question 2 About the eb. BP 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 Settembre 2007 - DEPUIS 11/07/2006 - 42
Test Module 2: Question 3 Again about the eb. BP key concepts : 1. 2. 3. 4. 5. 6. a business activity (BA) is used to represent the state of the business process of one of the partners the choreography is a XML Schema list related to the business documents that the party can use in the business process the choreography describes behaviour and rules set for the roles in the business process the transitions, descripted in the choreography, specifies the passage from a business state to another business state the condition expressions is not related to the workflow of business process the gateway is not related to the workflow of business process Settembre 2007 - DEPUIS 11/07/2006 - 43
Test Module 2: Question 4 About the XML representation of eb. BP: 1. “Business. Collaboration”, “Business. Transaction. Activity”, “Business. Processes” and “Business. Document” are names of XML elements of eb. BP standards 2. the approach used is the composition and reusability of XML elements 3. an element “Business. Transaction” 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 “Business. Document” element 6. the choreography is specified in the “Business. Collaboration” element Settembre 2007 - DEPUIS 11/07/2006 - 44
Test Module 2: Responses The “true” responses • Question 1: 4 • Question 2: all • Question 3: 1, 3, 4 • Question 4: 2, 3, 4, 6 Settembre 2007 - DEPUIS 11/07/2006 - 45
Summary 1. eb. XML architecture overview 2. eb. XML Business Process 3. CPP/CPA Collaboration Protocol 4. eb. MS Messaging System 5. freeb. XML initiative 6. eb. XML and Web Services Settembre 2007 - DEPUIS 11/07/2006 - 46
Module 3: CPP/CPA Collaboration Protocol In this module we will examine: 1. General description of eb. XML profile CPP and the eb. XML agreement CPA 2. the standard eb. XML Collaboration Protocol Profile CPP and its functionalities 3. XML representation and structure of CPP, in particular: - Collaboration. Role element to specify characteristics related to one or more business processes described with eb. BP - Delivery. Channel element to specify the data transmission channels and related security characteristics 4. the standard eb. XML Collaboration Protocol Agreement CPA and its functionalities 5. eb. BP, CPP and CPA relationship 6. multiparty business collaboration use case scenario Settembre 2007 - DEPUIS 11/07/2006 - 47
CPPA • • • eb. XML Collaboration Protocol Profile (CPP) and eb. XML 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 eb. XML 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 (eb. BP related) § Business documents packaging § Delivery channel (transport protocols, message envelope) § Security details Settembre 2007 - DEPUIS 11/07/2006 - 48
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 (eb. BP) § Which communication and security protocols are available • The enterprise publishes its own business profile to an eb. XML Registry Messages CPP Profile A Front Enterprise A end Front end Enterprise B CPP Profile B eb. BP (o BPSS) Processo di Process Business Settembre 2007 - DEPUIS 11/07/2006 - 49
CPP: XML Representation 1/2 • The main sections of XML structure of CPP: 1. 2. Collaboration. Role: describes the Party’s role in the supported business process that, usually, is represented with eb. BP (e. g. Party can describe in its own profile that play the role “Supplier” in “Product X Supply” business process) Delivery. Channel: specifies delivery channels for the messages. Delivery. Channel is defined as transport and messaging protocols combination § § 3. • Transport: available transport protocols (e. g. HTTP, SMTP, etc. ) for messages sending and receiving, endpoint related, authentication and security characteristics. Doc. Exchange: specifies the message envelope type (e. g. eb. MS, WS) and reliable messaging protocol related (e. g. XML Signature e XML Encryption) Packaging: defines business message structure by costituents composition list In the next slide we will show the XML syntax of general structure of CPP representation Settembre 2007 - DEPUIS 11/07/2006 - 50
CPP: XML Representation 2/2 <Collaboration. Protocol. Profile> <Party. Info> … (<Collaboration. Role>)+ … (<Delivery. Channel>)+ (<Transport>)+ (<Doc. Exchange>)+ … </Party. Info> … (<Packaging>)+ … </Collaboration. Protocol. Profile> Settembre 2007 - DEPUIS 11/07/2006 - 51
CPP: Collaboration. Role 1/2 • In a collaboration Profile CPP, each Collaboration. Role element describes how the party will play a business role related to a business process specified by an eb. BP • The Collaboration. Role characteristics: § name, uuid, url of the specified eb. BP § role played by Party § business actions, described in the eb. BP, 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 Settembre 2007 - DEPUIS 11/07/2006 - 52
CPP: Collaboration. Role 2/2 <Collaboration. Role> <Process. Specification name=“Product X Supply” uuid=“proc. ID-X” href=“http: //www. community. org/ebbp/proc. ID-X. xml”/> (<Role>) + … <Service. Binding> (<Service>)+ (<Can. Send>)+ (<Can. Receive>)+ </Service. Binding> </Collaboration. Role> Settembre 2007 - DEPUIS 11/07/2006 - 53
CPP: Delivery. Channel • • Each Delivery. Channel XML element describes the sending/receiving characteristics for a particular channel Each channel is a Transport - Doc. Exchange combination Delivery Channel DC 1 Delivery Channel DC 2 Delivery Channel DC 3 Transport T 1 Transport T 2 Transport T 3 Doc. Exch. X 1 Doc. Exch. X 2 Doc. Exch. X 3 Settembre 2007 - DEPUIS 11/07/2006 - 54
CPP: Delivery. Channel Examples • DC 1 and DC 2 are totally compatibles • DC 1 and DC 3 are partially compatibles Delivery Channel DC 1 Delivery Channel DC 2 Delivery Channel DC 3 Transport T 1 Transport T 2 Transport T 3 Sending: SMTP HTTP Receiving: HTTP SMTP HTTP Doc. Exch. X 1 Doc. Exch. X 2 Doc. Exch. X 3 Sending: eb. MS WS Receiving: eb. MS Settembre 2007 - DEPUIS 11/07/2006 - 55
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) § Doc. Exchange: the Doc. Exchange 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 eb. XML envelope and payload to guarantee the message non-repudiation - message encryption: Encryption (e. g. XML Encryption [XMLENC], default choice in eb. XML) is used to encode/decode eb. XML envelope and payload to guarantee privacy during the data trasmission Settembre 2007 - DEPUIS 11/07/2006 - 56
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 eb. XML CPA standard protocol • The CPPs comparison is a negotiation process to obtain the CPA agreement resolving the potential incompatibilities and ambiguities Compatible XML elements of profiles are inserted into the CPA • Messages CPP Profile A Front Enterprise A end Front end Enterprise B CPP Profile B CPA Collaboration Agreement eb. BP (o BPSS) Processo di Process Business Settembre 2007 - DEPUIS 11/07/2006 - 57
eb. BP, CPP and CPA relationship • • • An eb. BP 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. eb. BP 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 - eb. BP Capability – What the enterprise can do - CPP Agreement – What the enterprises agree to do together - CPA Settembre 2007 - DEPUIS 11/07/2006 - 58
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 (eb. BP), the business process describes the document flow among their roles MSH Party B CPP A Party A Settembre 2007 - DEPUIS 11/07/2006 - 59
Multiparty Business Collaboration 2/3 • The parties have to establish an agreement to obtain a CPA by CPPs comparison, resolving ambiguity and incompatibility. • The CPA can be used as configuration file by a Message Service Handler (MSH), that is the enterprises front-end for documents exchange. • The CPA contains all needed information to configure the business collaboration MSH CPP A Party A CPA A-B Party B CPP B CPA A-B Settembre 2007 - DEPUIS 11/07/2006 - 60
Multiparty Business Collaboration 3/3 • Each (communicating) couple of parties has to achieve a CPA agreement • Each CPA is locally stored by the involved enterprises. CPA represents, for a party, a collaboration agreement with another party. CPA can be changed, updated, reutilized by involved parties MSH CPP A Party A CPA A-B A-C CPA A-B B-C Party B CPP B Party C CPP C MSH CPA A-C B-C Settembre 2007 - DEPUIS 11/07/2006 - 61
Module 3: Conclusions In this module we have discussed about: 1. General description of eb. XML standard CPPA, composed by CPP and CPA 2. XML structure and representation of CPP and CPA, in particular: Collaboration. Role, Delivery. Channel, Transport, Doc. Exchange, Packaging XML elements 3. eb. BP, CPP and CPA relationship 4. a Multiparty Business Collaboration use case scenario Settembre 2007 - DEPUIS 11/07/2006 - 62
Test Module 3: Question 1 About CPP and CPA: 1. are an eb. XML standard 2. are a W 3 C 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 Settembre 2007 - DEPUIS 11/07/2006 - 63
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 eb. XML Registry services 5. describes which business processes the party will perform Settembre 2007 - DEPUIS 11/07/2006 - 64
Test Module 3: Question 3 About XML elements of CPP: 1. Collaboration. Role describes the business messages structure 2. Collaboration. Role describes the role that the party will play related to a predefined business process 3. Delivey. Channel describes the role that the party will play related to a predefined business process 4. Delivey. Channel describes channels used to send and to receive the messages 5. Packaging describes the business processes 6. Packaging describes transport protocols characteristics Settembre 2007 - DEPUIS 11/07/2006 - 65
Test Module 3: Question 4 About Collaboration. Role XML element: 1. refers two eb. BP file by CPA 2. refers an eb. BP 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 Settembre 2007 - DEPUIS 11/07/2006 - 66
Test Module 3: Question 5 About Delivery. Channel XML element of CPP: 1. Is a combination of Transport and Collaboration. Role XML elements 2. Is combination of Packaging and Doc. Exchange 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 Doc. Exchange allows to specify Digital signature and encryption characteristics for the channel Settembre 2007 - DEPUIS 11/07/2006 - 67
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 eb. XML Registry services 5. describes which business processes the couple of parties will perform Settembre 2007 - DEPUIS 11/07/2006 - 68
Test Module 3: Question 7 About the Multiparty Business Collaboration use case scenario: 1. an eb. BP 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 Settembre 2007 - DEPUIS 11/07/2006 - 69
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 Settembre 2007 - DEPUIS 11/07/2006 - 70
Summary 1. eb. XML architecture overview 2. eb. XML Business Process 3. CPP/CPA Collaboration Protocol 4. eb. MS Messaging System 5. freeb. XML initiative 6. eb. XML and Web Services Settembre 2007 - DEPUIS 11/07/2006 - 71
Module 4: eb. MS Messaging System In this module we will examine: 1. general description of eb. XML Message Service (eb. MS) 2. eb. MS technical specifications overview 3. eb. MS envelope 4. the “business transaction” concept in the message service context 5. eb. MS reliable protocol messages exchange: simple and complex scenarios Settembre 2007 - DEPUIS 11/07/2006 - 72
eb. MS (eb. XML Message Service) 1/3 • • • eb. XML Message Service (eb. MS) provides a way for a reliable business documents exchange eb. MS 2. 0 specification [eb. MS] is an eb. XML standard and ISO TS 15000 -2 standard [CPISO] eb. MS is: - communication protocol indipendent (e. g. it can be applied on different protocols: HTTP, SMTP, FTP, etc. ) - message content indipendent (e. g. it can contain EDI document, XML document, etc. ) Messages eb. MS Envelope MSH Enterprise A DOC MSH Enterprise B • eb. MS is based on preexistent and more diffused XML security technologies (e. g. XML Signature [XMLSIGN] and XML Encryption [XMLENC]) • The eb. MS 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]) Settembre 2007 - DEPUIS 11/07/2006 - 73
eb. MS (eb. XML Message Service) 2/3 • eb. MS specification defines: 1. message structure 2. messages exchange characteristics (messaging service) • The eb. XML message structure header is defined with XML syntax (SOAP Message with Attachments [SOAPATT]) but the message body (payload) is not expressed necessarily in XML (e. g. binary files) • The messaging service is composed of: § Access service abstract interface § Message Service Handler (MSH): to sign, to encrypt and to package the message § Communication protocol binding (e. g. HTTP, SMTP, FTP) Messages Azienda A MSH DOC MSH Azienda B Settembre 2007 - DEPUIS 11/07/2006 - 74
eb. MS 3/3 §The eb. XML 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 eb. MS 2. 0 Message Structure Settembre 2007 - DEPUIS 11/07/2006 - 75
eb. MS: Business Transaction • • Def: “A business transaction is a logical unit of business conducted by two or more parties that generates a computable success or failure state" The eb. MS specification, like eb. BP, defines a transaction as composition of: - Request Action: the action to send a request document from “requester” role to “responder” role - Response Action: the action to send a response document from “responder” role to “requester” role - Business Signals: to allow the communication alignment between “requester” and “responder” Request (e. g. “Order”) Receipt. Acknowledgement Signal Customer (Requester Role) Acceptance. Acknowledgement Signal Response (e. g. “Order Response”) Supplier (Responder Role) Receipt. Acknowledgement Signal Acceptance. Acknowledgement Signal Settembre 2007 - DEPUIS 11/07/2006 - 76
eb. MS: 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 (Retry. Interval) § Duplicate messages check § Messages persistent storage: Prior to sending a message, the sending eb. XML Message Service will save the message in persistent storage. Once the message has been correctly received, the receiving eb. XML Message Service will save the message in persistent storage and send an acknowledgement message to the sending eb. XML Message Service. After sending, the eb. XML Message Service receives the acknowledgement, it might delete the message from the persistent storage if no longer needed. If the sending eb. XML Message Service does not receive acknowledgement, it can resend the message or notify the sending application that was unable to be deliver the message. Settembre 2007 - DEPUIS 11/07/2006 - 77
eb. MS: simple scenario 1/2 Settembre 2007 - DEPUIS 11/07/2006 - 78
eb. MS: simple scenario 2/2 § In a simple scenario: 1. 2. 3. Application layer of Sender A: - sends data to MSH layer of A, to prepare it to be sent to B; MSH layer of sender A: - prepares the message inserting the data into the SOAP envelope, - inserts an ack notification request into the SOAP message, - saves message before sending, - sends the message to MSH receiver B; MSH layer of receiver B: - receives the message, - checks if an acknowledgment notification request is present, - if “ack request” is present, sends the ack receipt to MSH of sender A to notify the successful message reception - saves message information into its own database and delivers the date to application layer of receiver B Settembre 2007 - DEPUIS 11/07/2006 - 79
eb. MS: complex scenario 1/3 Settembre 2007 - DEPUIS 11/07/2006 - 80
eb. MS: 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 Settembre 2007 - DEPUIS 11/07/2006 - 81
eb. MS: 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 Settembre 2007 - DEPUIS 11/07/2006 - 82
Module 4: Conclusions In this module we have discussed about: 1. eb. XML Message Service (eb. MS) standard overview 2. The eb. MS technical specifications composed by: - message structure - messages exchange characteristics 3. The message structure of eb. XML message 4. the “business transaction” concept in the eb. MS context 5. simple and complex scenarios of eb. MS reliable protocol messages exchange Settembre 2007 - DEPUIS 11/07/2006 - 83
Test Module 4: Question 1 About eb. MS: 1. is an eb. XML standard 2. Is an ISO standard 3. is a standard, SOAP-based, for a reliable business documents exchange 4. is the eb. XML 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 Settembre 2007 - DEPUIS 11/07/2006 - 84
Test Module 4: Question 2 About eb. MS 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 eb. MS message Settembre 2007 - DEPUIS 11/07/2006 - 85
Test Module 4: Question 3 eb. MS 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 eb. BP does 3. defines the business signals to allow the communication alignment between “requester” and “responder”, instead eb. BP does not 4. defines the business signals to allow the communication alignment between “requester” and “responder”, eb. BP specification too 5. support the “duplicate messages check” characteristic 6. support the “messages persistent storage” characteristic to resend the message when it is lost Settembre 2007 - DEPUIS 11/07/2006 - 86
Test Module 4: Question 4 About the eb. MS reliable protocol messages exchange simple scenario: 1. it is a description of a eb. XML 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 eb. XML 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 Settembre 2007 - DEPUIS 11/07/2006 - 87
Test Module 4: Question 5 About the eb. MS reliable protocol messages exchange complex scenario: 1. all the eb. XML business transactions happen like this situation, each eb. XML 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 eb. XML message envelope 4. the acknowledgment can not be lost 5. the acknowledgment can be sent at most once Settembre 2007 - DEPUIS 11/07/2006 - 88
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 Settembre 2007 - DEPUIS 11/07/2006 - 89
Summary 1. eb. XML architecture overview 2. eb. XML Business Process 3. CPP/CPA Collaboration Protocol 4. eb. MS Messaging System 5. freeb. XML initiative 6. eb. XML and Web Services Settembre 2007 - DEPUIS 11/07/2006 - 90
Module 5: freeb. XML initiative In this module we will examine: 1. General presentation and mission of freebxml initiative 2. eb. Mail project 3. BP Editor project 4. freeb. XML Registry (OMAR) project 5. Hermes MSH (H 2 O) project 6. Webswell Connect project Settembre 2007 - DEPUIS 11/07/2006 - 91
freeb. XML Initiative • • • freeb. XML [freeb. XML] is an initiative that aims to foster the development and adoption of eb. XML and related technology through software and experience sharing freeb. XML is an initiative coordinated by the Center for E-Commerce Infrastructure Development (The University of Hong Kong) The mission of freeb. XML. org is to provide a centralized site for developers to access and share 'free' eb. XML code and applications Users and developers can also share their eb. XML development and deployment experience at freeb. XML. org Projects: - eb. Mail 1. 2 - freeb. XML BP Editor - freeb. XML Registry 3. 0 - Hermes MSH (H 2 O) - Webswell Connect Projects reference page: http: //www. freebxml. org/projects. htm Settembre 2007 - DEPUIS 11/07/2006 - 92
eb. Mail § eb. Mail B 2 B GUI 1. 2 is a GUI system which helps users with minimal knowledge on eb. XML to engage in B 2 B activities. § The user interface is email-client-like to lower the learning threshold. § Underlying the GUI, the system makes use of open standards (eb. XML) 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 eb. Mail supports grouping of business messages into threads. § eb. XML packaging and digital signature are supported, and the eb. XML transport protocol is binded to SMTP § Reference page: http: //www. freebxml. org/ebmail. htm Settembre 2007 - DEPUIS 11/07/2006 - 93
freeb. XML 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 eb. BP 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 eb. BP 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/freeb. XMLbp. htm Settembre 2007 - DEPUIS 11/07/2006 - 94
freeb. XML Registry (OMAR) • freeb. XML Registry 3. 0 is an Open Source eb. XML Registry and Repository Implementation • freeb. XML 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 Settembre 2007 - DEPUIS 11/07/2006 - 95
Hermes MSH (H 2 O): § 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 eb. XML Message Service (eb. MS V 2) standard [eb. MS]. § The lastest version, Hermes 2, also supports Applicability Specification 2 (AS 2) [AS 2], 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 eb. MS and AS 2 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 Settembre 2007 - DEPUIS 11/07/2006 - 96
Webswell Connect • Webswell Connect is a business integration tool based on web services, eb. XML and AS 2 [AS 2] standards • Webswell Connect is a eb. XML framework implementation that integrates other existing freeb. XML projects and adds supporting software • The project includes: - freeb. XML 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/ Settembre 2007 - DEPUIS 11/07/2006 - 97
Module 5: Conclusions In this module we have discussed about: 1. freebxml initiative and the related projects, eb. XMLbased 2. eb. Mail: a MSH implementation to send and to receive eb. XML messages on the SMTP transport protocol 3. BP Editor: to create business process specifications based on eb. BP standard 4. freeb. XML Registry (OMAR): an eb. XML Registry implementation 5. Hermes MSH (H 2 O): a MSH implementation to send and to receive eb. XML messages on the HTTP and SMTP transport protocol 6. Webswell Connect: an eb. XML framework implementation, integration of others freebxml projects and supporting software Settembre 2007 - DEPUIS 11/07/2006 - 98
Test Module 5: Question 1 About freeb. XML: 1. It is a set of projects eb. XML-based 2. It is a set of new XML standards 3. eb. Mail is a freeb. XML project that supports the sending and the receiving of eb. XML messages 4. freeb. XML BP Editor is a project that supports the sending and the receiving of eb. XML messages 5. Both eb. Mail and Hermes projects allow the sending and the receiveing of eb. XML messages 6. Both eb. Mail and Hermes projects are bonded to HTTP and SMTP transport protocols Settembre 2007 - DEPUIS 11/07/2006 - 99
Test Module 5: Question 2 About freeb. XML again: 1. BP Editor allows to define eb. BP representations of business processes 2. BP Editor is an Open Source Implementation of eb. XML Registry and Repository specification 3. There is not an Open Source Implementation of eb. XML Registry and Repository specification 4. Hermes MSH is a eb. XML framework implementation that integrates other existing freeb. XML projects, like Webswell Connect 5. Webswell Connect is a eb. XML framework implementation that integrates other existing freeb. XML projects, like Hermes MSH Settembre 2007 - DEPUIS 11/07/2006 - 100
Test Module 5: Responses The “true” responses • Question 1: 1, 3, 5 • Question 2: 1, 5 Settembre 2007 - DEPUIS 11/07/2006 - 101
Summary 1. eb. XML architecture overview 2. eb. XML Business Process 3. CPP/CPA Collaboration Protocol 4. eb. MS Messaging System 5. freeb. XML initiative 6. eb. XML and Web Services Settembre 2007 - DEPUIS 11/07/2006 - 102
Module 6: eb. XML 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 eb. XML and SOA 4. eb. XML, Web Services and the possible integration 5. The business transaction mapping between eb. XML and Web Service worlds through the Operation. Mapping element Settembre 2007 - DEPUIS 11/07/2006 - 103
Web Services • W 3 C 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] Settembre 2007 - DEPUIS 11/07/2006 - 104
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 eb. XML and SOA are two different approaches to define collaboration architectures for e-business Settembre 2007 - DEPUIS 11/07/2006 - 105
eb. XML VS SOA 1. SOA uses an UDDI Registry to search available services, eb. XML uses an eb. XML Registry and CPPs to search suitable business party 2. SOA uses SOAP as message exchange standard format, eb. XML uses eb. MS standard (a SOAP extension) 3. SOA is based on orchestration (described with WSBPEL [WSBPEL] standard) of web services (centralized to the orchestrator), eb. XML is based on choreography (described with eb. BP standard) of business transaction (not centralized) 4. SOA can be implemented through eb. XML, not vice versa Settembre 2007 - DEPUIS 11/07/2006 - 106
eb. XML and Web Services • The version 2. 0. 4 of the eb. BP technical specification enables participants, which are capable of using Web service or combined technologies (such as eb. XML and web services) to participate in a Business Collaboration. • eb. BP 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 eb. XML interchanges. • eb. BP 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) Settembre 2007 - DEPUIS 11/07/2006 - 107
Operation Mapping 1/2 • The eb. XML eb. BP and CPPA standards define an XML element, Operation. Mapping, to describe the mapping between BTAs and operations of one or multiple web services: - the standard eb. BP allows to describe the mapping of request, response and signals with generic operation names of web services - the standard CPPA refers explicitly (into the Doc. Exchange XML element) the WSDL file that contains the generic names of operations and the specific public methods of web services • eb. BP describe, therefore, the abstract set of operations for one or more business transactions. CPP and CPA refers to abstract description of eb. BP 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 Settembre 2007 - DEPUIS 11/07/2006 - 108
Operation Mapping 2/2 Settembre 2007 - DEPUIS 11/07/2006 - 109
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 eb. XML and SOA collaborative architectures 4. eb. XML, Web Services and the possible integration 5. The business transaction mapping between eb. XML and Web Service worlds through the Operation. Mapping element Settembre 2007 - DEPUIS 11/07/2006 - 110
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 Settembre 2007 - DEPUIS 11/07/2006 - 111
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 eb. XML Registry 5. describes the collaborations as orchestration of web services Settembre 2007 - DEPUIS 11/07/2006 - 112
Test Module 6: Question 3 About SOA and eb. XML 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 eb. XML 4. eb. XML provides a method to integrate SOA 5. It is possible to map an eb. XML business transaction to a set of web service operations Settembre 2007 - DEPUIS 11/07/2006 - 113
Test Module 6: Responses The “true” responses • Question 1: 1, 2 • Question 2: all • Question 3: 1, 2, 4, 5 Settembre 2007 - DEPUIS 11/07/2006 - 114
References 1/4 [AS 2] Applicability Statement 2, http: //en. wikipedia. org/wiki/AS 2 [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/ni 2004 -08 -20 -a. html [CPISO] Cover Pages, “eb. XML OASIS Standards Approved Under ISO 15000 Designation”, http: //xml. coverpages. org/ISO-eb. XML. html [CPPA] OASIS eb. XML Collaboration Protocol Profile and Agreement (CPPA) TC, http: //www. oasisopen. org/committees/tc_home. php? wg_abbrev=ebxml-cppa [eb. BP] OASIS eb. XML Business Process TC, http: //www. oasisopen. org/committees/tc_home. php? wg_abbrev=ebxml-bp [eb. MS] OASIS eb. XML Messaging Services TC, http: //www. oasisopen. org/committees/tc_home. php? wg_abbrev=ebxml-msg [eb. XML] Electronic Business using e. Xtensible Markup Language, http: //www. ebxml. org/ Settembre 2007 - DEPUIS 11/07/2006 - 115
References 2/4 [freeb. XML] freeb. XML Projects, http: //www. freebxml. org/freebxmlprojects. htm [MML] Moda-ML: Middleware t. Ools and Documents to enh. Ance the textile/clothing supply chain through x. ML, 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/modaml/imple/sicurezza/MODAMLSecurity 0. 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] W 3 C, “Latest SOAP versions”, http: //www. w 3. org/TR/soap/ [SOAPATT] W 3 C, “SOAP Messages with Attachments”, http: //www. w 3. 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 Settembre 2007 - DEPUIS 11/07/2006 - 116
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_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. oasisopen. org/committees/tc_home. php? wg_abbrev=wsbpel [WSDL] W 3 C, “Web Services Description Language (WSDL) 1. 1”, http: //www. w 3. org/TR/wsdl [WSR] Web Services Reliable Messaging TC, “WS-Reliability 1. 1”, OASIS Standard, 15 Novembre 2004, http: //docs. oasis-open. org/wsrm/wsreliability/v 1. 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-v 1. 1 -spec -os-SOAPMessage. Security. pdf [XMLSIGN] XML-Signature Syntax and Processing, http: //www. w 3. org/TR/xmldsig-core/ Settembre 2007 - DEPUIS 11/07/2006 - 117
References 4/4 [XMLENC] XML Encryption Syntax and Processing, http: //www. w 3. org/TR/xmlenc-core/ Settembre 2007 - DEPUIS 11/07/2006 - 118
The End cristiano. novelli@bologna. enea. it Settembre 2007 - DEPUIS 11/07/2006 - 119
- Slides: 119