Service discovery and invocation

Hi All!

I want to begin by saying OWL-S has me excited! In terms of my application 
involving distributed multimedia with QoS, I see OWL-S as a solid way to 
create a framework.

I have a few questions about service discovery and invocation under OWL-S. 
This is relevant to me since I have been recently discussing the relative 
differences between name and type based mechanisms for service discovery 
and invocation.

For example:

Service Discovery - type based mechanism
Jini

Service Discovery - name based mechanism
RMI
CORBA
Web Services

Service Invocation - type based mechanism
Jini

Service Invocation - name based mechanism
RMI
CORBA
Web Services

RMI and CORBA use naming services to provide service discovery. However, 
in order to reference and utilitise functions of the named service, the 
object must be coerced into the required type. There is an error if the 
downloaded service object is not of the correct type: runtime errors will 
be generated at the point of coercion. Web services use a naming service 
to provide service discovery and allow functions to be called on the 
service through their names, without requiring type coercion: there are no 
objects involved. Calling an incorrect method on web service will generate 
a runtime error at the method invocation time.

Type-based mechanisms might be considered to offer greater programmatic 
security (i.e. type safety). Name based mechanisms must deal with the 
possibility that the name (or underlying type) they are trying to invoke 
(through bad programming perhaps) is not found since the standard (WSDL 
for example) doesn't specify type checking. In addition, name based 
services use free-form strings to communicate different types of 
information. With typed communication, data types will be valid and safe 
because they are compiled against a type.

How does OWL-S fit into this? On the one hand, OWL and OWL-S defines 
classes and objects, but does it specify type checking?

 From a skin deep read of the mindswap docs page:
http://www.mindswap.org/2004/owl-s/api/doc/
am I correct in thinking that service invocation is name based since you 
need the uri to access each service?

URI uri = new 
URI("http://www.mindswap.org/2004/owl-s/0.9/ZipCodeFinder.owl");

I read here:
http://www.daml.org/services/owl-s/1.1B/owl-s/owl-s.html
that OWL-S is not bound to any discovery service; that it can fit into any 
discovery service. Have there been any efforts to write 'adapters' or 
equivalent to fit OWL-S into any service discovery mechanisms?

Any comments would be most welcome!

Rob
:)

-- 
Robert Mark Bram
B.Comp.(Systems Development/Business Systems)
B.Net.Comp.(Hons)
Doctor of Philosophy Student

School of Network Computing
Faculty of Information Technology
Monash University
Peninsula Campus
McMahons Rd
Frankston, VIC 3199
AUSTRALIA

Phone:  61 3 9904 4394
Facsimile:  61 3 9904 4124
Email: robert.bram@infotech.monash.edu.au

Received on Tuesday, 5 October 2004 05:03:35 UTC