Oracle SOA 12c Migration

Most organizations when migrating to Oracle SOA 12c or Oracle BPM 12c choose to perform a side-by-side upgrade, as it:

  • requires zero downtime,
  • supports all SOA and BPM components,
  • allows for a phased migration,
  • involves significantly less risk.

This involves provisioning a new instance of SOA 12c, replicating the configurations from your 11g platform and migrating and deploying your code. Once ready, you then switch over from 11g to 12c.

Most organizations fail to maintain accurate documentation of their current 11g configurations, so have to manually reverse engineer their existing 11g production configurations, so they can be re-applied to their new 12c environments. This is both a time consuming and error prone approach.

Rubicon Red MyST provides a simple and automated process for side-by-side upgrades. MyST allows you to introspect an existing 11g environment, extract the key configuration information and then use this to automatically provision an equivalent 12c environment in minutes.

Side-By-Side Upgrades made Simple

When performing a side-by-side upgrade, you simply point MyST at an existing 11g environment, MyST will introspect the platform instance and create a corresponding 11g Platform Blueprint.

Next, just specify the Oracle Middleware 12c version required. MyST will automatically convert the blueprint to one that is compliant with the Oracle Enterprise Deployment Guide for SOA 12c, whilst preserving your 11g configurations.

Finally, specify the target environment(s), for the new SOA 12c domain. Then at the click of a button, MyST will automatically provision an equivalent 12c Oracle Middleware platform.

The end-to-end process consists of three simple steps and can be performed in minutes.

Step 1 - Introspect SOA / BPM 11gR1 Domain

For the purpose of this blog, we are going to introspect an existing Oracle SOA 11.1.1.7 environment running on two VMs, that consists of a 2 node SOA Cluster and 2 node OSB Cluster.

The steps for introspecting an existing Oracle SOA or BPM environment are documented in the blog - Creating a Platform Blueprint from an Existing SOA / BPM Domain.

Step 2 - Upgrade 11g Platform Blueprint to 12c

The next step, is to upgrade our 11g SOA Platform Blueprint to create a new SOA 12c Platform Blueprint. From the side menu navigate to Modeling > Platform Blueprint, this will display a list of existing Platform Blueprints. Click on Create New in the top right-hand corner of the screen. This will launch the New Platform Blueprint wizard.

In the initial dialogue we need to specify the following details about our Platform Blueprint:

  • Name - Short hand name for the Platform Blueprint.
  • Description - A longer description of the Platform Blueprint.
  • Workspaces - This defines the Workspaces to which the Platform Blueprint belongs (Role Based Access Control allows us to manage which workspaces a user has access to.)
  • Initial Version - Specifies the initial version of the Platform Blueprint, we will stick with the default.

Finally, we need to specify how we want to create the Platform Blueprint, select the option to Upgrade from an existing blueprint and click Next.

Specify Oracle Middleware Upgrade Version

Next we need to specify the Platform Blueprint that we want to upgrade, so from the drop down select the introspected Platform Blueprint; Oracle SOA 11.1.1.7 in our example.

Next we need to select the version of Oracle SOA 12c we want to upgrade to, in our example we will upgrade to 12.2.1.0.0. Once done, click Next.

Review the Summary

MyST will display a Summary screen showing a summary of the Platform Blueprint we want to upgrade and the new Platform Blueprint that it will create in the process.

We can review these details, once done, click Finish.

View/Edit Platform Blueprint

MyST will automatically convert our 11gR1 SOA Platform blueprint to an equivalent SOA 12c Platform Blueprint that is compliant with the SOA 12c Oracle Enterprise Deployment Guide (EDG), whilst preserving the custom configurations that had been applied to our 11g environment. This includes configurations such as JDBC Data Sources, File Stores, JMS Servers, JMS Modules, JCA Adapters and SAF Agents.

Once created, MyST will open the Platform Blueprint Editor where you can make any additional configuration changes; for example we may want to add in the Enterprise Scheduler Service that wasn't included in 11gR1.

If we look closely at our 12c Platform Blueprint, we can see that the number of Data Sources is different. In our 11g Platform Blueprint we had 12 JDBC Data Sources, but in our 12c Platform Blueprint we have 15 JDBC Data Sources. This is because in SOA 12c there have been changes to database schemas and corresponding JDBC Data Sources required by the Oracle SOA Platform.

When upgrading to 12c, MyST has the knowledge to remove the no longer needed 11g data sources, plus also create the additional ones required for 12c. If we look more closely, we will see MyST has preserved our three custom data sources, which are colored white (as opposed to light green).

In addition, we can see that when the SOA 11gR1 domain was originally created, the middleware version no was specified as part of the Domain Name as its still set to acme11g_domain. Plus the corresponding directory locations Domain Home, Domain Aserver Home, etc, also have this is there file path.

To change this, place the Platform Blueprint into Edit mode and update the WebLogic Domain name to acme12c_domain and click Save.

We can see that MyST automatically updates all the other values that reference this property.

With this minor edit, we are now ready to provision our new 12c environment. Typically when migrating to 12c, we will want to create multiple non-Productions, such as DEV, SIT, PRE-PROD and PROD to test and validate the migrated code is performing as expected before promoting into Production.

With MyST we can use the same Platform Blueprint to provision all these environments, ensuring each environment is consistent with Production. For each environment we want to provision, we need to create a Platform Model, this essentially maps the Platform Blueprint to the target infrastructure and captures environment specific configuration details, such as credentials.

Model and Provision

For the purpose of this example, we are going to provision our SIT environment. From the side menu navigate toModeling > Platform Model, this will display a list of existing Platform Models. Click on Create New in the top right-hand corner of the screen. This will launch the New Platform Model wizard.

In the initial dialogue we need to specify the following details about our Platform Model:

  • Platform Blueprint - The Platform Blueprint that we will use for our Platform Model.
  • Platform Blueprint Version - The version of the Platform Blueprint that we will use for our Platform Model.
  • Environment Type - The Environment Type for the Platform Model.
  • Name - Short hand name for the Platform Model.
  • Description - A longer description of the Platform Model.
  • Workspaces - This defines the Workspaces to which the Platform Model belongs. See Role Based Access Control for further details.

Once we have entered the basic details about our Platform Model click Next.

Select Target Infrastructure Provider

Next, we need to specify the Infrastructure Provider for our Platform Model, this could be on premise or in the cloud. From the corresponding drop-down, select a Pre-Existing Infrastructure Provider. MyST will list all the target hosts within the in the Pre-Existing Infrastructure provider for the Platform Model Environment Type.

Once done, click Next.

Specify Compute Group Size

For each Compute Group defined within the Platform Blueprint we need to specify the number of nodes to use. In the case of our migrated platform we have a single compute group for both OSB and SOA, so we will specify that this will be a 2 node cluster.

In addition, we can also specify whether we want to have a stand alone admin server, in which case it will be created within its own compute group. MyST will default to what is specified in the Platform Blueprint.

Once done, click Next.

Map Nodes to Pre-Existing Servers

Once we have specified the number of nodes for each compute group, the next step is to map each Node to a corresponding Host in the specified infrastructure provider.

MyST will list out each node required by the Platform Model. Against each node there will be a drop down box, which will list the target hosts available to map the node. For each node, select the target host.

Once done, click Next.

Note: If provisioning to the cloud, we would have the option of MyST creating the target hosts on-demand as part of the provisioning process.

Specify Platform Model Configurations

The final stage is to specify configuration properties that are specific to the Platform Model.

For the Platform Model we need to specify the following details :

  • Domain Name - This is the WebLogic Domain name, it will default to the value specified in the Platform Blueprint, but can be overridden in the Platform Model.
  • WebLogic Admin User - Enter the WebLogic Admin user, it defaults to Weblogic.
  • Weblogic Admin Password - Enter the password to be used for the WebLogic Admin User.
  • JDBC Data Source type - This option is used to specify the Data Source Type for Oracle Middleware specific schemas which are created by the Oracle Middleware Repository Creation Utility (RCU). This will default to the value specified in the Platform Blueprint, but can be overridden in the Platform Model.
  • RCU Components - This details the RCU specific schemas that will be created. This is pre-populated based on the Oracle Middlware Components specified in the Platform Blueprint, this is for information purposes only and can't be modified.
  • RCU Database URL - Enter the database URL for the database that will host the
  • RCU Prefix - Specify the RCU Prefix to be used. The prefix is prepended to and separated from the schema name with an underscore (_) character.
  • RCU Database Password Enter the password to be used for each of the schema owners created by RCU.
  • RCU SYS User - Enter the user name for the RCU database. This should be a username with DBA or SYSDBA priviliges, for example SYS.
  • RCU SYS Password - Enter the password for the RCU Sys User.

Once done, click Next.

Review Platform Model

MyST will display a Summary screen showing all the keys inputs specified in the Platform Model Wizard.

Once done, click Finish. MyST will create the corresponding Platform Model and take you to the Platform Model Editor where you can make additional changes if required.

Provision Platform Instance

We are now ready to provision our 12c SIT environment. From the side menu navigate toModeling > Platform Model, this will display a list of existing Platform Models. Select the Platform Model we have just created, MyST will display summary information about the state of the Platform Model and Instance as shown below.

Click on the Actions menu and select Provision, MyST will open a dialogue allowing you to enter any notes and requesting confirmation of the action, Click Finish.

MyST will start the process of provisioning the Oracle Middleware, this will take approx 40 minutes to complete.

Verify Platform Instance

Once our Platform Instance has been successfully provisioned, click on the Actions menu and select View.

This will open the Platform Viewer, where we can view all details about the configuration of the Platform Instance. In addition, MyST provides the URL's for the relevant administration consoles (outlined in red).

If we click on the link for the Admin Console, this will take us to the login page for the WebLogic Admin Console. Login and got the Servers summary page. Here we can see the list of our newly migrated 12c SOA and OSB Servers.
If we browse the configuration, such as JDBC Data Sources, JMS Servers, JMS Modules, JCA Adapters and SAF Agents, we can see that we have successfully migrated these from our SOA 11g Platform Instance.

Matt Wright

Matt Wright is co-founder and CTO of Rubicon Red. Rubicon Red offers organisations a set of innovative and market leading DevOps, Cloud & consulting solutions for Oracle Middleware customers.

Melbourne, Australia https://twitter.com/RubiconMatt

Subscribe to Oracle PaaS, Oracle Middleware and DevOps

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!