22.12.2008

Review at amazon: Business Process Driven SOA Using BPMN and BPEL


Oracle released its BPA Suite, which is based on ARIS.
Now there is the first book on the market, talking about the round trip from BPMN to BPEL and back:



Its cover states:

This book is for CIOs, executives, SOA project managers, business
process analysts, BPM and SOA architects, who are responsible for
improving the efficiency of business processes through IT, or for
designing SOA. It provides a high-level coverage of business process
modeling, but it also gives practical development examples on how to
move from model to execution. We expect the readers to be familiar with
the basics of SOA.


The examples provided are not detailed enough for really start developing but this book was not written for developers..
For more details read my review at amazon.de (in german ;-)

12.12.2008

Comparison: BPEL 1.1 vs BPEL 2.0

The BPEL 2.0 specification was released in April 2007. Now 1.5 years later only a few BPEL engines have implemented this standard. Oracle had released a white paper about BPEL 2.0 and future SOA Suite releases in October 2006. Now we have still to wait for 11g to get BPEL 2.0, but is this really a problem?
What is the difference between BPEL 1.1 and 2.0 or what is the difference between Oracle's BPEL PM and BPEL 2.0?

Here the new feature of BPEL 2.0 (from wikipedia):
  • Improved data access (XPath)
  • Improved dta manipulation (XSL transformations)
  • New activities (forEach, repeatUntil)
  • Enriched fault handling (rethrow,termination handler)
  • Advaned message operations (join-style correlation set)
  • Syntax makeovers (switch to if-else, terminate to exit)
In Oracle's BPEL PM there is already the new XPath extension built in and XSLTs can be used via <transform>. The Syntax makeovers are not really new functionality.
Rewriting forEach and repeatUntil into while is possible, but sometimes painful and the enriched fault handling will make some workflows more readable.
So it will be nice to get BPEL 2.0 but it is no major problem to stay with BPEL 1.1 and the Oracle specific enhancements....

08.12.2008

Installing Oracle JDeveloper 11g

I just installed an Oracle JDeveloper 11g . It was very easy, but i was suprised by the new installer, which replaced the simple unzip. Here some screenshots of the installation process:






Only one detail after all these nice pictures:
The connections tab supports only Oracle (BEA) Weblogic 10g R3. Deployments to OC4J is not supported but will be incorporated later. BPEL is missing, too..

02.12.2008

The lost (collaxa) BPEL-tutorials: Tutorial 3: Manipulating XML Documents in BPEL

There is a nice tutorial for all xml beginners. You can download this document here.
I just copied some headlines from the table of contents, which should be known by every BPEL developer:


  • Manipulating Arrays
  • Statically Indexing into an Array
  • Determining Array Size
  • Dynamically Indexing into an Array
  • Dynamically indexing by Constructing an XPath at Run Time
  • Dynamically Indexing with the BPEL getElement Function
  • Merging Arrays
  • Appending New Items to an Array
  • Converting From a String to an XML Element
  • Differences for RPC-style WSDL Files

Initializing a Variable with Literal XML was shown in 103.XMLDocuments.
To start with arrays you can try the tutorial 112.Arrays.

The size of an array can be evaluated with this expression:

<assign><copy>
<from expression="ora:countNodes('output', 'payload','/invoice/lineItems/item')"/>
<to variable="lineItemSize"/>
</copy></assign>


To convert excaped XML to a variable the following snippet is very useful:

<assign><copy>
<from expression="ora:parseEscapedXML('
<item xmlns="http://samples.otn.com"sku="006">
<description>sun ultra sparc VI server</description>
<price>1000</price>
<quantity>2</quantity>
<lineTotal>2000</lineTotal>
</item>
')"/>
<to variable="escapedLineItem"/>
</copy></assign>


The opposite can be done with ora:getContentAsString().