SlideShare ist ein Scribd-Unternehmen logo
1 von 20
103/20/15
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
203/20/15
Project 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 Services
Duygu CELIK & Vassilya ABDULOVA
303/20/15
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 Services
Duygu CELIK & Vassilya ABDULOVA
403/20/15
Created 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 Services
Duygu CELIK & Vassilya ABDULOVA
503/20/15
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 Services
CMPE 588 Project: Composable Web Services
Duygu CELIK & Vassilya ABDULOVA
603/20/15
Car 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 Services
Duygu CELIK & Vassilya ABDULOVA
703/20/15
<!-- 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 Information
CMPE 588 Project: Composable Web Services
Duygu CELIK & Vassilya ABDULOVA
803/20/15
<!-- 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 Process Information
CMPE 588 Project: Composable Web Services
Duygu CELIK & Vassilya ABDULOVA
903/20/15
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 Services
Duygu CELIK & Vassilya ABDULOVA
1003/20/15
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 Services
Duygu CELIK & Vassilya ABDULOVA
1103/20/15
Example Scenario: Price Information WS. Provides book price
information and car price information services to end users.
CMPE 588 Project: Composable Web Services
Duygu CELIK & Vassilya ABDULOVA
1203/20/15
Implementation
 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 Services
Duygu CELIK & Vassilya ABDULOVA
1303/20/15
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 Services
Duygu CELIK & Vassilya ABDULOVA
1403/20/15
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 Services
Duygu CELIK & Vassilya ABDULOVA
1503/20/15
A 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 Services
Duygu CELIK & Vassilya ABDULOVA
1603/20/15
Index.jsp
CMPE 588 Project: Composable Web Services
Duygu CELIK & Vassilya ABDULOVA
1703/20/15
Result.jsp
CMPE 588 Project: Composable Web Services
Duygu CELIK & Vassilya ABDULOVA
1803/20/15
Result.jsp (Cont)
CMPE 588 Project: Composable Web Services
Duygu CELIK & Vassilya ABDULOVA
1903/20/15
CONCLUSION
 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 Services
Duygu CELIK & Vassilya ABDULOVA
2003/20/15
Running The Software…
Then Questions?

Weitere ähnliche Inhalte

Andere mochten auch

Generic pharma sector; differentiating the best from the rest
Generic pharma sector; differentiating the best from the rest Generic pharma sector; differentiating the best from the rest
Generic pharma sector; differentiating the best from the rest
VIJAYENDRAMBA
 
Podcasting in Education
Podcasting in EducationPodcasting in Education
Podcasting in Education
guest18f61a
 
Bases Concurs Sant Jordi 2014
Bases Concurs Sant Jordi 2014Bases Concurs Sant Jordi 2014
Bases Concurs Sant Jordi 2014
ingridpinyol
 
Educ W200 Module 6
Educ W200 Module 6Educ W200 Module 6
Educ W200 Module 6
guest18f61a
 
Aastaajad
AastaajadAastaajad
Aastaajad
atcinz
 

Andere mochten auch (15)

Generic pharma sector; differentiating the best from the rest
Generic pharma sector; differentiating the best from the rest Generic pharma sector; differentiating the best from the rest
Generic pharma sector; differentiating the best from the rest
 
NCTA Industry Exhibition
NCTA Industry ExhibitionNCTA Industry Exhibition
NCTA Industry Exhibition
 
Podcasting in Education
Podcasting in EducationPodcasting in Education
Podcasting in Education
 
Red7 Medical Identity Security and Data Protection
Red7 Medical Identity Security and Data ProtectionRed7 Medical Identity Security and Data Protection
Red7 Medical Identity Security and Data Protection
 
Bases Concurs Sant Jordi 2014
Bases Concurs Sant Jordi 2014Bases Concurs Sant Jordi 2014
Bases Concurs Sant Jordi 2014
 
WebQuest: What's in Your Piggybank, by Sher Adler
WebQuest: What's in Your Piggybank, by Sher Adler WebQuest: What's in Your Piggybank, by Sher Adler
WebQuest: What's in Your Piggybank, by Sher Adler
 
DesignContact Museum &amp; Exhibits Portfolio
DesignContact  Museum &amp; Exhibits PortfolioDesignContact  Museum &amp; Exhibits Portfolio
DesignContact Museum &amp; Exhibits Portfolio
 
Educ W200 Module 6
Educ W200 Module 6Educ W200 Module 6
Educ W200 Module 6
 
840203
840203840203
840203
 
Aastaajad
AastaajadAastaajad
Aastaajad
 
Boy Scouts STEM Nova Awards
Boy Scouts STEM Nova AwardsBoy Scouts STEM Nova Awards
Boy Scouts STEM Nova Awards
 
Sixth Grade Language Arts WebQuest
Sixth Grade Language Arts WebQuestSixth Grade Language Arts WebQuest
Sixth Grade Language Arts WebQuest
 
PE Material
PE MaterialPE Material
PE Material
 
Red7 Developing Product Requirements: Tools and Process
Red7 Developing Product Requirements: Tools and ProcessRed7 Developing Product Requirements: Tools and Process
Red7 Developing Product Requirements: Tools and Process
 
Distributed Database Management System(DDMS)
Distributed Database Management System(DDMS)Distributed Database Management System(DDMS)
Distributed Database Management System(DDMS)
 

Ähnlich wie Cmpe588 Prj Duygucelik

Part 2 generating a client_from_wsdl
Part 2 generating a client_from_wsdlPart 2 generating a client_from_wsdl
Part 2 generating a client_from_wsdl
krishmdkk
 
Itz Lecture Bi & Web Tech Standards Feb 2009
Itz Lecture Bi & Web Tech Standards Feb 2009Itz Lecture Bi & Web Tech Standards Feb 2009
Itz Lecture Bi & Web Tech Standards Feb 2009
subramanian K
 

Ähnlich wie Cmpe588 Prj Duygucelik (20)

A new approach to gather similar operations extracted from web services
A new approach to gather similar operations extracted from web servicesA new approach to gather similar operations extracted from web services
A new approach to gather similar operations extracted from web services
 
Modern webtechnologies
Modern webtechnologiesModern webtechnologies
Modern webtechnologies
 
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONSCONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
 
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONSCONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
CONTEMPORARY SEMANTIC WEB SERVICE FRAMEWORKS: AN OVERVIEW AND COMPARISONS
 
C09
C09C09
C09
 
Introduction to single page application with angular js
Introduction to single page application with angular jsIntroduction to single page application with angular js
Introduction to single page application with angular js
 
Angular Project Report
 Angular Project Report Angular Project Report
Angular Project Report
 
Part 2 generating a client_from_wsdl
Part 2 generating a client_from_wsdlPart 2 generating a client_from_wsdl
Part 2 generating a client_from_wsdl
 
Enhancement in Web Service Architecture
Enhancement in Web Service ArchitectureEnhancement in Web Service Architecture
Enhancement in Web Service Architecture
 
Itz Lecture Bi & Web Tech Standards Feb 2009
Itz Lecture Bi & Web Tech Standards Feb 2009Itz Lecture Bi & Web Tech Standards Feb 2009
Itz Lecture Bi & Web Tech Standards Feb 2009
 
White paper ready api
White paper  ready apiWhite paper  ready api
White paper ready api
 
Single Page Applications in SharePoint with Angular
Single Page Applications in SharePoint with AngularSingle Page Applications in SharePoint with Angular
Single Page Applications in SharePoint with Angular
 
Leveling up with AngularJS
Leveling up with AngularJSLeveling up with AngularJS
Leveling up with AngularJS
 
A Novel Framework for Reliable and Fault Tolerant Web Services
A Novel Framework for Reliable and Fault Tolerant Web ServicesA Novel Framework for Reliable and Fault Tolerant Web Services
A Novel Framework for Reliable and Fault Tolerant Web Services
 
Web services
Web servicesWeb services
Web services
 
Introduction to soapui and webservices
Introduction to soapui  and webservicesIntroduction to soapui  and webservices
Introduction to soapui and webservices
 
Impact of web life cycle activities &amp; web services in modern era a review
Impact of web life cycle activities &amp; web services in modern era  a reviewImpact of web life cycle activities &amp; web services in modern era  a review
Impact of web life cycle activities &amp; web services in modern era a review
 
Components of a Generic Web Application Architecture
Components of  a Generic Web Application ArchitectureComponents of  a Generic Web Application Architecture
Components of a Generic Web Application Architecture
 
Web services
Web servicesWeb services
Web services
 
About Mule execution units
About Mule execution unitsAbout Mule execution units
About Mule execution units
 

Kürzlich hochgeladen

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Kürzlich hochgeladen (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Cmpe588 Prj Duygucelik

  • 1. 103/20/15 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
  • 2. 203/20/15 Project 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 Services Duygu CELIK & Vassilya ABDULOVA
  • 3. 303/20/15 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 Services Duygu CELIK & Vassilya ABDULOVA
  • 4. 403/20/15 Created 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 Services Duygu CELIK & Vassilya ABDULOVA
  • 5. 503/20/15 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 Services CMPE 588 Project: Composable Web Services Duygu CELIK & Vassilya ABDULOVA
  • 6. 603/20/15 Car 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 Services Duygu CELIK & Vassilya ABDULOVA
  • 7. 703/20/15 <!-- 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 Information CMPE 588 Project: Composable Web Services Duygu CELIK & Vassilya ABDULOVA
  • 8. 803/20/15 <!-- 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 Process Information CMPE 588 Project: Composable Web Services Duygu CELIK & Vassilya ABDULOVA
  • 9. 903/20/15 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 Services Duygu CELIK & Vassilya ABDULOVA
  • 10. 1003/20/15 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 Services Duygu CELIK & Vassilya ABDULOVA
  • 11. 1103/20/15 Example Scenario: Price Information WS. Provides book price information and car price information services to end users. CMPE 588 Project: Composable Web Services Duygu CELIK & Vassilya ABDULOVA
  • 12. 1203/20/15 Implementation  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 Services Duygu CELIK & Vassilya ABDULOVA
  • 13. 1303/20/15 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 Services Duygu CELIK & Vassilya ABDULOVA
  • 14. 1403/20/15 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 Services Duygu CELIK & Vassilya ABDULOVA
  • 15. 1503/20/15 A 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 Services Duygu CELIK & Vassilya ABDULOVA
  • 16. 1603/20/15 Index.jsp CMPE 588 Project: Composable Web Services Duygu CELIK & Vassilya ABDULOVA
  • 17. 1703/20/15 Result.jsp CMPE 588 Project: Composable Web Services Duygu CELIK & Vassilya ABDULOVA
  • 18. 1803/20/15 Result.jsp (Cont) CMPE 588 Project: Composable Web Services Duygu CELIK & Vassilya ABDULOVA
  • 19. 1903/20/15 CONCLUSION  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 Services Duygu CELIK & Vassilya ABDULOVA