Tuesday, October 09, 2007

Deploy depending BPEL processes

When designing and developing BPEL processes. It could result that process A call proccess B. But process B will also call process A. During development your start with process A, deploy it and later on you create process B. Then you add a partnerlink in process A to call B and vice versa.

You will not notice that these two processes are depending on each other until you create/deploy these processes in a new environment. It will not possible to deploy process A, while it depends on B. In the bpel.xml file process A will be compiled, but it will try to retrieve WSDL specification of B. While B is not there, it fails to compile. The other way arround, is the same. Process B does not compile because A does not exists.

This can be solved. The way I prefer is the following:
  • Copy the WSDL file and the XSD file of process B into your project of process A.
  • Copy bpel.xml into bpel_post.xml
  • Change all the WSDL locations, in bpel.xml, into local files: http://host/orabpel/default/HelloWorldB/HellowWorldB?wsdl
    into
    HelloWorldB.wsdl
  • Compile process A based on bpel.xml.
  • Deploy process A.
  • Deploy process B.
  • Compile process A based on bpel_post.xml.
  • Deploy process A.
Issue solved.

Wednesday, October 03, 2007

How to approach a SOA project

For our Dutch and Belgium audience, I wrote an article for Oracle University. This article tells you how to approach a SOA project. Here is the link:

http://www.oracle.com/global/nl/education/nieuws/Website_tips.html

Marc

Monday, October 01, 2007

Reinstall TaskManager / TaskActionHandler processes

Working with the BPEL process manager you deploy and undeploy processes from JDeveloper or via your own build system. Undeployment is mostly done via BPEL console, by selecting each process after each other, or select multiple processes at once.

But a mistake could be made, that you undeploy one of the two process that are supplied by default.
  • TaskActionHandler
  • TaskManager
After you undeploy these processes they can not be restored via the BPEL console. To restore these processes you do the following steps.

copy the two files from directory $ORACLE_HOME/bpel/install/extensions/ to the deployment directory of your domain.

cd $ORACLE_HOME/bpel/install/extensions
cp bpel_TaskActionHandler_1.0.jar
$ORACLE_HOME/bpel/domains/default/deploy
cp bpel_TaskManager_1.0.jar
$ORACLE_HOME/bpel/domains/default/deploy