Surfing the Service Web Sudhir Agarwal, Siegfried Handschuh, and Steffen Staab Presenter: Yihong...

14
Surfing the Service Web Sudhir Agarwal, Siegfried Handschuh, and Steffen Staab Presenter: Yihong Ding
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    220
  • download

    0

Transcript of Surfing the Service Web Sudhir Agarwal, Siegfried Handschuh, and Steffen Staab Presenter: Yihong...

Surfing the Service Web

Sudhir Agarwal, Siegfried Handschuh, and Steffen Staab

Presenter: Yihong Ding

Web Service

Service Registry

Service Requestor

Service provider

1. Service provider Publish Service2. Service requestor

find the service

3. Use the service through a SOAP call (use WSDL to build the SOAP request)

SOAP on HTTP

WSDL

Web Service Description Language An xml vocabulary that is used to define the service interface for

a web service Service interface detail Access protocol Contact endpoint

Service Implementation Definition

Service

Port

Service Interface Definition

Binding

Message

PortType

Type

url to accept the soap request

OntoMat-Service1. Web service presentation

2. Deep annotation

3. Web service planning

4. Web service invocation

Web Service Presentation (Step 1) WSDL web service description

By the service provider For machine agents or software engineers Result: service description web pages

Nicely formatted advertisement (human readable) Embedded/referred web service descriptions (machine

understandable) Usually WSDL + ontology

Manual step May be supported by tools

WSDL Document Generator (http://www.xmlspy.com)

Web Service Requests

Web Service Description

Web Service Description Web Page<html><head><title>Laptop Vendor Service</title></head> <body><h1 align="center">Laptop Vendor Service</h1> <p><h2>getLaptopOffers</h2>

This service delivers the top offers of the laptops available in the city. We have the largest archive of the laptop offers for the city. So, the possibility that you find your desired laptop at a reasonable price is very high. Just try it and get convinced from our great offers.

<ul><li> <span wsdlLocation="http://laptop-vendor.de/laptop.wsdl“ elementURI="http://laptop.wsdl/laptop/#part(getOffersRequest/processorSpeed)"> <b>Processor speed</b> </span> Specifies the speed of the processor. Please use only the units "MHz" and "GHz". For example, "2GHz", "1.4GHz" and "1600MHz" are valid whereas "1800" or "170000KHz" are invalid. </li>

<li> <span wsdlLocation="http://laptop-vendor.de/laptop.wsdl“ elementURI="http://laptop.wsdl/laptop/#part(getOffersRequest/diskSpace)"> <b>Disk space</b> </span> Specifies the disk space. Please use only the units "GB" and "MB". For example, "20GB", "30.5GB" are valid whereas "40" or "25000KB" are invalid. </li>

<li> <span wsdlLocation="http://laptop-vendor.de/laptop.wsdl“ elementURI="http://laptop-vendor.wsdl/laptop/#part(getOffersResponse/laptopOffers)"> <b>Top Offers</b> </span> This is the list of the most reasonable offers available in the city that fulfill your requirements.

</li></ul></p>...</body></html>

Deep Annotation (Step 2)

Purpose Not to annotate surface information But to annotate background structure (the WSDL

elements) Annotation

By annotators (could be end users) Result: sets of mapping rules between web

service ontologies and the client ontology Manual step

Supported by OntoMat-Service-Surfer

Service Browsing

Manual Ontology Mapping Specification

Service Ontology Client Ontology

Establish mapping rules in F-Logic expressions

Web Service Planning (Step 3) End user select

A set of web service operations A set of mapping rules

Result: sets of possible web service flows Input type must match previous output type

Web Service Invocation (Step 4)

Conclusion

OntoMat-Service is a framework for semantic web service Manually specification Automatic invocation Local-as-View model

Open questions How to automate web service presentations? How to automate web service mappings? How to automatically schedule multiple services? How to make compiled flows understandable to the users? How to characterize the boundaries of what functionality

can be aggregated and executed?