Monday, September 29, 2008

how to deploy BPEL & ESB processes in High availability environment using JDeveloper

I believe most of the BPEL developers will know how to deploy a BPEL process to the server. As part of configuring Jdeveloper we will go to Connections tab, create Application Server connections and using this App server setting you will configure the integration Server Connection.Today we will see how to configure your Jdev connections for deploying into a HA environment.

Let me just give a brief intro of a high availability environment.

Imagine you have a clustered environment with 4 nodes. In this environment I have 2 HTTP Server and 2 Application Server, each installed on different nodes. These instances are configured to work in a high availability setup.

I will be referring to HTTP Server instances as WEBHOST1 and WEBHOST2 respectively and Application Server instances as APPHOST1 and APPHOST2 respectively.

So if you want to deploy a BPEL or ESB process what are the deployment options you are having. One is to deploy to each of these Application servers separately. But it is not a good practice because there are more chances of disparity in the archive that got deployed in both instances of server.

Next option which is considered the best way to follow is to create a group using the OC4J instances from both the servers APPHOST1 and APPHOST2 and then deploy applications (EAR, WAR) to the group.

For my example I will create a group as GEO_GROUP with required oc4j instances.

While creating Application Server connection in JDEV specify one of the APPHosts(APPHOST1 or APPHOST2) as Host Name. Specify the Connect To option as GROUP instead of single instance. OPMN Port as specified in the opmn.xml. Your Application Server Connection is ready. Just test it make sure the opmn port is correct.

For deploying BPEL and ESB processes. You need to create one more Application Server Connection.

This time you need to specify any one of the HTTP_SERVER address(WEBHOST1 or WEBHOST2) as Host name. Connect To option and OC4Jcomponent/Group Name are not relevant to the BPEL/ESB deployment. So just fill in dummy values. No need to test the connection because it will not work .Press OK to complete creation of the Application Server Connection.

While creating Integration Server Connection, select HTTP SERVER connection configured above as App Server Connection from the drop down menu. Specify the HTTP port of the HTTP_SERVER. Then test the connection. You should be getting message same as below.

Application Server: Failed

BPEL Process Manager Server: OK

ESB Server: OK

Now you are ready to go .Start deploying EAR & WAR files using APPHOST Application Server connection and BPEL and ESB processes using WEBHOST integration Server connection.

Friday, September 26, 2008

useful backup tool @ Oracle AS Recovery Manager

In one of my previous blogs I had written on a scenario where configuration files may get corrupted and some workarounds to bring up the server. One of the options which I didn’t mention there was Backup and Recovery tool provided by Oracle SOA Suite 10.1.3.x. In Oracle Application Server 10g Release 2 (, OracleAS Backup and Recovery Tool was packaged with Metadata Repository Upgrade Assistant and Utilities. But in 10.1.3.x the tool was renamed as Oracle Application Server Recovery Manager and packaged as part of Oracle SOA Suite 10g (10.1.3.x).

The Oracle AS recovery Manager is available in the Oracle_Home/backup_restore directory. The executable file is bkp_restore.(sh/bat) based on the environment. I will give an overview on how to start with OAS Recovery Manager along with some of the options available with it.

The main pre-requisite is to set the ORACLE_HOME environment variable. Then you have to configure your manager. For that edit config.inp file@ Oracle_Home/backup_restore/config folder. The most important attributes for which values has to set are


log_path=/ home/soauser/backups/log_files

CONFIG_BACKUP_PATH: This parameter points to a directory which should be used by the script to backup your configuration files. Used for restoration also. LOG_PATH: This is path under which the tool saves logs generated during backups and restores of database and configuration files.DB backup option is also there.

There is another attribute named config_files_list in config.inp where you can specify different types of input files .The input files will be having details of files/folders that needs to be part of the backup. The config folder will be having a collection of input files. Recovery Manager has provided config_misc_files.inp files for inputting all the application specific files. For example some log files.

To specify a file in inp files -- ${ORACLE_HOME}/directory_path/file

for a directory -- ${ORACLE_HOME}/directory_path/

There are different backup options available

->cold backup

->online backup

->LOHA - Loss of Host Automation

There is a mode for backing up the config files alone and one on incremental mode. Incremental mode will backup only the files which were modified after the last backup. Online backups can provide a convenient solution in multi-user systems because they do not require downtime, as does a conventional offline (cold) backup.LOHA helps user to migrate Oracle Application Server instances from one host to another.

Some modes available (to be used with –m option)

->for a full configuration backup. - backup_config

->incremental configuration file backup-- backup_config_incr

->cold backup of the Oracle AS instance-- backup_instance_cold

->incremental cold backup of the Oracle A S instance -- backup_instance_cold_incr

->online backup of the Oracle AS instance -- backup_instance_online

->Restores configuration files -- -restore_config [-t config_bkp_timestamp]

Instead of manually taking the backup, always try to use the Oracle AS Recovery Manager utility which will help you a lot at the time of restoration.