Building a SOA Development Environment

Building a SOA Development Environment

Just had to build a new SOA development environment and so thought I would share with you the steps I went through to create it.


I wanted a SOA Suite install with an Oracle XE database for use as a meta-data repository and for use as an application database.  I also wanted to install JDeveloper into the environment so that I had everything I needed.  I was also keen to be able to produce dashboards with BAM and model my processes using BPA Suite.
I acquired the components I needed by downloading them from OTN.

Operating System

In my case I was going to be running on Windows Server 2003 hosted in a VMWare environment.  I installed W2K3, making sure that I added a loopback adapter with a fixed IP address and that I enabled IIS for later use by BAM.

Setting Up Database

First step was to install Oracle XE and configure it for use by SOA Suite.  Installation was painless and I then configured it for use by SOA Suite as detailed in another blog entry "Making DB XE Work with SOA Suite".

Setting Up JDeveloper

Next up I installed JDeveloper.  I installed this next so that I could use the JDK it provides later when running the repca utility.  I created a shortcut on the desktop and also put a link onto the task bar to make it easier to find.

Setting up SOA Suite

I first went to the SOA Suite installation media and ran the irca.bat utility found in 'Disk1\install\soa_schemas\irca'.  This creates the SOA schemas in the XE database, assuming of course that you tell it where the database lives.  To run this you need a JVM, hence why I installed JDeveloper before SOA Suite.
I then ran the SOA Suite installer and selected the advanced option and chose J2EE and SOA Suite (see previous entry "A Tale of Two Installs" for explanation of what this installs).  I chose to make this an "Administrative Instance", meaning that it installed App Server Control so I could manage the instance.  I chose not to use the Oracle HTTP Listener to cut down on the memory footprint.
After installing SOA Suite I then patched it to the level.  This required me to run the run the patch set installer and then run the update repository script upgrade_10131_10133_oracle.sql found in '$ORACLE_HOME\bpel\system\database\scripts'.  I also updated PHP in Apache to use PHP 5 rather than 4.
A restart of the SOA Suite and everything was now working.

Adding Business Activity Monitoring

Before installing BAM I made sure that IIS was working on my machine and also checked in IIS Manager that both Active Server Pages and ASP.Net were enabled.  I then ran the BAM installer and installed BAM. This requires two steps, one to install the Oracle client libraries and another to install BAM itself.  Note that if you only plan to use BAM with BPEL or via webs services there is no need to select the Enterprise Link option.

System Startup Choices

Under Windows all the SOA Suite services and the XE database appear as services.  Apart from the TNS listener I set all my Oracle services to be manual startup so that I could control what I was actually using.  I could then startup first the database and then either just SOA Suite and BAM or both together.  All components can be started from their 'Program Files' menu.

Installing BPA Suite

Almost there now.  I installed BPA Suite, pointing it at the XE database.  There was a minor problem which was that I had accepted the default western european character set (WE8MSWIN1252) for the database and BPA Suite was demanding that I use a multi-byte character set (AL32UTF8).  I fixed this problem by looking at the location of the character set test script in $ORACLE_HOME\testsql.txt (it is called check_charset.sql).  I then went to the temporary directory specified and changed the check_charset.sql file so that the line
:exitcode := 1;
:exitcode := 0;
Note that this is not supported and will cause problems if you want to use characters not supported by WE8MSWIN1252.  However if you are in Western Europe then it is a quick hack to avoid having to re-install XE.
If like me you want to publish BPEL models from BPA Suite into JDeveloper then you need to install the BPA Suite extensions into JDeveloper.  To do this
  • Select Help->Check for Updates
  • Check the "Install from Local File" option and browser for the pcbpel_bundle/ file on the BPA Suite installation media.
  • Click Next
  • Click Finish
  • Say Yes to restart
  • Say yes to all overwrite warnings or click the don't tell me again box!
  • Say no to import settings
Now BPA Suite is installed and integrated with JDeveloper.

Final Configuration

I find it very handy to have links to all the SOA Suite consoles directly available from the favorites menu, so it is probably worth adding them there.
You will also want to go through and set up connections in JDeveloper for
  • Application Server
  • Integration Server
  • BAM Server
  • BPA Server - choose local server for the connection.  You can only set this up after creating a "database" in BPA Suite.
Note that the relevant components must be running to test the connections (or to set it up at all in the BPA case)

Voila! The job is done

Seems like a lot to do until you realise that you have installed a huge amount of function that should fit all your development needs.  In addition to SOA Suite and BPA Suite and Database XE and JDeveloper you also have Application Server and WebCenter installed!  So I'm off to write something with all that technology, enjoy!


Hello Antony, could you pls comment to us, the Memory Amount that you assign to the VMWARE machine? 1 Gb? 2 GB? 3GB?, aprox disk space, etc Thanks!

Posted by Eduardo Vega on October 16, 2007 at 07:21 AM MDT #

Great question!
I assigned 2G memory to the VM (I have a 3G laptop) and I set the disk size to be maximum 40G, I am currently using 30G, but then I have several other things installed such as IBM MQ series that racks up additional disk space requirements.


Posted by Antony Reynolds on October 16, 2007 at 12:32 PM MDT #

Post a Comment:
Comments are closed for this entry.

Musings on Fusion Middleware and SOA Picture of Antony Antony works with customers across the US and Canada in implementing SOA and other Fusion Middleware solutions. Antony is the co-author of the SOA Suite 11g Developers Cookbook, the SOA Suite 11g Developers Guide and the SOA Suite Developers Guide.


« July 2016