Re: Should a Service Implement a Single PortType?

I concur with Sanjiva that a web service may well consist of
multiple endpoints supporting different interfaces. I also would
very much like to see the concept of service become first class
through the introduction of <serviceType/> definitions.

About Jacek's proposal of reusing the <definitions/> element for the
purpose of grouping endpoints: the <wsdl:definitions/> element is
analogous to <xsd:schema/> and establishes the target namespace
for all the definitions it contains (including those in extensions).
It seems to me that if we reused it for the purpose of creating
a service type, we'd lose the namespace declaration aspect
and we'd end up needing another container element anyway.

I'd also be interested in understanding Arthur's proposal better.

By inspecting a WSDL document, a client can already find out
that several of the endpoints exposed by a service are of the
same type (port type, that is). Is the purpose of allowing only
ports with the same port type in a service to make this
determination even easier?

From a client point of view, there is still no indication that, say,
PortA and PortB, both implementing interface I, are equivalent.
It may well be that the behaviors of the two endpoints differ
wildly, and yet a client has no indication of that. Was then
the proposal intended to rectify that, i.e. by saying that all ports
in a service must not only be of the same type but also behave
the same way, under some suitable definition of "same"?

Roberto

--
Roberto Chinnici
Java and XML Software
Sun Microsystems, Inc.


Sanjiva Weerawarana wrote:

> I disagree that a service should be restricted to a single
> portType. There are lots of services which are naturally
> best represented by multiple interfaces (portTypes)- having
> a description language that cannot describe those naturally
> is broken IMO. If we restrict to multiple portTypes, why
> not go all the way down to one operation? After all, we can
> do everything with just that too .. ;-).
>
> Jacek, you make a point below about an abstract analog of
> a service that I personally like:
>
> >  If, on the other hand, we really want to group multiple
> > interfaces into one, the logical "one" should be called something
> > like serviceGroup or something.
>
> I use the term "serviceType" for this- basically a name for
> the set of portTypes that comprise a service's function. Then,
> one or more services can support that service type.
>
> Sanjiva.
>
> ----- Original Message -----
> From: "Jacek Kopecky" <jacek@systinet.com>
> To: "Arthur Ryman" <ryman@ca.ibm.com>
> Cc: <www-ws-desc@w3.org>
> Sent: Friday, March 29, 2002 6:50 PM
> Subject: Re: Should a Service Implement a Single PortType?
>
> > Hi,
> >  I second this request because now the WSDL service is really
> > somewhat too general.
> >  If a service's ports were to implement the same portType, that
> > would truly mean different accesspoints to the same service.
> >  If, on the other hand, we really want to group multiple
> > interfaces into one, the logical "one" should be called something
> > like serviceGroup or something.
> >  I can see the meaning and usefullness of the relationship
> > between different accesspoints to the same portType, but the
> > relationship between two portTypes in a service is everything but
> > clear.
> >  I think the WSDL <definitons> (if named) can successfully imply
> > the general relationship between the different services defined
> > therein, so we don't need the general service construct.
> >  Best regards,
> >
> >                    Jacek Kopecky
> >
> >                    Senior Architect, Systinet (formerly Idoox)
> >                    http://www.systinet.com/
> >
> >
> >
> > On Thu, 28 Mar 2002, Arthur Ryman wrote:
> >
> >  > In WSDL 1.1 a service is a set of ports. Each port could in principle
> be
> >  > bound to a different portType. I think this is too general. It would be
> >  > simpler if every port in a service was bound to a single portType.
> >  >
> >  > In practice this was not possible because the binding rules for HTTP
> GET
> >  > and POST required slightly different portTypes than SOAP. However, if
> >  > this problem is fixed, then should we require all ports to uses the
> same
> >  > portType within a service?
> >  >
> >  > This is really not much of a restriction, since you can easily define
> >  > multiple services and can reuse common types and messages via an
> import.
> >  >
> >  > Having a service implement a single portType would give it more
> >  > cohesion.
> >  >
> >  > -- Arthur Ryman
> >  >

Received on Tuesday, 2 April 2002 12:23:24 UTC