112/14/2015 discovery of composable web services presented by: duygu Çelİk submitted by: duygu...

20
1 06/15/22 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by : Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla ELÇI CMPE 588 Project: Composable Web Services Duygu CELIK & Vassilya ABDULOVA

Upload: georgina-wade

Post on 29-Jan-2016

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 112/14/2015 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by: Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla

104/22/23

Discovery of Composable Web Services

Discovery of Composable Web Services

Presented by:Duygu ÇELİK

Submitted by:Duygu ÇELİK & Vassilya ABDULOVA

Submitted to:Assoc.Prof.Dr.Atilla ELÇI

CMPE 588 Project: Composable Web ServicesDuygu CELIK & Vassilya ABDULOVA

Page 2: 112/14/2015 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by: Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla

204/22/23

Project Goal and ImplementationProject Goal and Implementation

Goal: develop an application that could extract relationships between Web Services and decide on whether these services are composable.

The project implementation consists of three parts:– Creating Web Services using OWL-S– writing Java code for extraction of relationships between

Web Services– JSP (Java Server Pages)/HTML code development of user

interface.

CMPE 588 Project: Composable Web ServicesDuygu CELIK & Vassilya ABDULOVA

Page 3: 112/14/2015 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by: Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla

304/22/23

Load Distribution of the Project:Load Distribution of the Project:

Plan

Duygu: – Development of Java code for extraction of relationships

between Web Services– Defining composability of Web Services

Vassilya: – Creating Web Service ontologies using OWL-S

(BookPrice.owl, BookFinder.owl, CarPrice.owl, CarFinder.owl, CurrencyConverter.owl) and establishing relationships between them

– Creating an example scenario– Development of a web application in JSP

CMPE 588 Project: Composable Web ServicesDuygu CELIK & Vassilya ABDULOVA

Page 4: 112/14/2015 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by: Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla

404/22/23

Created Web Services For TestingCreated Web Services For Testing

The program tries to find relationships chain A sequence for composability relation between

different Web Services (WS). Create five choices of web services:

– Book Finder WS, – Book Price WS, – Car Finder WS, – Car Price WS and – Currency Converter WS.

OWL-S was used to develop ontologies for these services.

CMPE 588 Project: Composable Web ServicesDuygu CELIK & Vassilya ABDULOVA

Page 5: 112/14/2015 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by: Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla

504/22/23

OWL-S is a set of ontologies for describing web services.It has been developed to provide the building blocks for encoding rich semantic service descriptions based upon OWL the semantic web language recommended by W3C.It consists of three main upper ontologies used to describe three features of the services:

The Profile facet is essentially used for describing the non-functional properties (service name, category, quality of service etc.)The Process facet gives a detailed description of a service operation, its inputs and outputs and can even detail its internal processes.The Grounding facet provides details on how to interoperate with a service via messages.

OWL-S and Web ServicesOWL-S and Web Services

CMPE 588 Project: Composable Web ServicesDuygu CELIK & Vassilya ABDULOVA

Page 6: 112/14/2015 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by: Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla

604/22/23

Car Price WS Ontology CreatedCar Price WS Ontology Created

This service takes information about the car as an input and returns the price of the car.

<!-- Service description --><service:Service rdf:ID="CarPriceService">

<service:presents rdf:resource="#CarPriceProfile"/><service:describedBy rdf:resource="#CarPriceProcess"/><service:supports rdf:resource="#CarPriceGrounding"/>

</service:Service>

CMPE 588 Project: Composable Web ServicesDuygu CELIK & Vassilya ABDULOVA

Page 7: 112/14/2015 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by: Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla

704/22/23

<!-- Profile description -->

<mind:CarInformationService rdf:ID="CarPriceProfile">

<service:presentedBy rdf:resource="#CarPriceService"/>

<profile:serviceName xml:lang="en">Car Price</profile:serviceName>

<profile:textDescription xml:lang="en">

This service returns the price of a car.</profile:textDescription>

<profile:hasInput rdf:resource="#CarInfo"/>

<profile:hasOutput rdf:resource="#Price"/>

</mind:CarInformationService>

The service profile gives the information needed for an application to discover a service.

Car Price WS Profile InformationCar Price WS Profile Information

CMPE 588 Project: Composable Web ServicesDuygu CELIK & Vassilya ABDULOVA

Page 8: 112/14/2015 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by: Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla

804/22/23

<!-- Process description --><process:AtomicProcess rdf:ID="CarPriceProcess">

<service:describes rdf:resource="#CarPriceService"/><process:hasInput rdf:resource="#CarInfo"/><process:hasOutput rdf:resource="#Price"/>

</process:AtomicProcess>

<process:Input rdf:ID="CarInfo"><process:parameterType rdf:datatype="&xsd;#anyURI">

&xsd;#string</process:parameterType><rdfs:label>Car Info</rdfs:label>

</process:Input>

<process:Output rdf:ID="Price"><process:parameterType rdf:datatype="&xsd;#anyURI">

&currency;#Price</process:parameterType><rdfs:label>Car Price</rdfs:label>

</process:Output>

Car Price WS Process InformationCar Price WS Process Information

CMPE 588 Project: Composable Web ServicesDuygu CELIK & Vassilya ABDULOVA

Page 9: 112/14/2015 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by: Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla

904/22/23

Composability of Web Services

Composability of Web Services

See next figure: Input/Output relationships between some services.

Applied Logic:

One of the outputs of one service should match one of the inputs in another

service .

CMPE 588 Project: Composable Web ServicesDuygu CELIK & Vassilya ABDULOVA

Page 10: 112/14/2015 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by: Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla

1004/22/23

Book Finder WS

Inputs:

Outputs:

Book Price WS

Inputs:

Outputs:

Car Price WS

Inputs:

Outputs:

Car Finder WS

Inputs:

Outputs:

CarMake

CarModel

CarInfoCarInfo

PricePrice

BookISBNBookISBN

BookName

Currency Converter

WS

Inputs:

Outputs:

Currency

ConvertedPrice

Price

1

2 4

3

I/O Relationships-Services’ Processes

1. Book Finder WS => Book Price WS => Currency Converter WS.2. Car Finder WS => Car Price WS => Currency Converter WS.

CMPE 588 Project: Composable Web ServicesDuygu CELIK & Vassilya ABDULOVA

Page 11: 112/14/2015 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by: Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla

1104/22/23

Example Scenario: Price Information WS. Provides book price information and car price information

services to end users. Price

Information Web Service

Book Finder Web Service

Book Price Web Service

Car Finder Web Service

Car Price Web Service

Currency Converter Web

Service

End User 1End User 2

BookISBN (1.4)

Price (1.5)

CarInfo (2.4)

Price (2.5)

Currency (1.3, 2.3) ConvertedPrice (1.6, 2.6)

BookName (1.2) CarMake, CarModel (2.2)

BookName, Currency (1.1)

ConvertedPrice (1.7)

CarMake, CarModel, Currency (2.1)

ConvertedPrice (2.7)

CMPE 588 Project: Composable Web ServicesDuygu CELIK & Vassilya ABDULOVA

Page 12: 112/14/2015 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by: Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla

1204/22/23

ImplementationImplementation

The software is developed in Java platform.

The system used some important and useful tools that are

developed for semantic web technologies such as some APIs.

Those tools were helpful for retrieving necessary information

from OWL and OWL-S files.

Those tools are imported in Java Net beans 5.5 which are Jena

2.0 OWL API and OWL-S API.

Two JSP pages (user interface) and Java Classes (functions)

were created.

CMPE 588 Project: Composable Web ServicesDuygu CELIK & Vassilya ABDULOVA

Page 13: 112/14/2015 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by: Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla

1304/22/23

Extraction of Process I/O Info from OWL-S Ontology Files

Extraction of Process I/O Info from OWL-S Ontology Files

software opens the one of owls extract its all processes’ inputs and outputs terms we compare them and get relations between them Check if exists one service output is an input for another one. The system used OWL-S API to extracting each service’s

processes I/O Terms./********************************************************/ public List AllInputs() { InputList inputList=process.getInputs(); List allInputsList=new LinkedList(); for(int i=0;i<inputList.size();i++) { allInputsList.add(inputList.inputAt(i).getLocalName()); } return allInputsList; } /********************************************************/ public List AllOutputs() { OutputList outputList=process.getOutputs(); List allOutputsList=new LinkedList(); for(int i=0;i<outputList.size();i++) { allOutputsList.add(outputList.outputAt(i).getLocalName()); } return allOutputsList; }

CMPE 588 Project: Composable Web ServicesDuygu CELIK & Vassilya ABDULOVA

Page 14: 112/14/2015 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by: Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla

1404/22/23

System Working on Some Existing Ontologies

System Working on Some Existing Ontologies

Five different ontology files were taken into consideration for finding a relationship chain between them:

SelOntFiles[0]="http://by.emu.edu.tr/ont/BookFinder.owl";

SelOntFiles[1]="http://by.emu.edu.tr/ont/BookPrice.owl";

SelOntFiles[2]="http://by.emu.edu.tr/ont/CurrencyConverter.owl";

SelOntFiles[3]="http://by.emu.edu.tr/ont/CarFinder.owl";

SelOntFiles[4]="http://by.emu.edu.tr/ont/CarPrice.owl";

CMPE 588 Project: Composable Web ServicesDuygu CELIK & Vassilya ABDULOVA

Page 15: 112/14/2015 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by: Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla

1504/22/23

A Case Study for the System TestingA Case Study for the System Testing

Assume some web services’ are found relational by any discovery system/agent

A system/agent may require a relation chain for those web services.

Such software can catch relations to finding composable web services.

If one service process produce an output which is a required input for performing by another service’s operation.

Therefore we can say that those services are related each other and most probably both service needed by the client/agent.

Next figure is showing a case study.

CMPE 588 Project: Composable Web ServicesDuygu CELIK & Vassilya ABDULOVA

Page 16: 112/14/2015 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by: Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla

1604/22/23

Index.jspIndex.jsp

CMPE 588 Project: Composable Web ServicesDuygu CELIK & Vassilya ABDULOVA

Page 17: 112/14/2015 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by: Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla

1704/22/23

Result.jspResult.jsp

CMPE 588 Project: Composable Web ServicesDuygu CELIK & Vassilya ABDULOVA

Page 18: 112/14/2015 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by: Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla

1804/22/23

Result.jsp (Cont)Result.jsp (Cont)

CMPE 588 Project: Composable Web ServicesDuygu CELIK & Vassilya ABDULOVA

Page 19: 112/14/2015 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by: Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla

1904/22/23

CONCLUSIONCONCLUSION

We successfully implemented an application that extracts relationships between Web Services and decides on whether these services are composable. Moreover, we developed five Web Services using

OWL-S and tested their composability using the

developed application, which was implemented in Java. Finally, we developed a web application using JSPs,

which allows users to select some Web Services and

provides composability report to the user.

CMPE 588 Project: Composable Web ServicesDuygu CELIK & Vassilya ABDULOVA

Page 20: 112/14/2015 Discovery of Composable Web Services Presented by: Duygu ÇELİK Submitted by: Duygu ÇELİK & Vassilya ABDULOVA Submitted to: Assoc.Prof.Dr.Atilla

2004/22/23

Running The Software…Running The Software…

Then Questions?