Discovery of Composable Web Services

22
June 22, 2007 CMPE588 Term Project Presentation Discovery of Composable Web Services Presented by: Vassilya Abdulova

description

CMPE588 Term Project Presentation. Discovery of Composable Web Services. Presented by: Vassilya Abdulova. Discovery of Composable Web Services. Introduction. Introduction. Aim of the project: Application extracting relationships between Web Services - PowerPoint PPT Presentation

Transcript of Discovery of Composable Web Services

Page 1: Discovery of Composable Web Services

June 22, 2007

CMPE588 Term Project Presentation

Discovery of Composable

Web Services

Presented by:

Vassilya Abdulova

Page 2: Discovery of Composable Web Services

June 22, 2007

Introduction

Discovery of Composable Web Services

Page 3: 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

Page 4: Discovery of Composable Web Services

June 22, 2007

Web Services using OWL-S

Discovery of Composable Web Services

Page 5: 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

Page 6: Discovery of Composable 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

Page 7: Discovery of Composable 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

Page 8: Discovery of Composable Web Services

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>

Page 9: Discovery of Composable Web Services

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>

Page 10: Discovery of Composable Web Services

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>

Page 11: Discovery of Composable Web Services

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>

Page 12: Discovery of Composable Web Services

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">&currency;#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>

Page 13: Discovery of Composable Web Services

June 22, 2007

Composability of Web

Services

Discovery of Composable Web Services

Page 14: 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

Page 15: Discovery of Composable Web Services

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)

Page 16: Discovery of Composable Web Services

June 22, 2007

Web Application

Discovery of Composable Web Services

Page 17: 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

Page 18: Discovery of Composable Web Services

April 21, 2023 Presented by Vassilya Abdulova 18

Web Application in JSP

Page 19: Discovery of Composable Web Services

April 21, 2023 Presented by Vassilya Abdulova 19

Web Application in JSP

Page 20: Discovery of Composable Web Services

June 22, 2007

Conclusion

Discovery of Composable Web Services

Page 21: 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

Page 22: Discovery of Composable Web Services

June 22, 2007

Thank you…

Discovery of Composable Web Services