BPEL – Performance optimization of payload transformations within loops by Alexander Daeubler

 

clip_image002In a recent project (developed using SOA Suite 11g) one of the requirements was to filter out certain lines of an order as these lines should not be forwarded to the business partners. In a first version we looped over all lines of the order and used a transformation activity within the loop to add each line to the response element. In case the line should not be added to the response we just ignored it.

The loop looked like this:

The actual process contained more logic but for reasons of simplification I removed all activities that are not related to the topic of this blog post.

The XSL transformation logic was as follows:

  <xsl:param name=”CurrentlyProcessedLine” />
  <xsl:template match=”/”>
    <ns1:Order>
      <ns1:OrderHeader>
        <xsl:copy-of select=”/ns1:Order/ns1:OrderHeader/*” />
      </ns1:OrderHeader>
      <xsl:copy-of select=”/ns1:Order/ns1:OrderLine” />
      <ns1:OrderLine>
        <xsl:copy-of select=”$CurrentlyProcessedLine/ns1:OrderLine/*” />
      </ns1:OrderLine>
    </ns1:Order>
  </xsl:template>

Basically, for each iteration of the loop the old order was cloned and the current line was attached to that order (except for ignored orders, of course). Read the complete article here.

SOA & BPM Partner Community

For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn image[7][2][2][2] Facebook clip_image002[8][4][2][2][2] Wiki

Advertisements

About Jürgen Kress
As a middleware expert Jürgen works at Oracle EMEA Alliances and Channels, responsible for Oracle’s EMEA Fusion Middleware partner business. He is the founder of the Oracle SOA & BPM and the WebLogic Partner Communities and the global Oracle Partner Advisory Councils. With more than 5000 members from all over the world the Middleware Partner Community is the most successful and active community at Oracle. Jürgen manages the community with monthly newsletters, webcasts and conferences. He hosts his annual Fusion Middleware Partner Community Forums and the Fusion Middleware Summer Camps, where more than 200 partners get product updates, roadmap insights and hands-on trainings. Supplemented by many web 2.0 tools like twitter, discussion forums, online communities, blogs and wikis. For the SOA & Cloud Symposium by Thomas Erl, Jürgen is a member of the steering board. He is also a frequent speaker at conferences like the SOA & BPM Integration Days, JAX, UKOUG, OUGN, or OOP.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: