W3C home > Mailing lists > Public > www-ws-desc@w3.org > July 2003

Re: Can someone recap the differences between @serviceGroup vs. definitions-targetNamespace ?

From: Fred Carter <fred.carter@amberpoint.com>
Date: Thu, 24 Jul 2003 17:38:36 -0700
Message-ID: <3F207C0C.2010400@amberpoint.com>
To: Savas Parastatidis <Savas.Parastatidis@newcastle.ac.uk>
CC: www-ws-desc@w3.org

Thus quoth Savas Parastatidis (~ 24-Jul-03 5:08 PM ~)...
> Fred,
> 
> 
>>I agree completely.  While the serviceGroup is "more general," it
> 
> misses
> 
>>completely in providing the ability to express that some collection of
>>endpoints "manipulates" (works with, shares state with, etc.) some
>>underlying thing.  Having the ability to find an interface but be
> 
> unable
> 
>>to figure out which one to use seems to me to considerably lessen the
>>power of the standard.
>>
>>Amongst the points of Web services is to create interoperable systems
>>which can be assembled regardless of implementation technology.  Such
>>assembly requires the ability to determine interfaces, points of
> 
> access,
> 
>>*and* an ability to determine which of the alternatives with which to
>>work.  The ability to indicate this as part of a service's definition
>>seems critical.
>>
>>The general notion, separately, of serviceGroups is also powerful.
> 
> *If*
> 
>>there were a means (perhaps an extensible collection of @purpose
>>attributes, at least one of which is something like /underlying
>>entity/), then that mechansim would work as well.  But losing the
> 
> means
> 
>>to link endpoints (or collections thereof) to some named underlying
>>thing seems like a loss to me.
>>
> 
> 
> If we see a Web Service as a set of actions that represent the
> functionality an organisation wishes to expose to the world and those
> actions are performed on a consumer's request via a message, why would
> that organisation wish to expose any kind of information about the
> underlying infrastructure/resources used? 
I'm not sure it will necessarily wish to expose such a thing.  However, 
1) it may, and 2) web services are not being used _exclusively_ 
externally.  Internal usage may need/want to be able to distinguish more 
general interfaces from specific instances.

 >                                          Why would a service interface
> be closely associated with a specific resource?
I think it would not.  Thus, there are likely to be general interfaces 
and (think /class/) and more specific resources (/instances/).  This is 
precisely why, IMHO, some means for achieving this identification is useful.
> 
> When I consume a service I am interested in the results of the
> operations rather than the underlying resources used to achieve those
> results. Interfaces that are coupled with specific resources, internal
> to an organisation, will result into tightly coupled distributed
> applications. Granted, interoperability will be possible because of XML,
> WSDL, and SOAP but the architecture will encourage light-weight
> components, tightly integrated instead of loosely coupled coarse
> components that I believe services should be. 

I don't think I disagree.  I don't think I'm suggesting that an 
interface be specific to a resource.  Rather, I think that the ability 
to link some collection of endpoints to a common underlying set of stuff 
is useful.

The printer/admin example has been done.  Personally, I haven't seen 
anything persuasively arguing that the targetResource (or moral 
equivalent) is not helpful.  Reasonable folks may (and, apparently, are) 
disagree.

For another, suppose there's some collection of interfaces to manipulate 
dental insurance. There's one interface that is used to submit requests 
for payment. There's another set used to perform audits, another for 
patient inquiries, etc.  Now, my insurance company [appears to] have two 
different systems -- one for little companies and another for big ones. 
  The two are not linked.  [Reasonable software designers will point out 
that this is suboptimal.  However, it's a fact, so it doesn't really 
matter.]  Consequently, users have to know whether they should use 
endpoints associated with urn:fredsdental:littleCompanies or 
urn:fredsdental:bigCompanies.

One can make an argument that they should design better software, but...
> 
> Also, for any kind of association between service interfaces or between
> a service interface and a resource we have RDF.

That might be true.  However, I still think that there should be an 
"official" mechanism for linking things up in the WSDL.

Alternatively, one might wonder what the value of the <service> element 
is?  It "groups" endpoints, but why?  The official reason for grouping 
is left vague -- in WSDL 1.1, things with the same interface (nee 
portType) where considered 'alternatives' (which I'd argue meant they 
shared the same targetResource -- before it was an official concept); 
in WSDL 1.2, they /must/ be alternatives [presumably] since they have to 
have the same interface.
> 
> Just my 2c.
I'll add another penny...

> 
> Regards,
> .savas.
> 
Thanx/fred
> 


-- 
Fred Carter / AmberPoint, Inc.

mailto:fred.carter@amberpoint.com
tel:+1.510.433.6525 fax:+1.510.663.6301
Received on Thursday, 24 July 2003 20:38:48 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:25 GMT