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


Isn't the schema language 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".  It seems 
odd if we need to define a new complex type just because we want to deal 
with multiple documents of a pre-defined type.

Assuming a seller is receiving multiple POMessage from multiple buyers, and 
the complex type of POMessage is already defined.

Without array support, the seller process bpel will look more 
complex.  (also there is no way to define a "part" that refers to a 
repetitive element within a document, I guess the assignment to my array 
type probably won't work).  Anyway, the code look like this ...

<process>
   <variables>
     <variable name="i" type="int"/>
     <variable name="tempPO" type="POMessage"/>
     <variable name="poArray" type="POMessageArray"/>
   </variables>

   <sequence>
     <assign>
       <to variable="i"/>
       <from expression="0"/>
     </assign>

     <while condition="i &lt; 10">
       <receive partner="buyer" ... variable="tempPO"/>
       <assign>
         <!-- the following line probably won't work -->
         <to variable="poArray" xpath="/PO[i]"/>
         <from variable="tempPO"/>
       </assign>
       <assign>
         <to variable="i"/>
         <from expression="i + 1"/>
       </assign>
     </while>
     ....
   </sequence>
</process>

With array support (not just the data type but also some iterative 
processing construct), the code will look much simpler.  Like the following ...

<process>
   <variables>
     <array name="poArray" type="POMessage"/>
   </variables>

   <sequence>
     <iterate array="poArray" count="10">
       <receive partner="buyer" ... array="poArray"/>
     </iterate>
     ....
   </sequence>
</process>

Best regards,
Ricky

At 03:00 PM 9/13/2003 +0100, Jim Webber wrote:
>Ricky:
>
> > 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 my BPEL look like ?
>
>Can this not be delegated to the schema language? I'd be worried about
>effectively re-implementing a type system inside BPEL itself, when we could
>just re-use an existing type system (like XML Schema).
>
>Jim



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