1 / 22

Discovery of Composable Web Services

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

cade
Download Presentation

Discovery of Composable Web Services

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CMPE588 Term Project Presentation Discovery of Composable Web Services Presented by: Vassilya Abdulova

  2. Discovery of Composable Web Services Introduction

  3. Introduction • 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 Presented by Vassilya Abdulova

  4. Discovery of Composable Web Services Web Services using OWL-S

  5. Developed Web Services • 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 Presented by Vassilya Abdulova

  6. Developed Web Services • 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 Presented by Vassilya Abdulova

  7. OWL-S • 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. Presented by Vassilya Abdulova

  8. <!-- 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> Book Finder WS Presented by Vassilya Abdulova

  9. <!-- Service description --> <service:Servicerdf:ID="BookPriceService"> <service:presentsrdf:resource="#BookPriceProfile"/> <service:describedByrdf:resource="#BookPriceProcess"/> <service:supportsrdf:resource="#BookPriceGrounding"/> </service:Service> <!-- Profile description --> <mind:BookInformationServicerdf:ID="BookPriceProfile"> <service:presentedByrdf:resource="#BookPriceService"/> <profile:serviceNamexml:lang="en">Book Price</profile:serviceName> <profile:textDescriptionxml:lang="en"> This service returns the price of a book.</profile:textDescription> <profile:hasInputrdf:resource="#BookISBN"/> <profile:hasOutputrdf:resource="#Price"/> </mind:BookInformationService> <!-- Process description --> <process:AtomicProcessrdf:ID="BookPriceProcess"> <service:describesrdf:resource="#BookPriceService"/> <process:hasInputrdf:resource="#BookISBN"/> <process:hasOutputrdf:resource="#Price"/> </process:AtomicProcess> <process:Inputrdf:ID="BookISBN"> <process:parameterTyperdf:datatype="&xsd;#anyURI"> &bibtex;#Book </process:parameterType> <rdfs:label>Book ISBN</rdfs:label> </process:Input> <process:Outputrdf:ID="Price"> <process:parameterTyperdf:datatype="&xsd;#anyURI"> &concepts;#Price </process:parameterType> <rdfs:label>Book Price</rdfs:label> </process:Output> Book Price WS Presented by Vassilya Abdulova

  10. <!-- 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> Car Finder WS Presented by Vassilya Abdulova

  11. <!-- 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> Car Price WS Presented by Vassilya Abdulova

  12. <!-- 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> Currency Converter WS Presented by Vassilya Abdulova

  13. Discovery of Composable Web Services Composability of Web Services

  14. Composability of Web Services Presented by Vassilya Abdulova

  15. Example Scenario Presented by Vassilya Abdulova

  16. Discovery of Composable Web Services Web Application

  17. Web Application • 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 Presented by Vassilya Abdulova

  18. Web Application in JSP Presented by Vassilya Abdulova

  19. Web Application in JSP Presented by Vassilya Abdulova

  20. Discovery of Composable Web Services Conclusion

  21. Conclusion • 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. Presented by Vassilya Abdulova

  22. Discovery of Composable Web Services Thank you…

More Related