112/14/2015 discovery of composable web services presented by: duygu Çelİk submitted by: duygu...
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/5697bf9f1a28abf838c94fef/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/5697bf9f1a28abf838c94fef/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/5697bf9f1a28abf838c94fef/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/5697bf9f1a28abf838c94fef/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/5697bf9f1a28abf838c94fef/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/5697bf9f1a28abf838c94fef/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/5697bf9f1a28abf838c94fef/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/5697bf9f1a28abf838c94fef/html5/thumbnails/8.jpg)
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">
¤cy;#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](https://reader036.vdocuments.site/reader036/viewer/2022062315/5697bf9f1a28abf838c94fef/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/5697bf9f1a28abf838c94fef/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/5697bf9f1a28abf838c94fef/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/5697bf9f1a28abf838c94fef/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/5697bf9f1a28abf838c94fef/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/5697bf9f1a28abf838c94fef/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/5697bf9f1a28abf838c94fef/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/5697bf9f1a28abf838c94fef/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/5697bf9f1a28abf838c94fef/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/5697bf9f1a28abf838c94fef/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/5697bf9f1a28abf838c94fef/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062315/5697bf9f1a28abf838c94fef/html5/thumbnails/20.jpg)
2004/22/23
Running The Software…Running The Software…
Then Questions?