A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak...

47
A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara Turkey

Transcript of A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak...

Page 1: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

A Semantic-Based Web Service Composition Facility for ebXML RegistriesAsuman DogacYildiray KabakGokce Laleci

Middle East Technical UniversityAnkara Turkey

Page 2: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

Outline

Web Services, WSDL, SOAP Why WSDL is not enough? Semantic of Web Services ebXML and the ebXML Registry Information Model How to Exploit Web Services Semantics through

ebXML? A Web Service Composition Tool Conclusions

Page 3: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

Web Services, WSDL, SOAP

Page 4: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

Web Services

Web services encapsulate business functions Check credit card number Payment processing Stock quotes Request for quote, bid processes

They can be used to compose business processes Travel planning Health care …

Page 5: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

What is a Web Service?

A Web Service is an interface that describes: a collection of operations that are network-accessible through standardized XML messaging

To put it simply, Web services are applications that interact with each other using Web standards

Web Service

Client Application

XML

WEB

Page 6: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

Web Services

Web Service

Client Application

XML

WEB

ExistingApplication

ExistingApplication

• Existing applications can be wrapped as Web services• Client and Service can use different platforms and programming languages • Services can be composed to make composite services

Page 7: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

Web Service Model

Service Registry (ebXML or UDDI)- Web service descriptions

Service Consumer

Service Provider- Web service- Service Description in WSDL

Publish service

Discover service

Invoke service through SOAP

Page 8: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

Why WSDL is not enough?

Page 9: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

Web Service Description

Web ServiceService Consumer

Web Service Description

defines

uses

Page 10: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

WSDL Structure

Service

Port(e.g. http://host/service)

Binding(e.g. SOAP, JMS,

direct call)

Abstract interface

portType

operation(s)

inMesage outMessage

Port

Binding

Where to access it

How to access it

Abstract definition of the service (set of

Operations)

Operation: An Exchange of

Messages between a serviceRequestor and a Service provider

Page 11: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

XML Messaging: SOAP

The current standard for XML Messaging is Simple Object Access protocol (SOAP)

Applications typically communicate with Web services via SOAP messaging

Typically HTTP is used as RPC transport

XML is used as RPC encoding scheme

Page 12: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

SOAP over HTTP

HTTP POST Message

SOAP Endpoint Reference

XML MessageSOAP Payload

SOAP Header

SOAP Body

SOAP Envelope

Page 13: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

The SOAP Envelope<SOAP-ENV:Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">

< SOAP-ENV:Header> ... </ SOAP-ENV:Header>

< SOAP-ENV:Body> ... </ SOAP-ENV:Body> ...</ SOAP-ENV: Envelope>

Page 14: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

SOAP Endpoint Reference

144.122.230.16 80 /ProductCatalog#getPrice

IP Host Address TCP Port No

Object Endpoint ID

POST /ProductCatalog HTTP/1.0 Host: http://www.srdc.metu.edu.tr Content-Type: text/xml; charset="utf-8" Content-Length: 500 SOAPAction: ``http://www.srdc.metu.edu.tr/ProductCatalog#getPrice"

Page 15: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

SOAP Envelope

<SOAP-ENV:Envelope xmlns:SOAP-ENV="

http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="

http://schemas.xmlsoap.org/soap/encoding" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">

Page 16: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

SOAP Body

<SOAP-ENV:Header /> <SOAP-ENV:Body> <s:getPrice

xmlns:s="http://www.srdc.metu.edu.tr/ProductCatalog"> <product_name xsi:type="xsd:string">Palm

Pilot</product_name> </s:getPrice> </SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Method Name

Input Parameter

Page 17: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

SOAP ResponseHTTP/1.0 200 OKContent-Type: text/xml; charset="utf-8" Content-Length: 400 <SOAP-ENV:Envelope xmlns:SOAP-ENV="

http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="

http://schemas.xmlsoap.org/soap/encoding" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <SOAP-ENV:Header /> <SOAP-ENV:Body> <s:getPriceResponse

xmlns:s="http://www.srdc.metu.edu.tr/ProductCatalog"> <product_price xsi:type="xsd:float">2000.</product_price> </s:getPriceResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>

Standard Suffix

Page 18: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

Web Service Semantics

Page 19: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

Like their real-life counter parts, Web services have properties In order to exploit services in their full potential their properties

must be defined:

The methods of charging and payment The channels by which the service is requested and

provided Constraints on temporal and spatial aspects Availability Service quality Security, trust and rights attached to a service

Page 20: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

An Example Ontology for Travel Domain

TravelService

EntertainmentService

AccommodationService

ReserveAFlight BuyATicket

AirTransportation

TransportationService

originatingFrom destinationTo paymentMethod

Properties of theGeneric ServiceClass

Page 21: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

WSDL does not describe Web service semantics

Web ServiceService Consumer

Web Service Description

defines

Semantic description of the properties of a service

uses

Page 22: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

Taxonomies are not enough to define service semantics: An Example Taxonomy: UNSPSC

43.00.00.00.00Communications and ComputerEquipment and Peripherals and

Components and Supplies

43.16.17.00.00Business Transaction and Personal

Business Software

43.16.17.02.00Tax Preparation Software

Page 23: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

ebXML

Page 24: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

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

Page 25: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

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

Page 26: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

ebXML Architecture’s functional components

Business Process Specification Schema (BPSS) Business processes are not fixed!

Trading Partner Information Collaboration Protocol Profile CPP

Trading Partner Agreement Collaboration Protocol Agreement CPA

Registry/Repository Messaging Service Core Components

Page 27: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

An Overview of Functional Components in ebXML

Repository

ebXML Business Process

Specifications

Business Document

Specification

ebXMLCore

Components

CPP CPPCPA

BusinessService

Interface

BusinessService

Interface

ContextFor

ReferenceTo

BuiltWith

Implement onePartner Role

Implement otherPartner Role

Page 28: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

ebXMLRegistry 3 Register Company

Information

1 Request BusinessDetails

4 Query aboutCompany A

Company A

Company B

5 Download Scenarios and Profiles

2 BuildLocalSystem

6 Agree onBusiness Arrangements

7 Do Business Transactions!

ebXML compliantsystem

Page 29: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

ebXML Registry Information Model (RIM)

RegistryObject

ClassificationNode Classification

RegistryPackage ExtrinsicObject Service

AssociationRegistryEntry

ClassificationScheme

Page 30: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

How to Exploit Web Services Semantics through ebXML?

Page 31: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

Exploiting semantics

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

originatingFrom destinationTo paymentMethod

MyService

TravelService

EntertainmentService

AccommodationService

ReserveAFlight BuyATicket

AirTransportation

TransportationService

originatingFrom destinationTo paymentMethod

?

?

Page 32: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

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

Page 33: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

Relating a Web service Advertised with Service Ontology

ReserveAFlight

originatingFrom destinationTo paymentMethod

MyService

How to relate MyService to a generic service class?

Page 34: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

Relating a Web service Advertised with Service Ontology in ebXML

MyService:Registry Entry

ReserveAFlight:ClassificationNode

ServiceToIndustryClassification:Classification

classsifiedObject classificationNode

Page 35: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

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

Page 36: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

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

Page 37: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

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>

Page 38: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

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>

Page 39: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

Service Composition: Travel Service Example

Page 40: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.
Page 41: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

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>

Page 42: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

User Interface

Page 43: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

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>

Page 44: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

Implementation Status

A proof of concept implementation of the system is realized by using OASIS ebXML Registry Reference Implementation

As an application server to host Web services to be accessed through SOAP, Apache Tomcat 4.1 is used

The WSDL descriptions of the implemented services are generated through IBM Web services Toolkit 3.2 (WSTK)

Finally IBM Web Services Invocation Framework 1.0 (WSIF) is used to invoke services.

Page 45: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

Conclusions

Web Services will transform the web from a collection of information into a distributed device of computation

In order to employ their full potential, appropriate semantic mechanisms for web services need to be developed

A semantic-based service composition tool for ebXML registries is described

Service discovery and composition by using the semantics of services has been addressed in the literature where the weight of the work has been on using AI techniques to match the inputs and outputs of services requested and advertised

The main problem with these approaches is the performance, which is not yet at the levels to be adopted by the industry

Page 46: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

Conclusions

In contrast to such approaches, we take a data management approach for service discovery by exploiting the meta data and the query mechanism of the ebXML registry

With the tools we have provided, the registry is queried for explicit members of a classification node to obtain the generic parameters of the service and users are allowed to fill these in through graphical user interfaces generated dynamically

Then the registry is queried for matching services; the corresponding WSDL files are obtained and through a workflow mechanism presented, the users can compose the discovered services

The current workflow mechanism implemented is a simple one realizing basic workflow functionality

As a future work, we plan to use one of the recent Web services choreography languages, such as BPEL4WS in composing the services

Page 47: A Semantic-Based Web Service Composition Facility for ebXML Registries Asuman Dogac Yildiray Kabak Gokce Laleci Middle East Technical University Ankara.

Thank you for your attention!