[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [wsbpel] Issue - 11 Your opinion requested
Danny, I unfortunately missed your presentation, as I was selfishly enjoying my holidays. However, I've spent some time reviewing the materials you provided for the two proposals, and I have to weigh in with an opinion of -A -B. In other words, I'm not happy with either proposal. Allow me to elaborate. Neither solution will be very good at complex transformations; the term painful comes to mind. (I suggest that for such transformations we should use existing solutions like XSLT, and keep in mind emerging ones, like XQuery.) A further consideration is that (complex) assignments ought to be reuseable. While this is of questionable value for a single BPEL process, it is of much greater utility in constructing families of processes that share the same available services. Finally, both solutions embrace a decidely imperative approach to defining the tree structure of a result, when the <assign> activity itself can contain the tree structure desired in a declarative fashion that is far easier to create and read. Something along the lines of <node from=...> <!-- root node --> <node from=.../> <!-- 1st child of root node --> <node from=...> <!-- 2nd child of root node; or following sibling to 1st child --> <attr from=.../> <!-- attribute for 2nd child --> </node> </node> This uses the XML declaration of the assignment operation to declare the structure of the result, rather than depend on DOM-like manipulations to describe how to arrive at the result. I realise that this is just a list of complaints and partial suggestions; this is not a counterproposal. I suspect that not all of us share the same notions about what <assign> will be use for. Will it be used to construct full-blown XML documents needed for requests (and replies), or will it primarily be used to extract document fragments for internal bookkeeping purposes? -Ron
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]