Download - Discovery of Composable Web Services
June 22, 2007
CMPE588 Term Project Presentation
Discovery of Composable
Web Services
Presented by:
Vassilya Abdulova
June 22, 2007
Introduction
Discovery of Composable Web Services
April 21, 2023 Presented by Vassilya Abdulova 3
Aim of the project: Application
extracting relationships between Web Services deciding whether services are composable
Parts of the project: creating Web Services using OWL-S writing Java code for the extraction of relationships
between Web Services JSP (Java Server Pages)/HTML code development of
user interface
Introduction
June 22, 2007
Web Services using OWL-S
Discovery of Composable Web Services
April 21, 2023 Presented by Vassilya Abdulova 5
Book Finder WS takes name of the book as an input and returns
ISBN of the book
Book Price WS takes ISBN of a book as an input and returns the
price of the book
Developed Web Services
April 21, 2023 Presented by Vassilya Abdulova 6
Car Finder WS takes make and model of the car as an input and
returns the information about the car
Car Price WS takes information about the car as an input and
returns the price of the car
Currency Converter WS takes currency and price as an input and returns
converted price as an output
Developed Web Services
April 21, 2023 Presented by Vassilya Abdulova 7
set of ontologies for describing web services consists of three main upper ontologies
Profile essentially used for describing the non-functional
properties (service name, category, etc.); Process
gives a detailed description of a service operation, its inputs and outputs
Grounding provides details on how to interoperate with a
service via messages.
OWL-S
April 21, 2023 Presented by Vassilya Abdulova 8
Book Finder WS
<!-- Service description --><service:Service rdf:ID="BookFinderService">
<service:presents rdf:resource="#BookFinderProfile"/><service:describedBy rdf:resource="#BookFinderProcess"/><service:supports rdf:resource="#BookFinderGrounding"/>
</service:Service><!-- Profile description --><mind:BookInformationService rdf:ID="BookFinderProfile">
<service:presentedBy rdf:resource="#BookFinderService"/><profile:serviceName xml:lang="en">Book Finder</profile:serviceName><profile:textDescription xml:lang="en">
This service returns the ISBN of a book whose title best matches the given string.
</profile:textDescription><profile:hasInput rdf:resource="#BookName"/><profile:hasOutput rdf:resource="#BookISBN"/>
</mind:BookInformationService><!-- Process description --><process:AtomicProcess rdf:ID="BookFinderProcess">
<service:describes rdf:resource="#BookFinderService"/><process:hasInput rdf:resource="#BookName"/><process:hasOutput rdf:resource="#BookISBN"/>
</process:AtomicProcess><process:Input rdf:ID="BookName">
<process:parameterType rdf:datatype="&xsd;#anyURI">&xsd;#string
</process:parameterType><rdfs:label>Book Name</rdfs:label>
</process:Input><process:Output rdf:ID="BookISBN">
<process:parameterType rdf:datatype="&xsd;#anyURI">&bibtex;#Book
</process:parameterType><rdfs:label>Book ISBN</rdfs:label>
</process:Output>
April 21, 2023 Presented by Vassilya Abdulova 9
Book Price WS
<!-- Service description --><service:Service rdf:ID="BookPriceService">
<service:presents rdf:resource="#BookPriceProfile"/><service:describedBy rdf:resource="#BookPriceProcess"/><service:supports rdf:resource="#BookPriceGrounding"/>
</service:Service><!-- Profile description --><mind:BookInformationService rdf:ID="BookPriceProfile">
<service:presentedBy rdf:resource="#BookPriceService"/><profile:serviceName xml:lang="en">Book Price</profile:serviceName><profile:textDescription xml:lang="en">
This service returns the price of a book.</profile:textDescription>
<profile:hasInput rdf:resource="#BookISBN"/><profile:hasOutput rdf:resource="#Price"/>
</mind:BookInformationService><!-- Process description --><process:AtomicProcess rdf:ID="BookPriceProcess">
<service:describes rdf:resource="#BookPriceService"/><process:hasInput rdf:resource="#BookISBN"/><process:hasOutput rdf:resource="#Price"/>
</process:AtomicProcess><process:Input rdf:ID="BookISBN">
<process:parameterType rdf:datatype="&xsd;#anyURI">&bibtex;#Book
</process:parameterType><rdfs:label>Book ISBN</rdfs:label>
</process:Input><process:Output rdf:ID="Price">
<process:parameterType rdf:datatype="&xsd;#anyURI">&concepts;#Price
</process:parameterType><rdfs:label>Book Price</rdfs:label>
</process:Output>
April 21, 2023 Presented by Vassilya Abdulova 10
Car Finder WS<!-- Service description --><service:Service rdf:ID="CarFinderService">
<service:presents rdf:resource="#CarFinderProfile"/><service:describedBy rdf:resource="#CarFinderProcess"/><service:supports rdf:resource="#CarFinderGrounding"/>
</service:Service><!-- Profile description --><mind:CarInformationService rdf:ID="CarFinderProfile">
<service:presentedBy rdf:resource="#CarFinderService"/><profile:serviceName xml:lang="en">Car Finder</profile:serviceName><profile:textDescription xml:lang="en">This service returns the
information of a car whose make and model best matches the given
string.</profile:textDescription><profile:hasInput rdf:resource="#CarMake"/><profile:hasInput rdf:resource="#CarModel"/><profile:hasOutput rdf:resource="#CarInfo"/>
</mind:CarInformationService><!-- Process description --><process:AtomicProcess rdf:ID="CarFinderProcess">
<service:describes rdf:resource="#CarFinderService"/><process:hasInput rdf:resource="#CarMake"/><process:hasInput rdf:resource="#CarModel"/><process:hasOutput rdf:resource="#CarInfo"/>
</process:AtomicProcess><process:Input rdf:ID="CarMake">
<process:parameterType rdf:datatype="&xsd;#anyURI">&xsd;#string</process:parameterType><rdfs:label>Car Make</rdfs:label>
</process:Input><process:Input rdf:ID="CarModel">
<process:parameterType rdf:datatype="&xsd;#anyURI">&xsd;#string</process:parameterType><rdfs:label>Car Model</rdfs:label>
</process:Input><process:Output rdf:ID="CarInfo">
<process:parameterType rdf:datatype="&xsd;#anyURI">&xsd;#string</process:parameterType><rdfs:label>Car Info</rdfs:label>
</process:Output>
April 21, 2023 Presented by Vassilya Abdulova 11
Car Price WS<!-- Service description --><service:Service rdf:ID="CarPriceService">
<service:presents rdf:resource="#CarPriceProfile"/><service:describedBy rdf:resource="#CarPriceProcess"/><service:supports rdf:resource="#CarPriceGrounding"/>
</service:Service><!-- 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><!-- 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">&concepts;#Price
</process:parameterType><rdfs:label>Car Price</rdfs:label>
</process:Output>
April 21, 2023 Presented by Vassilya Abdulova 12
Currency Converter WS<!-- Service description --><service:Service rdf:ID="CurrencyConverterService">
<service:presents rdf:resource="#CurrencyConverterProfile"/><service:describedBy rdf:resource="#CurrencyConverterProcess"/><service:supports rdf:resource="#CurrencyConverterGrounding"/>
</service:Service><!-- Profile description --><mind:CurrencyService rdf:ID="CurrencyConverterProfile">
<service:isPresentedBy rdf:resource="#CurrencyConverterService"/><profile:serviceName xml:lang="en">Price
Converter</profile:serviceName><profile:textDescription xml:lang="en">Converts the given price to another
currency.</profile:textDescription><profile:hasInput rdf:resource="#Price"/><profile:hasInput rdf:resource="#Currency"/><profile:hasOutput rdf:resource="#ConvertedPrice"/>
</mind:CurrencyService><!-- Process description --><process:AtomicProcess rdf:ID="CurrencyConverterProcess">
<service:describes rdf:resource="#CurrencyConverterService"/><process:hasInput rdf:resource="#Price"/><process:hasInput rdf:resource="#Currency"/><process:hasOutput rdf:resource="#ConvertedPrice"/>
</process:AtomicProcess><process:Input rdf:ID="Price">
<process:parameterType rdf:datatype="&xsd;#anyURI">&concepts;#Price</process:parameterType>
<rdfs:label>Price</rdfs:label></process:Input><process:Input rdf:ID="Currency">
<process:parameterType rdf:datatype="&xsd;#anyURI">¤cy;#Currency</process:parameterType>
<rdfs:label>Currency</rdfs:label></process:Input><process:Output rdf:ID="ConvertedPrice">
<process:parameterType rdf:datatype="&xsd;#anyURI">&concepts;#Price</process:parameterType>
<rdfs:label>Converted Price</rdfs:label></process:Output>
June 22, 2007
Composability of Web
Services
Discovery of Composable Web Services
April 21, 2023 Presented by Vassilya Abdulova 14
Composability of Web Services
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
April 21, 2023 Presented by Vassilya Abdulova 15
Example Scenario
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)
June 22, 2007
Web Application
Discovery of Composable Web Services
April 21, 2023 Presented by Vassilya Abdulova 17
Developed using Java Server Pages and HTML JSP technology
separates user interface from content generation enables designers to change the overall page layout without
altering the underlying dynamic content
Web Application
April 21, 2023 Presented by Vassilya Abdulova 18
Web Application in JSP
April 21, 2023 Presented by Vassilya Abdulova 19
Web Application in JSP
June 22, 2007
Conclusion
Discovery of Composable Web Services
April 21, 2023 Presented by Vassilya Abdulova 21
Successfully implemented an application that extracts relationships between Web Services and decides on whether these services are composable.
Developed five Web Services using OWL-S and tested their composability using the developed application
Developed a web application using JSP, which allows users to select some Web Services and provides composability report to the user.
Conclusion
June 22, 2007
Thank you…
Discovery of Composable Web Services