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 - 87 - Proposal for Vote - Part 1


What in SOA mandates that messages not have optional parts? If that were 
the case then we couldn't use XML Schema to define message contents 
since Schema can specify optional contents. So I don't understand the 
relevance of SOA best practices to this discussion.

As for use cases please see:

The issue description itself - 
<http://www.choreology.com/external/WS_BPEL_issues_list.html#Issue87>

Also see a number of addition use cases including in this mail - 
<http://lists.oasis-open.org/archives/wsbpel/200410/msg00049.html>

	Thanks,

		Yaron

Eckenfels. Bernd wrote:
> 
> 
> Hello Yaron,
> 
> I think "optinal parts" may be solved on the binding level, you could 
> have a type
> 
> <headers>
>   <header key="" value="" />*
> </headers>
> 
> in a (mandatory) part and map it with the binding to rfc822 headers and 
> still be able to specify "no" optional headers. (the same scheme can for 
> sure be used for SOAP-Headers).
> 
> Personally I think SOA mandates explicite  and complete interface 
> descriptions, thats my reason for feeling against an additional 
> to-target. Perhaps you have another problem situation in mind?
> 
> Mit freundlichen Grüßen
> Bernd Eckenfels
> Chief Architect
> -- 
> SEEBURGER AG - Edisonstr.1 , D-75015 Bretten, Germany
> Fax: +49 (0)7252 96-2400 - Phone: +49 (0)7252 96-1256
> mailto:b.eckenfels@seeburger.de - http://www.seeburger.de
> 
> 
> -----Original Message-----
> From: Yaron Y. Goland [mailto:ygoland@bea.com]
> Sent: Wednesday, October 06, 2004 6:53 PM
> To: Satish Thatte
> Cc: Eckenfels. Bernd; wsbpeltc
> Subject: Re: [wsbpel] Issue - 87 - Proposal for Vote - Part 1
> 
> 
> Because there is a flaw in WSDL 1.1 that doesn't allow for optional
> parts. This means that WSDL 1.1 is unable to support scenarios that 
> involve:
> 
> Optional Intermediaries (e.g. sometimes an intermediary is on the
> message path and sometimes not)
> 
> Up-version Clients (Additional SOAP headers are typically used to
> provide for new backwards compatible features)
> 
> Even if the optional parts support was added it still wouldn't be
> sufficient as it wouldn't support:
> 
> Query and Log of Unexpected Data (Dynamic filter systems can often take
> advantage of 'unexpected' data. A classic example are the spam headers
> used by systems like SPAM Assassin which mail clients can use even
> without understanding them thanks to filters. Similar issues exist if
> the client needs to log data.)
> 
> Semantic Web Scenarios (RDF and OWL allow one to understand data in a
> format that one wasn't expecting by inference with known data. But this
> only works if one can get to the unexpected data. Something WSDL 1.1
> can't handle)
> 
> This problem was recognized by the WSDL 2.0 working group and it is they
> who added the application data feature to work around it. I just adapted
> their work for BPEL.
> 
>         Yaron
> 
> Satish Thatte wrote:
>  >
>  > If the extra data is binding dependent how can the process logic rely on
>  > it?  Processes should not be binding dependent.  If the data is binding
>  > invariant then why is it not in the abstract port type?  As we said in
>  > the discussion of issue 77, if the port (or message) type is incomplete,
>  > you can add a "shim" port type that will provide what you need.  It is
>  > not BPEL's business to fix your abstract interface for you.
>  >
>  > *From:* Yaron Y. Goland [mailto:ygoland@bea.com]
>  > *Sent:* Tue 10/5/2004 4:45 PM
>  > *To:* Eckenfels. Bernd
>  > *Cc:* wsbpeltc
>  > *Subject:* Re: [wsbpel] Issue - 87 - Proposal for Vote - Part 1
>  >
>  > In your case issue 87 wouldn't apply because you model the binary data
>  > as a WSDL part.
>  >
>  > 87 only applies to data that is in a message, is not associated with a
>  > part and that the binding chooses to make available.
>  >
>  > A classic example of how to use this feature are optional headers. For
>  > example, if someone is using SOAP and wants to have an optional SOAP
>  > header they are out of luck because it is impossible to model optional
>  > headers using WSDL message parts and the standardized SOAP/WSDL binding.
>  > Parts are always mandatory therefore if a header is optional it cannot
>  > be modeled as a part.
>  >
>  > A similar problem exists with HTTP and SMTP. Both of those bindings
>  > support optional headers but WSDL isn't currently able to express the
>  > optionality at the part layer.
>  >
>  > Issue 87 gets around this problem by providing another point at which
>  > one can get access to message information. The non-bound parts of the
>  > message would show up inside of the ApplicationData container. How this
>  > would occur would be binding specific.
>  >
>  >         Thanks,
>  >
>  >                 Yaron
>  >
>  >
>  >
>  > Eckenfels. Bernd wrote:
>  >  >
>  >  >
>  >  > Hello Yaron,
>  >  >
>  >  > in our engine we have a similiar extension, which allows us to 
> transport
>  >  > binary (attachment) data. However we do this inside the WSDL 
> limits, and
>  >  > require a  part to be defined of a special type. Essentially this 
> part
>  >  > carries the reference id to the binary attachment. When receiving the
>  >  > id, you are free to assign it to any outgoing mesage, which will
>  >  > automatically attach the binary (in a somewhat lazy fashion).
>  >  >
>  >  > I am not sure if using a element outside the usual WSDL 
> possibilities is
>  >  > a good ideas since that is somewaht against the idea of well defined
>  >  > services. Perhaps you have a practical example for your extension?
>  >  >
>  >  > Mit freundlichen Grüßen
>  >  > Bernd Eckenfels
>  >  > Chief Architect
>  >  > --
>  >  > SEEBURGER AG - Edisonstr.1 , D-75015 Bretten, Germany
>  >  > Fax: +49 (0)7252 96-2400 - Phone: +49 (0)7252 96-1256
>  >  > mailto:b.eckenfels@seeburger.de - http://www.seeburger.de
>  >  >
>  >  >
>  >  > -----Original Message-----
>  >  > From: Yaron Y. Goland [mailto:ygoland@bea.com]
>  >  > Sent: Tuesday, September 28, 2004 8:36 PM
>  >  > To: wsbpeltc
>  >  > Subject: [wsbpel] Issue - 87 - Proposal for Vote - Part 1
>  >  >
>  >  >
>  >  > The original proposal for vote contained two parts, one that 
> defined the
>  >  > generic mechanism and another that specified language for specific
>  >  > bindings. In order to allow us to make forward progress I am removing
>  >  > the section on specific bindings for this vote and instead just 
> focusing
>  >  > on the mechanism. This vote will not close issue 87 as, if it is 
> passed,
>  >  > we will still need to decide if we wish to address any binding 
> specific
>  >  > issues.
>  >  >
>  >  > 14.9 Application Data
>  >  >
>  >  > Application data is data transmitted in a message outside
>  >  > of the normal message channel, specifically data in a message that is
>  >  > not bound to a WSDL message part referenced in the portType/operation
>  >  > definition that applies to the sent or received message.
>  >  >
>  >  > To enable BPEL processes to access application data the from-spec is
>  >  > extended to include:
>  >  >
>  >  > <from appDataForMessage="ncname"/>
>  >  >
>  >  > The value of the appDataForMessage attribute MUST be the name of a 
> WSDL
>  >  > message type variable. The output of this from-spec will always 
> follow
>  >  > the schema:
>  >  >
>  >  > <element name="applicationData" type="bpws:tApplicationData">
>  >  >
>  >  > <complexType name="tApplicationData">
>  >  >      <sequence>
>  >  >         <any processContents="lax" minOccurs="0" 
> maxOccurs="unbounded"/>
>  >  >      </sequence>
>  >  >      <anyAttribute processContents="lax"/>
>  >  > </complexType>
>  >  >
>  >  > The application data will be recorded inside of the 
> applicationData XML
>  >  > element.
>  >  >
>  >  > To enable BPEL processes to set application data the to-spec is 
> extended
>  >  > to include:
>  >  >
>  >  > <to appDataForMessage="ncname"/>
>  >  >
>  >  > The schema of the data assigned using this to-spec MUST follow the
>  >  > previously defined schema or a bpws:mismatchedAssignmentFailure 
> MUST be
>  >  > thrown.
>  >  >
>  >  > When a message is received by the BPEL process any application data
>  >  > associated with the message MUST be made available via the 
> application
>  >  > data from-spec. The exact means by which application data is 
> retrieved
>  >  > from a message is binding specific and the binding definition has 
> final
>  >  > say as to what data will appear as application data but in general 
> any
>  >  > parts of the incoming message that do not have bindings to 
> specific WSDL
>  >  > message parts are considered application data. Similarly when a 
> message
>  >  > is sent if any application data has been associated with the message
>  >  > then the application data MUST be sent with the outgoing message 
> using
>  >  > the rules defined for the particular binding in use.
>  >  >
>  >  > Any application data associated with a WSDL message type variable is
>  >  > replaced with application data from the incoming message, if any,
>  >  > whenever that variable is used to receive a new message.
>  >  >
>  >  > Schema Changes:
>  >  >
>  >  > Add to tFrom:
>  >  >
>  >  > <attribute name="appDataForMessage" type="NCName"/>
>  >  >
>  >  > Add to to:
>  >  >
>  >  > <attribute name="appDataForMessage" type="NCName"/>
>  >  >
>  >  > 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. 
> 
>  >  >
>  >  >
>  >  >
>  >  > 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. 
> 
>  >  >
>  >  >
>  >
>  > 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. 
> 
>  >
> 
> 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]