Installing BPM for Developers

If you are going to be doing development for Oracle BPM Suite 11g, you may want to install a copy of BPM on your own machine so that you can do some unit testing as you build components and composites.

The full installation of BPM may be a bit too heavy for a lot of developer’s machines, but there is an easy option to install a lightweight developers version of BPM.

You will need to have a database, and run the Repository Creation Utility to create the schemas for BPM.  You can use the Oracle Express Edition (XE) database to minimise the footprint.  You will find details about how to run RCU in this post.

Then you will need to install a Java Development Kit, WebLogic Server, and the SOA Suite (BPM Suite) as detailed in that post.  Note that you will not need to install the Web Tier, WebCenter, UCM or any of the other components listed in that post.

You should take a look at the Oracle JRockit JVM for your development server.  In my testing, I found that it improved the performance of my server about 30% during deployments and at runtime.  It does however take longer to start than the Oracle HotSpot JVM (i.e. the normal ‘Sun’ JVM).  Of course this is not a big deal if you leave it running.  There is also some pretty decent tooling available to help you with performance tuning, profiling and analysis (JRockit Mission Control) – more about that in later posts.

In my main development environment I use Oracle JRockit 4.1.0-1.6.0 to run WebLogic 10.3.3 and BPM (all 64-bit).  I run JDeveloper on the HotSpot JVM (1.6.0_20, 21 or 22, nothing earlier).  This is all on Windows Server 2008 (64-bit).  I find that the configuration described in this post is significantly faster and more productive for me, than the standard (default) installation.

After you have installed the binaries, you will need to create your domain.  This is where the setup process starts to differ.

There are two developer domain templates provided in the product, under the Oracle Middleware home directory, in:


In this directory, you will see two files called:

You need to rename (or copy) these two files, so that they have the extension .jar instead of .zip.  This will make them appear in the list of options when you create a new domain.

To create a domain, start up the config script in the SOA home:

c:\Oracle\Middleware\Oracle_SOA1\common\bin>  config

The Fusion Middleware Configuration Wizard will appear.  Select the Create a new WebLogic domain option and click on Next to continue.


From the list of options, first select Oracle Enterprise Manager – [oracle_common], this will also select a couple of other options.  Then select Oracle SOA Suite for developers – [Oracle_SOA1] and then finally Oracle BPM Suite for developers – [Oracle_SOA1]. Then click on Next to continue.


Enter a name for your domain, I called mine sml_domain, then click on Next.


Enter a password for your administration user and click on Next.


On the next screen, make sure you choose Development Mode and then pick your JDK.  If you are going to use JRockit, like me, you will need to select Other JDK and then click on the Browse button to point to the location where you installed it.  Then click on Next.


On the next screen, you will need to configure the database connections.  Select all of the components in the bottom part of the screen, as shown below, and then enter your database details in the top half as shown.  If you changed the default prefix from DEV when you ran the Repository Creation Utility, then you will need to select each component one by one and update the Schema Owner field.  When you are done, click on Next.


The next page will confirm that the database connections are all right.  If you get any errors, go back and correct them on the previous page then retry the tests.  When you are ready to proceed, click on Next.


We don’t need to do anything on this next page, just click on Next to continue.


Take a look at the configuration summary if you want to, then click on Next to continue.


You can watch the progress as the domain is created.


After a short time, the wizard will have completed the creation of the domain.  Make sure that Start Admin Server is not checked and click on Done to exit the wizard.


The more fervent readers of documentation among you may have come across the following, which tells us we need to run an ant script called ant-soa-util.xml in order to properly configure a single server domain, however this is no longer necessary with, so we do not need to do anything.

Now we are ready to start up our server, using the following command, in the domain directory we just created:

c:\oracle\Middleware\user_projects\domains\sml_domain\bin> startWebLogic.cmd

The server will start up and the console (server output) will be available in your console/terminal.  The first time you start the server, it will take a bit longer than usual, as it has a bit of extra work to do unpacking a few files and so on.

After a few minutes, you will get a message letting you know the server is RUNNING.


Now you can log on to the server using the following URLs:

http://yourserver:7001/console        WebLogic console
http://yourserver:7001/em             Enterprise Manager
http://yourserver:7001/bpm/workspace  BPM Work Space
http://yourserver:7001/bpm/composer   BPM Process Composer

You can also create a connection in your JDeveloper and start developing!  Enjoy!

Note: JVM Memory Tuning

If you have enough memory on your development machine, you may want to tune the JVM memory arguments.  More detail on this topic later on, but for now, you might want to just try increasing the heap size and the permanent generation size.  This is done by editing the setDomainEnv.cmd file in the domain directory for example:


You will need to add a line like this:

set USER_MEM_ARGS=-Xms2048m -Xmx2048m -XX:PermSize=512m -XX:MaxPermSize=512m

This example will make the heap 2GB and the permanent generation 512MB.  Of course, JVM memory tuning is quite a big topic in and of itself and simply throwing these settings in may not make things better on your particular machine, and if you don’t have enough memory, they may even prevent your server from starting!

About Mark Nelson

Mark Nelson is a Developer Evangelist at Oracle, focusing on microservices and messaging. Before this role, Mark was an Architect in the Enterprise Cloud-Native Java Team, the Verrazzano Enterprise Container Platform project, worked on Wercker, WebLogic and was a senior member of the A-Team since 2010, and worked in Sales Consulting at Oracle since 2006 and various roles at IBM since 1994.
This entry was posted in Uncategorized and tagged , , , , , . Bookmark the permalink.

2 Responses to Installing BPM for Developers

  1. Pingback: Installing BPM for Developers | RedStack | DNR Tactics

  2. Pingback: Setting up the development environment for the Worklist | RedStack

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your 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 )

Connecting to %s