When using Oracle BPEL it is often desirable to allow a certain amount of configuration of the process flow at runtime. To allow configuration, properties/preferences/parameters can be used. These can be implemented in various ways. Lucas Jellema has described a method in the Oracle SOA Suite 11g Handbook (http://www.amazon.com/Oracle-SOA-Suite-Handbook-Press/dp/0071608974 page 252) for system parameters which uses Business Rules. In this blog post, I compare three other methods; using Domain Value Maps, using BPEL preferences and using a database table. I look at performance, development, re-use potential, updating the preference at runtime and when to use which method.
For comparing the different methods I used a simple synchronous HelloWorld BPEL process with audit logging turned off. The property to be fetched is the greeting (Hello). The process itself returns its input prepended by the greeting followed by a space. Thus for example input: Maarten, output: Hello Maarten.
Domain Value Map
Domain Value Maps (http://docs.oracle.com/cd/E14571_01/integration.1111/e10224/med_dvm.htm) are an underestimated feature from Oracle SOA Suite. An XML file called DVM (domain value map) allows storing domains and domain values. In JDeveloper wizards are available to create and fill the DVM file. XPath expressions can be used to easily query these domains and use them in for example BPEL, BPM or the OSB (http://guidoschmutz.wordpress.com/2009/12/25/implement-domain-value-maps-dvm-with-oracle-service-bus-osb-10r3/). The SOA Composer (http://docs.oracle.com/cd/E15523_01/integration.1111/e10224/med_dvm_ui.htm) provides a GUI for editing DVM's at runtime. DVM's can be shared among processes by putting them in the MDS.
The below screenshot shows how JDeveloper makes it easy to create and use a DVM. In one screenshot how a DVM can be edited at design-time in the top/left part of the screenshot and XPath expressions can be used (bottom part) to let the BPEL process query the DVM at runtime. Read the complete article here.
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.