grenoble ecole de management medforist workshop ebxml l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Grenoble Ecole de Management MEDFORIST Workshop ebXML PowerPoint Presentation
Download Presentation
Grenoble Ecole de Management MEDFORIST Workshop ebXML

Loading in 2 Seconds...

play fullscreen
1 / 50

Grenoble Ecole de Management MEDFORIST Workshop ebXML - PowerPoint PPT Presentation


  • 330 Views
  • Uploaded on

Grenoble Ecole de Management MEDFORIST Workshop ebXML Asuman Dogac Middle East Technical University Ankara Turkey Electronic Business XML (ebXML) Electronic Business XML is an initiative from OASIS and United Nations Centre for Trade Facilitation and Electronic Business

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

PowerPoint Slideshow about 'Grenoble Ecole de Management MEDFORIST Workshop ebXML' - andrew


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

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


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
grenoble ecole de management medforist workshop ebxml

Grenoble Ecole de ManagementMEDFORIST WorkshopebXML

Asuman Dogac

Middle East Technical University

Ankara Turkey

Grenoble Ecole de Management MEDFORIST Workshop

electronic business xml ebxml
Electronic Business XML (ebXML)
  • Electronic Business XML is an initiative from OASIS and United Nations Centre for Trade Facilitation and Electronic Business
  • ebXML aims to provide the exchange of electronic business data in Business-to-Business and Business-to-Customer environments
  • The ebXML specifications provide a framework in which EDI's substantial investments in Business Processes can be preserved in an architecture that exploits XML's technical capabilities

Grenoble Ecole de Management MEDFORIST Workshop

ebxml
ebXML
  • A joint global initiative by
    • UN/ CEFACT – United Nations Center For Trade Facilitation And Electronic Business
    • OASIS – Organization for the Advancement of Structured Information Standards
  • United Nations Center for Trade Facilitation and Electronic Business
    • Sets worldwide policy and technical development in trade facilitation and electronic business
    • Developed international EDI standard, UN/ EDIFACT
  • The initiative leverages from the success of EDI in large businesses, and intends reaching small and medium enterprises

Grenoble Ecole de Management MEDFORIST Workshop

ebxml architecture s functional components
ebXML Architecture’s functional components
  • Business Process Specification Schema (BPSS)
  • Trading Partner Information
    • Collaboration Protocol Profile CPP
  • Trading Partner Agreement
    • Collaboration Protocol Agreement CPA
  • Registry/Repository
  • Messaging Service
  • Core Components

Grenoble Ecole de Management MEDFORIST Workshop

an overview of functional components in ebxml
An Overview of Functional Components in ebXML

ContextFor

ebXML

Business

Process

Specifications

Business

Document

Specification

ebXML

Core

Components

BuiltWith

ReferenceTo

Repository

Implement other

Partner Role

Implement one

Partner Role

Business

Service

Interface

Business

Service

Interface

CPP

CPA

CPP

Grenoble Ecole de Management MEDFORIST Workshop

registry repository
Registry/Repository
  • A registry is a mechanism where business documents and relevant metadata can be registered such that a pointer to their location, and their metadata can be retrieved as a result of a query
  • A registry can be established by an industry group or standards organization
  • A repository is a location (or a set of distributed locations) where a document pointed at by the registry reside and can be retrieved by conventional means (e.g., http or ftp)

Grenoble Ecole de Management MEDFORIST Workshop

ebxml registry repository
ebXML Registry/Repository
  • An ebXML Registry provides a set of services that manage the repository and enable the sharing of information between trading partners
  • Note that business Processes, CPPs, business document descriptions and core components are published and retrieved via ebXML Registry Services
  • A trading partner may discover other trading partners by searching for the CPPs in the registry
  • The ebXML Messaging Service is used as the transport mechanism for all communication into and out of the Registry

Grenoble Ecole de Management MEDFORIST Workshop

ebxml design

Industry

specialist

BPS

Business

Modeling

CPP

Registry/

Repository

Business

Manager

Business

Docs

Software

Construction

Enterprise

Deployement

ebXML

system

ebXML Design

Software

developer

Grenoble Ecole de Management MEDFORIST Workshop

ebxml registry repository9
ebXML Registry/Repository
  • A Registry Item identifies and describes its associated information,
    • gives its administrative and access status,
    • identifies the submitting and responsible organizations, and
    • classifies them according to pre-defined classification schemes
  • In ebXML, for each item in the registry, there is a universally unique identifier
  • Note that queries are sent as messages to the registry which provides implementation independent execution of a query

Grenoble Ecole de Management MEDFORIST Workshop

the collaboration protocol profile cpp
The Collaboration Protocol Profile (CPP)
  • The Collaboration Protocol Profile (CPP) provides the definition (DTD and W3C XML Schema) of an XML document that specifies the details of how an organization is able to conduct business electronically
  • The Collaboration Protocol Profile (CPP) is an XML document that specifies:
    • Contact information (business address, industry classification, etc.)
    • Supported business processes
    • Transport protocol
    • Security mechanisms

Grenoble Ecole de Management MEDFORIST Workshop

a part of an example cpp
A part of an Example CPP

<?xml version="1.0" encoding="UTF-8" ?>-<CollaborationProtocolProfile cpaid="54113">-<PartyInfo>

<PartyId type="uriReference">urn:www.srdc.com </PartyId>

<PartyRefhref="" type="simple" />-

<CollaborationRole id="CRBuyer1">

<ProcessSpecificationhref="buysell_BPS" name="REQUEST_PriceandAvailability" type="simple" version="1.0" />

<Rolehref="buysell_BPS#Customer" name="Customer" type="simple" />

Grenoble Ecole de Management MEDFORIST Workshop

an example transport entry in cpp for a buyer
An example Transport Entry in CPP for a buyer

<Transport transportId = "buyerid001">

<SendingProtocol>HTTP</SendingProtocol>

<ReceivingProtocol> FTP </ReceivingProtocol>

<Endpoint uri = "https://www.buyername.com/

po-response" type = "allPurpose"/>

<TransportSecurity>

<Protocol version = "1.0">TLS</Protocol>

<CertificateRef certId = certid001">BuyerName</CertificateRef>

</TransportSecurity>

</Transport>

Grenoble Ecole de Management MEDFORIST Workshop

an example transport entry in cpp for a seller
An example Transport Entry in CPP for a seller

<Transport transportId = "sellid001">

<SendingProtocol>FTP</SendingProtocol>

<ReceivingProtocol> HTTP </ReceivingProtocol>

<Endpoint uri = "https://www.sellername.com/

os_here" type = "allPurpose"/>

<TransportSecurity>

<Protocol version = "3.0">SSL</Protocol>

<CertificateRef certId ="certid002">Sellername</CertificateRef>

</TransportSecurity>

</Transport>

Grenoble Ecole de Management MEDFORIST Workshop

collaboration protocol agreement cpa
Collaboration Protocol Agreement (CPA)
  • The Collaboration Protocol Agreement (CPA) specifies the details of how two organizations have agreed to conduct business electronically
  • It is formed by combining the CPPs of the two organizations
  • The information in the CPA is used to implement Business Service Interfaces (BSI) to enable exchange of Messages with trading parties
  • The ebXML Message Service Handler is used to implement the exchange of messages

Grenoble Ecole de Management MEDFORIST Workshop

collaboration protocol agreement

Role

Role

Packaging

Packaging

match

Transport

Transport

match

match

Collaboration Protocol Agreement
  • Basic Tasks:

CPP of Company A

CPP of Company B

Grenoble Ecole de Management MEDFORIST Workshop

configuring cpa matching business processes and the roles
Configuring CPA: Matching Business Processes and the Roles
  • ebXML mandates CPPs to reference the same BP document in order to create a CPA
  • If BP references are NOT same
    • Structural matching of BP documents performed prior to Role matching
    • Matching transitions between Binary Collaborations as specified in Multiparty Collaboration
  • Roles should be complementary
    • ex : Buyer & Seller in Request Purchase Order PIP

Grenoble Ecole de Management MEDFORIST Workshop

configuring cpa matching transport
Configuring CPA: Matching Transport

<Transport transportId = "buyerid001">

<SendingProtocol>HTTP</SendingProtocol>

<ReceivingProtocol> FTP </ReceivingProtocol>

<Endpoint uri = "https://www.buyername.com/

po-response" type = "allPurpose"/> …</Transport>

---------------------------------------------------------------------------------

<Transport transportId = "sellid001">

<SendingProtocol>FTP</SendingProtocol>

<ReceivingProtocol> HTTP </ReceivingProtocol>

<Endpoint uri = "https://www.sellername.com/

os_here" type = "allPurpose"/> …</Transport>

Grenoble Ecole de Management MEDFORIST Workshop

configuring cpa matching transport security
Configuring CPA: Matching Transport Security

<Transport transportId = "buyerid001"> ….

<TransportSecurity>

<Protocol version = "1.0">TLS</Protocol>

<CertificateRef certId = certid001">BuyerName

</CertificateRef> </TransportSecurity> </Transport>

------------------------------------------------------------

<Transport transportId = "sellid001"> …

<TransportSecurity>

<Protocol version = "3.0">SSL</Protocol>

<CertificateRef certId ="certid002">Sellername

</CertificateRef> </TransportSecurity> </Transport>

Grenoble Ecole de Management MEDFORIST Workshop

configuring cpa matching document packaging
Configuring CPA: Matching Document Packaging
  • ebXML message payloads are packaged using the MIME multipart/related content type
  • Matching by structural comparison is performed
    • MIME types of the SimplePartelements of corresponding subtrees should match
    • CompositeListmatched in MIME types and in sequence of composition
  • Matching Document Level Security is difficult to do automatically due to several radically different approaches to document-level security

Grenoble Ecole de Management MEDFORIST Workshop

configuring cpa matching business processes and the roles20
Configuring CPA: Matching Business Processes and the Roles
  • ebXML mandates CPPs to reference same BP document in order to create a CPA
  • If BP references are NOT same
    • Structural matching of BP documents performed prior to Role matching
    • Matching transitions between Binary Collaborations as specified in Multiparty Collaboration
  • Roles should be complementary
    • ex : Buyer & Seller in Request Purchase Order PIP

Grenoble Ecole de Management MEDFORIST Workshop

configuring cpa matching document packaging21
Configuring CPA: Matching Document Packaging
  • ebXML message payloads are packaged using the MIME multipart/related content type
  • Matching by structural comparison is performed
    • MIME types of the SimplePartelements of corresponding subtrees should match
    • CompositeListmatched in MIME types and in sequence of composition
  • Matching Document Level Security is difficult to do automatically due to several radically different approaches to document-level security

Grenoble Ecole de Management MEDFORIST Workshop

business process specification schema bpss
Business Process Specification Schema (BPSS)
  • Business Process Specification Schema (BPSS) The Specification Schema provides the definition of an XML document (in the form of an XML DTD) that describes how an organization conducts its business
  • While the CPA/CPP deals with the technical aspects of how to conduct business electronically, the Specification Schema deals with the actual business process

Grenoble Ecole de Management MEDFORIST Workshop

business process specification schema bpss23
Business Process Specification Schema (BPSS)
  • A Business Process specifies the sequence of exchanging business data with other Trading Partners
  • Business Processes are capable of expressing the following types of information:
    • Choreography for the exchange of document instances (for example, the choreography of necessary Message exchanges between two Trading Partners executing a "Purchasing" ebXML transaction)
    • References to Business Process and Business Documents (possibly DTD's or Schemas) that add structure to business data
    • Definition of the roles for each participant in a Business Process

Grenoble Ecole de Management MEDFORIST Workshop

business process specification schema bpss24
Business Process Specification Schema (BPSS)
  • The sequence of exchanging business data
  • Contains:
    • Choreography for the exchange
    • References Business Documents (possibly DTD's or Schemas)
    • Definition of the roles for each participant in a Business Process

Grenoble Ecole de Management MEDFORIST Workshop

core components
Core Components
  • A core component is a common or "general" building block that basically can be used across business sectors
  • The ebXML Core Components specification defines an initial set of Core Components like date, address or order details
  • ebXML users may adopt and/or extend components from the ebXML Core Library
  • Components can be built together into aggregates

Grenoble Ecole de Management MEDFORIST Workshop

ebxml messaging service
ebXML Messaging Service
  • A standard way to exchange messages reliably and securely
  • Could be SMTP, HTTP, or FTP
  • ebXML Message Packing Structure:
    • SOAP with MIME Attachments

Grenoble Ecole de Management MEDFORIST Workshop

ebxml message structure

Communication Protocol Envelope (HTTP, SMTP, …)

SOAP with attachments MIME Envelope

MIME Part

SOAP Envelope

SOAP Header

ebXML message header

Etc.

MIME Part(s)

Payloads (Business Documents)

ebXML Message Structure

Grenoble Ecole de Management MEDFORIST Workshop

ebxml messaging service28
ebXML Messaging Service
  • An ebXML Message consists of an optional transport protocol specific outer envelope which contains a protocol independent ebXML Message Envelope as its payload
  • The ebXML Message Envelope is packaged using the MIME multipart/related content type
  • MIME is used as a packaging solution because of the diverse nature of information exchanged between Partners in eBusiness environments
  • For example, a complex Business Transaction between two or more Trading Partners might require a payload that contains an array of business documents (XML or other document formats), binary images, or other related Business Information

Grenoble Ecole de Management MEDFORIST Workshop

ebxml message processing
ebXML Message Processing
  • Security Services - digital signature creation and verification, authentication and authorization
  • These services may be used by other components of the MSH including the Header Processing and Header Parsing components
  • Reliable Messaging Services - handles the delivery and acknowledgment of ebXML Messages sent with delivery Semantics of "Once And Only Once“
  • The service includes handling for persistence, retry, error notification and acknowledgment of messages requiring reliable delivery

Grenoble Ecole de Management MEDFORIST Workshop

what it takes a company to become ebxml compliant
What it takes a company to become ebXML compliant?
  • Registering to an ebXML registry:
    • Business Processes
    • Collaboration Protocol Profiles
    • Business Documents

Grenoble Ecole de Management MEDFORIST Workshop

slide31

Company A

1 Request Business

Details

ebXML

Registry

2 Build

Local

System

3 Register Company

Information

5 Download Scenarios and Profiles

6 Agree on

Business

Arrangements

4 Query about

Company A

7Do Business

Transactions!

Company B

ebXML compliant

system

Grenoble Ecole de Management MEDFORIST Workshop

comments on ebxml
Comments on ebXML
  • The ebXML components may be used somewhat independent: they are only loosely related
  • The elements of the infrastructure may interact with each other, but in most cases are not required to
  • The messaging services may be used completely independently, although a message header may contain a reference to a CPA
  • The CPA and CPP provide means to identify a Business Process Specification governing how the parties do business and parameters for using the ebXML messaging service, but these are both optional and are not required

Grenoble Ecole de Management MEDFORIST Workshop

ebxml33
ebXML
  • The Business Process Specification may specify how services offered by the messaging service (such as signaling acknowledgments or requesting digital signatures) are used in the conduct of a business process, but these also are not required
  • The CPP, CPA, and Business Process Specifications may be stored in an ebXML compliant registry, but this is not required
  • An ebXML compliant Registry may store any type of object, including non-XML objects
  • However, all communications with the registry must use the ebXML messaging service

Grenoble Ecole de Management MEDFORIST Workshop

ebxml registry information model rim
ebXML Registry Information Model (RIM)

RegistryObject

ClassificationNode

Classification

RegistryEntry

Association

ClassificationScheme

RegistryPackage

ExtrinsicObject

Service

Grenoble Ecole de Management MEDFORIST Workshop

ebxml summary and implementation status
ebXML Summary and Implementation Status
  • Through ebXML it is possible to automate public business processes although how to form the CPAs automatically have been partially attacked yet!
  • Currently ebXML compliant registries are available, for example, OASIS ebXML Registry Reference Implementation Project (ebxmlrr), http://ebxmlrr.sourceforge.net/
  • ebXML messaging has been implemented by several companies

Grenoble Ecole de Management MEDFORIST Workshop

how to exploit web services semantics through ebxml

How to Exploit Web Services Semantics through ebXML?

Grenoble Ecole de Management MEDFORIST Workshop

exploiting semantics

ReserveAFlight

originatingFrom

destinationTo

paymentMethod

Exploiting semantics

TravelService

Accommodation

Service

Transportation

Service

Entertainment

Service

?

AirTransportation

  • In relating the semantics with the services advertised in service registries, there are two key issues:
    • Where to store the generic semantics of the services
    • How to relate the services advertised in the registry with the semantic defined through an ontology

ReserveAFlight

BuyATicket

originatingFrom

destinationTo

paymentMethod

?

MyService

Grenoble Ecole de Management MEDFORIST Workshop

where to store the generic semantics of the services
Where to store the generic semantics of the services?
  • An ebXML registry allows to define semantics basically through two mechanisms:
    • It allows properties of registry objects to be defined through “slots” and,
    • Metadata can be stored in the registry through a “classification” mechanism

Grenoble Ecole de Management MEDFORIST Workshop

relating a web service advertised with service ontology

ReserveAFlight

originatingFrom

destinationTo

paymentMethod

How to relate MyService to a generic service class?

MyService

Relating a Web service Advertised with Service Ontology

Grenoble Ecole de Management MEDFORIST Workshop

relating a web service advertised with service ontology in ebxml

ServiceToIndustryClassification:

Classification

classificationNode

classsifiedObject

MyService:

Registry Entry

ReserveAFlight:

ClassificationNode

Relating a Web service Advertised with Service Ontology in ebXML

Grenoble Ecole de Management MEDFORIST Workshop

how to relate services advertised with the generic ontology classes
How to relate services advertised with the generic ontology classes?
  • By relating a service advertised with a node in classification hierarchy, we make the service an explicit member of this node
  • The service also inherits the well-defined meaning associated with this node as well as the generic properties defined for this node
  • When we associate “MyService” with “ReserveAFlightService”, its meaning becomes clear; that this service is a flight reservation service
  • Assuming that the “ReserveAFlightService” service has the generic properties such as “originatingFrom”, “destinationTo” and “paymentMethod”, “MyService” also inherits these properties

Grenoble Ecole de Management MEDFORIST Workshop

slide42
“SubmitObjectRequest” which declares the semantic of “MyReserveAFlightService” and relates it with the “ReserveAFlightService”

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

<SubmitObjectsRequest >

<rim:LeafRegistryObjectList>

<rim:ClassificationNode id = 'ReserveAFlightService' parent= 'CS' >

<Slot name = 'originatingFrom' slotType= 'StringList'>…</Slot>

<Slot name = 'destinationTo' slotType= 'StringList' > …</Slot>

<Slot name = 'paymentMethod' slotType= 'StringList' >…</Slot>

</rim:ClassificationNode>

Grenoble Ecole de Management MEDFORIST Workshop

an example submitobjectrequest cont d
An Example “SubmitObjectRequest” (Cont’d)

<Service id="MyReserveAFlightService">

<Name> <LocalizedString lang="en_US" value = "ReserveAFlightService"/> </Name>

<Slot name = 'originatingFrom'>

<ValueList> <Value>Istanbul </Value> </ValueList> </Slot>

<Slot name = 'destinationTo'>

<ValueList> <Value> New York</Value> </ValueList> </Slot>

<Slot name = 'paymentMethod'>

<ValueList> <Value> Credit Card </Value> </ValueList> </Slot>

Grenoble Ecole de Management MEDFORIST Workshop

an example submitobjectrequest cont d44
An Example “SubmitObjectRequest” (Cont’d)

<ServiceBinding accessURI="http://www.sun.com/ebxmlrr/registry/nameSpaceIndexer">

<SpecificationLink specificationObject="wsdl"> </SpecificationLink> </ServiceBinding> </Service>

<ExtrinsicObject id="wsdl" mimeType="text/xml"> </ExtrinsicObject>

<Classification classificationNode="ReserveAFlightService“ ClassifiedObject= "MyReserveAFlightService" />

</rim:LeafRegistryObjectList> </SubmitObjectsRequest>

Grenoble Ecole de Management MEDFORIST Workshop

service composition travel service example
Service Composition: Travel Service Example

Grenoble Ecole de Management MEDFORIST Workshop

an adhocqueryrequest to return reserveaflightservice as a composite object including the slots
An AdhocQueryRequest to return “ReserveAFlightService” as a composite object including the slots

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

<AdhocQueryRequest xmlns = "urn:oasis:names:tc:ebxml-regrep:query:xsd:2.0"

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

xsi:schemaLocation = "urn:oasis:names:tc:ebxml-regrep:query:xsd:2.0 query.xsd">

<ResponseOption returnType = "LeafClass" returnComposedObjects = "true"/>

<FilterQuery> <RegistryObjectQuery> <NameBranch> <LocalizedStringFilter>

<Clause> <SimpleClause leftArgument = "value">

<StringClause stringPredicate = "Equal">

ReserveAFlightService</StringClause>

</SimpleClause> </Clause> </LocalizedStringFilter>

</NameBranch> </RegistryObjectQuery> </FilterQuery> </AdhocQueryRequest>

Grenoble Ecole de Management MEDFORIST Workshop

user interface
User Interface

Grenoble Ecole de Management MEDFORIST Workshop

slide49
A Filter Query Retrieving all the services classified by ReserveAFlightService Node and Originating from Istanbul

<AdhocQueryRequest >

<ResponseOption returnType = "LeafClass" returnComposedObjects = "true" />

<FilterQuery> <ServiceQuery> <ClassifiedByBranch>

<ClassificationNodeQuery> <NameBranch> <LocalizedStringFilter>

<Clause> <SimpleClause leftArgument = "value">

<StringClause stringPredicate = "Equal">ReserveAFlightService </StringClause>

</SimpleClause> </Clause> </LocalizedStringFilter> </NameBranch>

</ClassificationNodeQuery> </ClassifiedByBranch>

<SlotBranch> <SlotFilter> <Clause> <SimpleClause leftArgument = "name_">

<StringClause stringPredicate = "Equal"> originatingFrom</StringClause>

</SimpleClause> </Clause> </SlotFilter>

<SlotValueFilter> <Clause> <SimpleClause leftArgument = "value">

<StringClause stringPredicate = "Contains"> Istanbul</StringClause>

</SimpleClause> </Clause> </SlotValueFilter> </SlotBranch>

</ServiceQuery> </FilterQuery> </AdhocQueryRequest>

Grenoble Ecole de Management MEDFORIST Workshop

thank you for your attention
Thank you for your attention!

Grenoble Ecole de Management MEDFORIST Workshop