First look how to migrate Oracle BPM 10g R3 projects to Oracle BPM 12c

A very interesting feature in the recently released Oracle BPM 12c Suite (12.1.3) is the fact it now supports migration from older BEA Aqualogic BPM (6.0) & Oracle BPM 10g R3 projects. Oracle BPM 12c (and 11g) brought significant enhancements to the original Fuego/BEA product. However Oracle BPM 11g, unlike 12c, had no migration support for customers,

Shipped with Oracle BPM 12c there is a migration utility whicj enables you to migrate a BPM project that you created using Oracle BPM 10gr3 to a 12c BPM project which you can modify then with Oracle JDeveloper 12c. The migration utility creates an exported BPM project and a migration report. The migration report contains detailed information for the elements in the original 10g BPM project. If problems occur the migration utility will log these details in the report. You can find the migration utility (which is actually an ANT build.xml) in the JDEV HOME folder under /soa/plugins/jdeveloper/bpm. To run BPM 10-12 Migration tool, Apache Ant must be installed. The ANT target you will need to run will be migrate10-12.


cd C:\ORACLE\middleware_12.1.3\soa\plugins\jdeveloper\bpm
C:\ORACLE\tools\apache-ant-1.8.4\bin\ant migrate10-12 -DprojectLocation=C:\oracle\projects\rubix_ALBPM_pilot_15032010 -Ddestination=c:\oracle\projects\bpm12Export
Unable to locate tools.jar. Expected to find it in C:\Oracle\Java\jre7\lib\tools.jar
Buildfile: C:\ORACLE\middleware_12.1.3\soa\plugins\jdeveloper\bpm\build.xml


 [migrate] --- Migration complete ---
 [migrate] --- See log file: 'c:\oracle\projects\bpm12Export\rubix_ALBPM_pilot_15032010.xml' on your browser.

Total time: 2 minutes 59 seconds


The export folder containts the following files:

  • report (.xml) with stylesheet (reports.xsl)
  • project statistics (.csv)
  • most important, the Oracle BPM 12 export (.exp)
  • SOA folder which contains all the BPM artifacts


The project statistics shows a simple overview of the groups, elements and quantity of the migration process, where the migration report gives a very detailed overview of all the artifacts during the migration. During this migration I already saw some warnings and objects which could not be migrated. So I naturally was very curious (and I had to admit, a bit sceptic) what the result would be.

So next step, In Oracle JDeveloper 12c we can import the project through File -> Import


Select the .exp file and press import and the result is a Oracle BPM 12c project with all files: composites.xml, organizations.xml,, etc.




I’m actually quite  impressed  by the result. I have to admit that before starting I was a bit sceptic, especially because the old POC project I used contained more then a simple process and is not in a mile in line with the final production release used by the client. However the result seems is a very complete BPM 12c project with all tasks, Business Objects, Schemas and off course processes. Yes, the migration is not 100% successful and a BPM developer still needs to verify the code and make some fixes to the project. However the migration utility surely gives organizations a quick start to migrate their Oracle BPM 10g R3 environment and start making use of all the new 12c features.



Posted by on 11-08-2014 in BPM, Oracle


Tags: , ,

Solving a TIBCO buildear bug for the use in Continuous Integration

Within Rubix we have a buildserver for the Oracle/Java developers. The server is configured in Amazon EC2 and runs on Ubuntu configured with Tomcat, Jenkins and Nexus. For standardisation and us moving to the Amazon EC2 cloud we wanted to move the Tibco builds to  the same server.

So after installing the necessary Tibco BusinessWorks 5 software on the server, moving all the source over to Linux we tried running our first Tibco build using Jenkins and the exec-maven-plugin to execute Sadly it resulted in this error message:

Starting up...
java.lang.InternalError: Can't connect to X11 window server using '' as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.access$200(Unknown Source)

There seems to be a (known) bug in the Tibco BusinessWorks buildear which “sometimes” requires a graphical interface when ran from the shell. In our situation this only seemed to occur when projects had XSDs imports in a used libraries.

The solution is to configure Jenkins to use XVFB plugin and emulates a “dumb” framebuffer using virtual memory.

Screen shot 2012-01-29 at 23.18.00

Thanks to collegues Roel, Maarten, Rubén and Anthony for resolving this issue.




Leave a comment

Posted by on 05-07-2014 in Tibco


Tags: , ,

Using the clone ability to duplicate a Service Bus 12c project

It’s quite common in a service oriented landscape that a newer version of a service is required.
For instance due to new functionality for 1 service consumer which brakes the contract for the other consumers.

JDeveloper 12c has a cool feature helping us to clone a Service Bus project.
Right-click on the project and select Service Bus -> Clone


Determine the name of your clone target, for instance a version 1.1 of your current project:


The Service Bus project is cloned (copied) including all artifacts.
If we use a HTTP on our proxy we can expect a warning like in the pictures below which warns about 2 identical URIs.



We can quickly fix this by changing the endpoint URI on the new Service Bus project proxy making it unique.



And off we go! A lof faster then the old copy/paste of files or export/import work-around.

1 Comment

Posted by on 27-06-2014 in Oracle, OSB


Tags: , ,

How to run and debug Oracle Service Bus 12c services on the Integrated Weblogic Server

After developing a Service Bus project in JDeveloper 12c we can deploy it on the internal Weblogic server.
In this blogpost we use the HelloWorld service build earlier as example.



If this is the first time you execute the integrated Weblogic server you will get a pop-up to configure the domain.


Starting the Integrated Weblogic server for the 1st time takes a looooooooot of time, but eventually it is RUNNING and a panel with the look-and-feel of the classic Oracle Service Bus 11g is there.


We can set the SOAP message payload here to debug/test our service.
Since our HelloWorld example ignores any request message, so we can keep the request as-is and by pressing Execute we make the service call to our pipeline.


By checking the Invocation Trace we can debug our service call and check if our service is functioning as expected.

Since we are know running a Oracle Weblogic domain with the SOA/OSB extensions deployed, we can take a quick look at the console.
The most interesting ones are located here (change the port if the default port 7101 was not used creating the domain):

Looking at the Enterprise Manager we see there is a dedicated service-bus and soa-infra part still seperating both components logically.



The biggest change however is the sbconsole which was there since the days of BEA Aqualogic Service Bus.
Changes are not always bad, however it will probably take me a while to get used to it. :)
But mostly determine where certain part of the administration & configuration of services can take place, either in EM or SBCONSOLE.


Leave a comment

Posted by on 27-06-2014 in Oracle, OSB


Tags: , ,

Building a simple Oracle Service Bus 12c HelloWorld service

As a first service we can build a simple service which returns a SOAP message with a HelloWorld text.
Drag the HTTP transport from the Technology palette to the SBProject Proxy Services lane (the left one).


The Create Proxy wizard will start and guide you to the settings.
First we choose a name for our service, comfirm the HTTP transport (the pulldown actually shows no choice) and leave Generate Pipeline enabled.



As service type we select the most easy option Any Soap, which allows us to use SOAP messages but spares us the part to configure a WSDL/XSD for now.
The pulldown shows us that both SOAP 1.1 and 1.2 are supported, but for this example we can use either.



The last step in the wizard is configuring the endpoint URI for your service. The endpoint determines the address our service consumers will have to use.
In our example: http://<servername>:<serverport>/SBProject/helloWorld



The wizard automatically generated the Pipeline so our project looks like this.
Since our HelloWorld service won’t access any back-ends we will not use the External Services lane of our project.

When we click on the pipeline we will see a familiar layout we know from Oracle Service Bus 11g proxy’s.

First we drag the Pipeline pair from the components to our pipeline



Our pipeline know shows a request and response pipeline where we can place our transformation logic.



Since we don’t access a back-end, we will just transform the SOAP message in the response pipeline.
Drag a Replace action from the components palette to the StageResponse.

Configure the Replace action to change the body (location), on root leven using the dot (.).
For Value we will use XML-content <message>HelloWorld</message> to make sure the SOAP message still contains a valid XML structure.
We select the Replace node contents, which is a best practice for SOAP messages.
This option will only replace the content of the SOAP body and prevent any namespace issues, avoid creating a non-valid SOAP body structure, etc.




The result is a simple SOAP/HTTP service which we can now deploy and test.



1 Comment

Posted by on 27-06-2014 in Oracle, OSB


Tags: , ,

Creating a new Oracle Service Bus 12c project

After Oracle SOA Suite 12.1.3 for developers is installed we can now create our first Service Bus project. Select New Application.


From the Service Bus Tier we can select the Service Bus Application with Service Bus Project.
It seems the OSB 12c project naming was aligned with other JDeveloper projects, and so dropping the old OSB Configuration terminology and use Service Bus Application instead.


The 1st step in the Service Bus Application wizard is to determine our application name, working folder and an application package prefix


Since the Servicew Bus Application needs a Service Project we can now determine our project nme and the working folder for our project:


Our first (empty) project is a fact.


When we look at the result we see that the main part is the SBProject. The layout looks familiary close to the SCA composites we know from the SOA Suite.
However the OSB Proxy Services terminology is still used instead of Exposed Services and Pipelines/Split Joins instead of the SCA Components term


When we look at the Components panel to the right we see that 12c uses pipelines and split-joins to model the service bus project logic.
Besides that a lot of transports and adapters are available to connect to a large scale of backends and technologies.
OId obvious integration friends like HTTP, FTP, File, JMS are there, but also options like REST, UMS, Oracle Coherence and Oracle BAM.


Probably for backwards compatibility Oracle decided to support both the old OSB 11g Business Services transports and better integrate the SOA Suite JCA transports in the designer.
Which again allows us to use 2 default options for the File, JMS and FTP transport.

Looking at the way Oracle decided to arrange the components as they did between Technology and Advanced, it looks like the “default” or “best-practice” transport is located under Technology.
For instance:

  • The Technology panel File and FTP transport pop-up the JCA Adapter wizard, and the HTTP and JMS transport pop-up the Business Service wizard.
  • The Advanced panel File and FTP transport pop-up the Business Service wizard, and the JMS transport pop-up the JCA Adapter wizard

Another killer feature is the default integrated Maven support for your projects.
After viewing a demo of a competitors new integration product release recently, which simply stated “there is still no Maven support”, this seems clearly an advantage for Oracle and will help developers and IT organizations to embrace CI more efficiently.



Posted by on 27-06-2014 in Oracle, OSB


Tags: , ,

Installing Oracle SOA Suite 12.1.3 for developers

This blogpost quickly describes the usage of the Oracle SOA Suite 12.1.3 Quick Start Installer for developers.

After download and extracting the file from the Oracle website you will find 2 JAR files in the archive.

  • 18-06-2014 22:39   2.060.922.907   fmw_12.
  • 18-06-2014 22:38   fmw_12.

Funny detail, both JAR files are dated 18-06 so it seems the package was ready a week before the big release on 26-06-2014

On Windows make sure you run the JAR with Administrator priviles, if you don’t you will get the following error message:

java -jar fmw_12.
Launcher log file is C:\Users\Jan\AppData\Local\Temp\OraInstall2014-06-27_09-19-50AM\launcher2014-06-27_09-19-50AM.log.
Extracting files..........................................
Unable to access or modify the system registry. Select Run as Administrator when opening the Command Prompt and try again.

Press any key to exit . .

Also make sure you execute the JAR installer with a of JDK or higher. If not, you will get this message:

java -jar fmw_12.
Launcher log file is C:\Users\Jan\AppData\Local\Temp\OraInstall2014-06-27_09-26-24AM\launcher2014-06-27_09-26-24AM.log.
Extracting files.......................................
This installer must be executed using a Java Development Kit (JDK) but C:\Java\jre7u60 is not a valid JDK.

Press any key to exit . . .

Running the installer in a Administrator console with a recent JDK

c:\Java\jdk1.7.0_60\bin\java.exe -jar fmw_12.

After extraction of the files you will get graphic installer:












Click on Finish and if you don’t disable the Start JDeveloper checklist the IDE will start



The Select Role pop-up is still there, and like 11.x the majority of us will just select Studio Developer (All Features) and disable the Always prompt for role selection on startup.




Also still there, JDeveloper will ask you if you want to import previous preferences from other installations. Personally I never select Yes, but I’m a control freak so determine yourself ;-)




And there it is, the JDeveloper 12.1.3 IDE all to your disposal!



If you like you can install JDeveloper in silent mode, to do this you need an response file. This file can be generated in the 4th step of the installation wizard, but here is an example:


Response File Version=


#The oracle home location. This can be an existing Oracle Home or a new Oracle Home

Save the response file and execute the installer with this command:

java -jar distribution_name.jar -silent -responseFile file




Posted by on 27-06-2014 in Oracle, OSB, SOA Suite


Tags: , , ,


Get every new post delivered to your Inbox.

Join 346 other followers