OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsbpel message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [wsbpel] Issue - 77 - Under specified operation definitions


Ron,
 
> Some bindings will include extra message parts (possibly as SOAP headers, or JMS headers), while others will not (perhaps an EJB or MDB binding?).
> The only message parts guaranteed to be delivered to the service by all of the possible bindings are those declared in the port type.
 
No, there is no guarantee that the parts declared in a port type will be delivered by all possible bindings. A binding can select any subset of those parts (possibly the empty subset). This is clearly specified in the SOAP binding where the soap:body element can select which parts are going to be mapped to concrete messages and which ones are not.
 
This is exactly the same thing that happens with abstract messages that are not part of a port type. A particular binding will select some of them and leave others out. The only difference is that, in the case of SOAP bindings, portType parts can map to either bodies or headers, while non portType parts can only map to headers. Nothing is said, of course, about bindings other than SOAP which don't have the concept of a header.
 
> How could any reasonable interpretation or use of WSDL conclude that a specific binding type (namely SOAP)
> has the ability to jump across the logical layers that WSDL has defined (albeit imperfectly!).
> This is fundamental: we are talking about the WSDL model of messaging, not SOAP.
 
I am talking about any possible binding, not just SOAP. It really all depends on how you define the logical layers. We all agree there is an abstract layer and a concrete layer. So far nobody has shown me that the WSDL 1.1 states that abstract messages outside portTypes are not part of the abstract layer. In particular, your quotations below do not say anything about that either.
 
Ugo

-----Original Message-----
From: Ron Ten-Hove [mailto:Ronald.Ten-Hove@Sun.COM]
Sent: Monday, November 24, 2003 7:13 PM
To: Ugo Corda
Cc: wsbpel@lists.oasis-open.org
Subject: Re: [wsbpel] Issue - 77 - Under specified operation definitions

Ugo,

Ugo Corda wrote:
No, I disagree - the abstract interface of a service is ONLY
defined by its portType(s).
    From WSDL 1.1, Section 2.5: Bindings:
"A binding defines message format and protocol details for operations and messages defined by a particular portType. There may be any number of bindings for a given portType."
Bindings have a very clear relationship with port types. Port types are defined in part as (section 2.4):
"A port type is a named set of abstract operations and the abstract messages involved."
Our operations (the abstract service being offered) are based only the information contained in the port type.

    It is true that bindings (e.g., SOAP) allow extra message parts to be utilized by the binding. However, there is clearly no connection between these extra message parts and the operations offered by our abstract service.

    I will try putting this a different way. Multiple bindings are allowed for a single port type. Some bindings will include extra message parts (possibly as SOAP headers, or JMS headers), while others will not (perhaps an EJB or MDB binding?). The only message parts guaranteed to be delivered to the service by all of the possible bindings are those declared in the port type.
    How could any reasonable interpretation or use of WSDL  conclude that a specific binding type (namely SOAP) has the ability to jump across the logical layers that WSDL has defined (albeit imperfectly!). This is fundamental: we are talking about the WSDL model of messaging, not SOAP. If people confuse WSDL for SOAP we should gently correct them, or, if too late, provide workarounds to some of their architecturally-challenged creations (as Satish has very reasonably suggested). We shouldn't give up on the basics of  WS architecture!

-Ron
    

Yes, I understand your position. My point is that it is just your personal position, not supported by anything said in the spec. You cannot expect designers to base their choices on anything outside the spec, no matter how reasonable those external argumentations are. That's one of the rules of the standards game ...

Ugo

  
-----Original Message-----
From: Sanjiva Weerawarana [mailto:sanjiva@watson.ibm.com]
Sent: Monday, November 24, 2003 10:51 AM
To: Ugo Corda; Satish Thatte; Francisco Curbera
Cc: Ron Ten-Hove; wsbpel@lists.oasis-open.org
Subject: Re: [wsbpel] Issue - 77 - Under specified operation 
definitions


OK this is my last note on this topic ..

"Ugo Corda" <UCorda@SeeBeyond.com> writes:
    
I would say that the abstract behavior of a Web service is 
defined by its abstract interface. The portType is just a 
subset of the WSDL 1.1 abstract interface, because abstract
messages are allowed in the abstract interface that are not
part of a portType. 
      
No, I disagree - the abstract interface of a service is ONLY
defined by its portType(s).

    
(Don't blame me for that: your name is on 
the WSDL 1.1 spec, not mine ;-).
      
I'll accept blame if it was written incorrectly, but see below.

    
Let me quote here WSDL 1.1, sec. 2.3.2, Abstract vs. 
      
Concrete Messages:
    
"Message definitions are always considered to be an abstract 
definition of the message content. A message binding describes
how the abstract content is mapped into a concrete format. However,
in some cases, the abstract definition may match the concrete
representation very closely or exactly for one or more bindings,
so those binding(s) will supply little or no mapping information.
However, another binding of the same message definition may require
extensive mapping information. For this reason, it is not until the
binding is inspected that one can determine "how abstract" the 
message really is".
      
Everything above is true - but its *only* talking about abstract
message definitions and how they are bound to the "wire." It does
not say *anything* about what constitutes the abstract interface of
a service.

So, I will stick to my position that the interface of a service
is defined by its portType(s) and thus BPEL should only allow
access to the messages as brought in by the portType.

It seems like its time to agree to disagree ...

Sanjiva.


    

To unsubscribe from this mailing list (and be removed from the roster of the OASIS TC), go to http://www.oasis-open.org/apps/org/workgroup/wsbpel/members/leave_workgroup.php.

  


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]