A Using the Deployment APIs

You can use the Oracle Service Bus MBeans in Java programs and WLST scripts to automate promotion of Oracle Service Bus configurations from development environments through testing, staging, and finally to production environments. The Oracle Service Bus MBeans you can use to programmatically perform deployment operations include:

The latter MBeans are interfaces in the com.bea.wli.sb.management.configuration package.

Numerous customization options can be applied during deployment. An extended list of environment variables allows you to preserve or tailor settings when moving from one environment to another.

This section contains the following topics:

A.1 Managing Sessions Using Programs and Scripts

Oracle Service Bus sessions allow different users to update discrete parts of configuration data without interfering with each other. A session is essentially a named sandbox, in which your changes are abstracted from other users, as well as from the core data (the data on which Oracle Service Bus runs), until the changes are activated. In order to modify resources and Oracle Service Bus configurations, you must create a session and perform changes in that session. The changes are only reflected in the core data when you activate the session. You can create multiple sessions as long as no two sessions have the same name. A session can only be activated using the instance of the SessionManagementMBean that works on that session data.

Each MBean type, except for SessionManagementMBean, has one instance per session. When a session is created, a new set of MBean instances (one for each MBean Type) is created automatically. One instance of each MBean Type operates on the core data that is saved to the Oracle Service Bus data cache. MBean instances created for a session are destroyed when the session is discarded or activated. MBean instances that operate on core data, however, are never destroyed. MBean instances that work on core data do not support update operations.

A.1.1 Creating, Activating, Discarding, and Locating Sessions

Oracle Service Bus sessions are created using the Oracle Service Bus Console. The methods in the SessionManagementMBean interface directly parallel the interactive features provided in the Oracle Service Bus Console, and require execution in the same order as their GUI counterparts. The following table lists the methods available in the SessionManagementMBean interface and the tasks they perform.

Table A-1 Session Management Methods

To... Use...

Activate a session

activateSession(String session, String description)

Create a new session with a user-specified name.

createSession(String session)

Delete the session without activating changes

discardSession(String session)

Return true if a session with the given session name exists

sessionExists(String session)

For reference material on the SessionManagementMBean interface and Java usage examples, as well as sample code describing how to use MBeans from a Java client and in a script, see the SessionManagementMBean Interface in the com.bea.wli.sb.management.configuration package in the Oracle Fusion Middleware Java API Reference for Oracle Service Bus.

A.1.1.1 Examples

The SessionManagementMBean Interface in the com.bea.wli.sb.management.configuration package in the Oracle Fusion Middleware Java API Reference for Oracle Service Bus includes example code illustrating how to create a session, how to obtain SessionManagementMBean for creating a session, and ALSBConfigurationMBean for operating on the session that is created and on core data, and so on.

A.2 Managing Configuration Tasks Using Programs and Scripts

The Oracle Service Bus ALSBConfigurationMBean allows you to programmatically query, export and import resources, obtain validation errors, get and set environment values, and in general manage resource configuration in an Oracle Service Bus domain. Oracle Service Bus configurations are packaged as simple JARs containing Oracle Service Bus resources such as proxy services, WSDLs, and business services. These resources can span multiple projects, or contain only partial configuration information. For example, you can export only a subset of a project, a whole project, or subsets of resources from many projects.

The following sections describe how to use the ALSBConfigurationMBean to perform these deployment activities from a Java client:

For reference material on the ALSBConfigurationMBean interface, see the ALSBConfigurationMBean Interface in the com.bea.wli.sb.management.configuration package in the Oracle Fusion Middleware Java API Reference for Oracle Service Bus.

A.2.1 Importing, Exporting, and Querying Configurations

Oracle Service Bus configurations are created using the Oracle Service Bus Console, and are stored through export in .jar files. After a configuration .jar file has been exported, you can promote the configuration by importing it into a different Oracle Service Bus domain and changing the environment-specific values in the configuration to match those of the new environment.

The methods in the ALSBConfigurationMBean Interface allow you to manage resources in an Oracle Service Bus domain, including tasks such as:

  • Query, export, and import resources (includes importing resources from a zip file, and exporting resources at the project level)

  • Get and set environment values

  • Clone a project, folder, or resource with a new identity

  • Modify the existing references from all the resources in the given list to a new set of references

  • Customize multiple properties at once

  • Obtain validation errors

See the ALSBConfigurationMBean in the Oracle Fusion Middleware Java API Reference for Oracle Service Bus for the comprehensive method summary for the ALSBConfigurationMBean methods.

A.2.2 Updating Environment-Specific Information

The methods in ALSBConfigurationMBean and the Customization Class allow you to update environment specific information. This includes.

  • Updating the value of endpoints in proxy and business service configurations

  • Updating the directory elements in File, E-mail, and FTP transport configurations

  • Directly setting environment value(s)

  • Searching for environment-specific values specified in a query

  • Find environment values specified in a query, and replace all occurrences of the environment value pattern with the given parameter.

See ALSBConfigurationMBean and Customization Class in the Oracle Fusion Middleware Java API Reference for Oracle Service Bus for a comprehensive summary of methods. Import customizations are supported by the ALSBImportPlan.

You must update your security configuration and all other environment-specific settings interactively using the Oracle Service Bus Console. For information on configuring environment-specific settings, see Section 2.4, "Step 4. Deploy an Oracle Service Bus Configuration."

A.2.2.1 Examples

The ALSBConfigurationMBean Interface in the com.bea.wli.sb.management.configuration package in the Oracle Fusion Middleware Java API Reference for Oracle Service Bus includes example code illustrating how to import and export Oracle Service Bus configurations, how to change environment values, how to query resources, and so on.

A.2.3 Related Topics

"Oracle Service Bus APIs" in the Oracle Fusion Middleware Administrator's Guide for Oracle Service Bus.