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 - 63 - Support of Array


As a historical note, the idea of introducing arrays in XML Schema was discussed and rejected back in October 2000. If anybody is interested in the rationale given by the XML Schema WG at that time, you can find it at http://lists.w3.org/Archives/Member/w3c-xml-schema-ig/2000Oct/thread.html, under the thread "Arrays in XML Schema - Last Call Issue LC-84 - Schema WG response" (you might need a W3C account to access the site).

One interesting part of the WG response is that the WG was relying at that time on the XML Protocol WG (SOAP 1.2) to further specify arrays. That's what the SOAP WG actually did, following the SOAP Encoding practice of SOAP 1.1. But WS-I Basic Profile 1.0 deprecated SOAP Encoding and the array types that go with it.

Ugo

> -----Original Message-----
> From: Edwin Khodabakchian [mailto:edwink@collaxa.com]
> Sent: Monday, September 15, 2003 10:51 PM
> To: 'Ricky Ho'; 'Francisco Curbera'
> Cc: wsbpel@lists.oasis-open.org
> Subject: RE: [wsbpel] Issue - 63 - Support of Array
> 
> 
> Hi Ricky,
> 
> I hope that you are doing well.
> 
> I have a couple of comments/questions:
> 
> Comment #1: 
> > inside the WSDL.  In your suggestion, I'm wondering where 
> > should I put the newly defined complex type ??
> There is an issue opened related to adding import capability 
> to BPEL. So you
> could create an separate .xsd file and avoid poluting your WSDL files.
> 
> Comment/Question #2:
> I am not sure I understand your separation between document structure
> constructs and language constructs: let's imagine that I have 
> a purchase
> order business document which includes a set of line items 
> and I want to
> iterate through each line item and process it. It seems that 
> in that case
> given that the line items would not be defined in the BPEL 
> script as an
> array, it would not be able to benefit from the iteration 
> construct you are
> proposing to introduce.
> 
> My point here is that for BPEL and BPEL developers to really 
> benefit from
> array and iteration constructs, it requires XML schema to 
> first add support
> for it.
> 
> No?
> 
> Edwin
> 
> 
> > -----Original Message-----
> > From: Ricky Ho [mailto:riho@cisco.com] 
> > Sent: Monday, September 15, 2003 10:34 PM
> > To: Francisco Curbera
> > Cc: wsbpel@lists.oasis-open.org
> > Subject: Re: [wsbpel] Issue - 63 - Support of Array
> > 
> > I'm not saying existing XSD mechanism cannot handle the 
> > repetitive processing need.  As illustrated in my previous 
> > response to David, it shows how the code will look like using 
> > existing XSD mechanism.  I hope I have highlighted the code 
> > complexity which can be greatly simplified if array is 
> > supported directly in BPEL.
> > 
> > Putting code complexity aside, I'm actually more 
> > uncomfortable of introducing a new complex type purely for 
> > the flow processing logic.  I consider complex type should 
> > mainly be used to represent the business document structure 
> > being exchanged, and these complex types should be defined 
> > inside the WSDL.  In your suggestion, I'm wondering where 
> > should I put the newly defined complex type ??
> > 
> > Take a look at the proven programming language.  Most 
> > programming language doesn't treat Array as a new type.  For 
> > example in Java, you need to define a "Person" class to 
> > represent a person, but "Person[]" is implicit, you don't 
> > need to define another class called "PersonArray".
> > 
> > Rgds, Ricky
> > 
> > At 10:50 PM 9/15/2003 -0400, Francisco Curbera wrote:
> > 
> > 
> > 
> > 
> > >Hi Ricky,
> > >
> > >WSDL 1.1 tried to add some form of array support; the WS-I basic 
> > >profile now recommends that you use regular XSD mechanisms 
> for doing 
> > >this (that is, use the minOccurs/maxOccurs xsd attributes in your 
> > >elements.) Seems like a reasonable solution to me. The 
> > alternative of 
> > >introducing in BPEL  new type definition mechanisms and also 
> > a new ad 
> > >hoc iterative contruct (I think that is what you are 
> > proposing) seems a bit heavy handed to me.
> > >
> > >Regards,
> > >
> > >Paco
> > >
> > >
> > >
> > >
> > > 
> > >
> > >                       Ricky
> > > Ho
> > >
> > >                       <riho@cisco.com>         To: 
> > > wsbpel@lists.oasis-open.org
> > >                                                cc: 
> >  >
> > >                       09/15/2003 03:47         Subject:  
> > Re: [wsbpel] 
> > > Issue - 63 - Support of Array
> > >                       PM
> >  >
> > > 
> > >
> > >
> > >
> > >
> > >
> > >Ron,
> > >
> > >There are two language here.  "the type defintion 
> language", and the 
> > >"execution flow language".  BPEL try to focus in the later 
> > while rely 
> > >on XML Schema to cover the former, which I completely agree. 
> >  However, 
> > >I don't see XML Schema is supporting "array" since you cannot have 
> > >repetitive elements at the root level.
> > >
> > >Let me illustrate using a programming language which usually 
> > cover both 
> > >the "type definition" and "execution flow" portions.  Lets 
> > say there is 
> > >a user-defined type
> > >
> > >class Person {
> > >         String name;
> > >         String[] nickNames;
> > >         int age;
> > >}
> > >
> > >Approach 1:
> > >=========
> > >If the programming language supports Array, then you can 
> > declare your 
> > >variable as ...
> > >Person[] myCustomers;
> > >
> > >
> > >Approach 2:
> > >=========
> > >However, if the programming language doesn't support 
> Array, then you 
> > >have to first define another "type"
> > >class PersonArray {
> > >         Person[] persons;
> > >}
> > >Then you declare your variable
> > >PersonArray myCustomers;
> > >
> > >
> > >Fortunately, most programming language supports Array so 
> > approach 1 is OK.
> > >However, until BPEL supports Array, then we have to go with 
> > approach 2 
> > >which is more clumsy and tedious.
> > >
> > >Best regards,
> > >Ricky
> > >
> > >At 08:30 AM 9/15/2003 -0700, Ron Ten-Hove wrote:
> > >       Ricky,
> > >
> > >          Is this not just a type definition problem, for 
> > which we have XML
> > >       Schema?
> > >
> > >          This does touch on another issue -- the lack of 
> > the ability to
> > >       build an XML document up through multiple uses of 
> > <assign>, which
> > >       would be necessary in your example. This is already 
> > on the issues
> > >       list as issue 11.
> > >
> > >       -Ron
> > >
> > >At 07:35 PM 9/15/2003 +0100, ws-bpel issues list editor wrote:
> > >
> > >       This issue has been added to the wsbpel issue list. 
> > The issues list
> > >       is posted as a Technical Committee document to the 
> > OASIS WSBPEL TC
> > >       pages on a regular basis. The current edition, as a 
> > TC document, is
> > >       the most recent document with the title in the 
> > "Issues" folder of the
> > >       WSBPEL TC document list - the next posting will 
> > include this issue.
> > >       The list editor's working copy, which will normally 
> > include an issue
> > >       when it is announced, is available at this constant URL.
> > >       Issue - 63 - Support of Array
> > >
> > >
> > >       Status: open
> > >       Date added: 15 Sep 2003
> > >       Submitter: Ricky Ho
> > >       Date submitted: 15 September 2003
> > >       Description: Can BPEL declare a variable as a 
> > "collection" for a
> > >       particular message type ? For example, if there is a 
> > <while> which
> > >       will receive multiple incoming messages into an array 
> > variable. How
> > >       does the BPEL look like ?
> > >
> > >       I'm not proposing to define a new data type system 
> > for BPEL. We
> > >       should leverage what is already in XML schema. 
> > Although in the XML
> > >       schema there is a construct to declare repetitive 
> > occurrence of
> > >       element structure, it is designed for describing the 
> > XML document
> > >       being exchanged ? There is a difference between 
> > "there are some
> > >       repetitive elements within a document" and "there 
> are multiple
> > >       documents".
> > >
> > >       Therefore, I propose that we need to support "Array"
> > >
> > >       For example, if a seller is receiving multiple 
> POMessage from
> > >       multiple buyers, (assuming the complex type of 
> > POMessage is already
> > >       defined), the BPEL will look like this ..
> > >
> > >
> > >
> > >       <process>
> > >          <variables>
> > >            <array name="poArray"
> > >       type="POMessage"/>
> > >          </variables>
> > >
> > >
> > >
> > >          <sequence>
> > >            <iterate array="poArray"
> > >       count="10">
> > >              <receive
> > >       partner="buyer" ... array="poArray"/>
> > >            </iterate>
> > >       ....
> > >          </sequence>
> > >       </process>
> > >
> > >
> > >       Links: Ricky Ho, 13 Sep 2003     Ricky Ho, 13 Sep 
> > 2003     Mark
> > >       Little, 15 Sep 2003     Ron Ten-Hove, 15 Sep 2003
> > >       Changes: 15 Sep 2003 - new issue
> > >       To comment on this issue, please follow-up to this 
> > announcement on
> > >       the wsbpel@lists.oasis-open.org list (replying to 
> > this message should
> > >       automatically send your message to that list), or 
> > ensure the subject
> > >       line as you send it starts "Issue - 63 - [anything]" 
> > or is a reply to
> > >       such a message.
> > >
> > >       To add a new issue, see the issues procedures document.
> > >
> > >       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/l
> > eave_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/le
> > ave_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/le
ave_workgroup.php.



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