Oracle® Real-Time Decisions Release Notes Versions 3.0 and 3.0.0.1 Part Number E13857-09 |
|
|
View PDF |
This chapter describes issues associated with upgrading to Oracle RTD Version 3.0 from previous versions, and consists of the following topics:
Section 2.1, "Upgrading to Oracle RTD Version 3.0 from Previous Releases"
Section 2.2, "Upgrading from Oracle RTD Version 3.0 to Oracle RTD Version 3.0.0.1"
This section consists of the following topic:
Section 2.1.1, "Considerations for Upgrading Inline Services with Custom Java Code"
Section 2.1.2, "File sdclient.jar Renamed to rtd-ds-client.jar"
Section 2.1.5, "Build Errors in Decision Studio Due to Incorrect Compiler Compliance Level"
With the release of Oracle RTD 3.0, some java classes, interfaces, constants, and methods have been explicitly designated as public. These public APIs may be found in your Oracle RTD installation at RTD_HOME
/docs/api/
. Any custom java code should make use of these APIs in order to guarantee the upgradeability of Inline Services.
Logging methods have been moved from com.sigmadynamics.sdo.SDOBase
to com.sigmadynamics.sdo.support.Log
. Custom code using the old log methods may find them in their new location either by adding this to their imports: import com.sigmadynamics.sdo.support.Log;
or by adding this: import static com.sigmadynamics.sdo.support.Log.*;
com.sigmadynamics.server.SDDataSource.getInstance(String)
should use com.sigmadynamics.server.SDDataSource.getDataSource(String)
. The new method returns an interface instead of a concrete implementation.
In prior versions of Oracle RTD, the client integration resource bundle sdclient.jar
was packaged with the java client example found in RTD_HOME
/client/Client Examples/Java Client Example
.
In Oracle RTD 3.0, the resource has been renamed from sdclient.jar
to rtd-ds-client.jar
. It can now be found along with other dependent jars in RTD_HOME
/client/DecisionService
.
After upgrading a previous version Oracle RTD environment to 3.0, the server-side upgrade of previously deployed Inline Services may fail, resulting in an error found in the Oracle RTD server log, such as:
2009-03-03 14:58:55,312 ERROR [AppFactory] Error loading Inline Service DC_Demo in deployment state Development. Will mark it as invalid in the database. java.lang.NoClassDefFoundError: com/sigmadynamics/sdo/interfaces/client/SingletonInterface at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2427
In order to correct the Inline Service's invalid state in the server, perform the following steps:
Clean and recompile the Inline Service in Oracle RTD 3.0 Decision Studio.
Redeploy the Inline Service.
Using 3.0 Decision Studio, previous version Oracle RTD Inline Services opened from the workspace automatically prompt the user with a request to upgrade metadata to the 3.0 schema. The studio-side upgrade of Inline Services in the workspace may fail, resulting in build problems in the Problems view, such as:
com.sigmadynamics.sdo.base.ChoiceModel cannot be resolved to a type GENAllOffersCG.java DC_Demo221/gensrc/com/sigmadynamics/sdo line 231 com.sigmadynamics.sdo.base.ChoiceModel cannot be resolved to a type GENAllOffersCGChoice.java DC_Demo221/gensrc/com/sigmadynamics/sdo line 154 ChoiceModel cannot be resolved to a type GENAllOffersCGChoice.java DC_Demo221/gensrc/com/sigmadynamics/sdo line 200 The constructor ApplicationBase(String, int, int) is undefined GENApplication.java DC_Demo221/gensrc/com/sigmadynamics/sdo line 81 ChoiceModel cannot be resolved to a type GENApplication.java DC_Demo221/gensrc/com/sigmadynamics/sdo line 366 2 ChoiceModel cannot be resolved to a type GENApplication.java DC_Demo221/gensrc/com/sigmadynamics/sdo line
In order to correct the Inline Service's invalid state in the Decision Studio workspace, clean and recompile the Inline Service in RTD 3.0 Decision Studio.
Oracle RTD Decision Studio 3.0 specifies and requires Inline Services to use the correct java compiler compliance level of 5.0. If a lower java compiler compliance level is used for an Inline Service, build errors related to source level may occur repeatedly for the given project, for example:
Syntax error, static imports are only available if source level is 5.0
Syntax error, 'for each' statements are only available if source level is 5.0
Syntax error, parameterized types are only available if source level is 5.0
To correct these build errors, set the java compiler compliance level for an Inline Service to 5.0 in Decision Studio. See Section 11.2.2, "Setting the Java Compiler Compliance Level" of Oracle Real-Time Decisions Platform Developer's Guide for instructions on configuring this property.
This section describes how to upgrade from Oracle RTD Version 3.0 to Oracle RTD Version 3.0.0.1.
The assumptions are:
Oracle RTD Version 3.0 was installed at C:\OracleBI\RTD
.
The Oracle RTD Version 3.0 database was initialized.
The Model Snapshots tables, if used, were initialized.
Your Inline Services were deployed on Oracle RTD Version 3.0.
The Oracle RTD Version 3.0 Decision Studio workspace is at the default location.
On Windows, the default location is %USERPROFILE%
\Oracle RTD Studio
, for example, C:\Documents and Settings\
your user name
\Oracle RTD Studio
.
This section consists of the following topics, each of which represents a task to perform during the upgrade process:
Section 2.2.2, "Performing a Backup of Existing Data and Configuration Files"
Section 2.2.4, "Upgrading the Oracle RTD Decision Studio Workplace"
Section 2.2.6, "Deploying Oracle RTD Version 3.0.0.1 and Restoring Custom Server Settings"
Section 2.2.7, "Recompiling and Redeploying the Inline Services"
To shut down Oracle RTD Version 3.0:
Exit from Oracle RTD Decision Studio.
Exit from Oracle RTD Load Generator.
Open your J2EE application server's administration console.
Stop Oracle RTD.
To back up your existing database and configuration files:
Rename C:\OracleBI\RTD
to C:\OracleBI\RTD.30
.
Copy C:\Documents and Settings\
your user name\Oracle RTD Studio
to C:\Documents and Settings\
your user name\Oracle RTD Studio.30
.
Back up your Oracle RTD database.
Refer to your database vendor's documentation for information about backing up a database.
If you have set up SSL for Loadgen, back up the following file:
RTD_HOME
/scripts/sdexec.cmd
.
If your SDDB database is an Oracle database where you customized the tablespaces, back up the following file:
RTD_HOME
/scripts/sql/Oracle/SDTablespaceMap.txt
.
Depending on the application server you are using, you may need to back up certain files.The rest of this section lists the files to back up:
Start off in the following directory:
For standalone OC4J: OC4J_HOME
/j2ee/home
For Oracle AS: OAS_HOME
/j2ee/
OC4J_INSTANCE
/
For both standalone OC4J and Oracle AS, back up the following file:
./application-deployments/OracleRTD/data-sources.xml
For both standalone OC4J and Oracle AS, if you have created custom data sources, custom roles, or model snapshot tables, back up the following files:
./applications/OracleRTD/rtis/WEB-INF/web.xml
./applications/OracleRTD/soap/WEB-INF/web.xml
./applications/OracleRTD/ls/WEB-INF/web.xml
./applications/OracleRTD/ui/WEB-INF/web.xml
./application-deployments/OracleRTD/rtis/orion-web.xml
./application-deployments/OracleRTD/soap/orion-web.xml
./application-deployments/OracleRTD/ls/orion-web.xml
./application-deployments/OracleRTD/ui/orion-web.xml
./applications/OracleRTD/META-INF/orion-application.xml
./application-deployments/OracleRTD/orion-application.xml
Start off at the following file:
RTD_HOME
/package/RTD.ear
If you have created custom data sources, custom roles, or model snapshot tables, back up the following files:
RTD.ear > rtis.war > WEB-INF/web.xml
RTD.ear > soap.war > WEB-INF/web.xml
RTD.ear > ui.war > WEB-INF/web.xml
RTD.ear > ls.war > WEB-INF/web.xml
RTD.ear > rtis.war > jboss-web.xml
RTD.ear > soap.war > jboss-web.xml
RTD.ear > ui.war > jboss-web.xml
RTD.ear > ls.war > jboss-web.xml
Note:
As an illustration of the notation used here, the entryRTD.ear > rtis.war > WEB-INF/web.xml
is to be interpreted as follows:
web.xml
is a file in the WEB-INF
directory
The WEB-INF
directory is inside the web archive rtis.war
rtis.war
is inside the enterprise archive RTD.ear
.
Start off in the staging directory where WebLogic placed the expanded RTD.ear
file during installation.
The general name for the staging directory, assuming that you chose expanded
as the name of the lowest-level directory, is:
MW_HOME
/user_projects/domains/
RTD_domain_name
/servers/
RTD_server_name
/stage/OracleRTD/expanded
For example, C:\Oracle\Middleware\user_projects\domains\OracleRTD_domain\servers\OracleRTD_Server\stage\OracleRTD\expanded
.
If you have created custom data sources, custom roles, or model snapshot tables, back up the following files:
./rtis.war > WEB-INF/web.xml
./soap.war > WEB-INF/web.xml
./ls.war > WEB-INF/web.xml
./ui.war > WEB-INF/web.xml
Note:
As an illustration of the notation used here, the entry./rtis.war > WEB-INF/web.xml
is to be interpreted as follows:
web.xml
is a file in the WEB-INF
directory
The WEB-INF
directory is inside the web archive rtis.war
rtis.war
is in the directory where WebLogic placed the expanded RTD.ear
during installation
Start off in the following directory:
WEBSPHERE_HOME
/AppServer/profiles/
profile_name
/config/cells/
server_name
/applications/OracleRTD.ear/deployments/OracleRTD
If you have created custom data sources, custom roles, or model snapshot tables, back up the following files:
./rtis.war/WEB-INF/web.xml
./soap.war/WEB-INF/web.xml
./ui.war/WEB-INF/web.xml
./ls.war/WEB-INF/web.xml
To unpack Oracle RTD Version 3.0.0.1:
Expand the Oracle RTD Version 3.0.0.1 distribution archive to the desired location, for example, C:\OracleBI\RTD
.
To upgrade the Oracle RTD Decision Studio Workplace:
Start Oracle RTD Decision Studio.
If you have any compile errors, select Project > Clean > Clean all projects.
If you backed up sdexec.cmd
(SSL for Loadgen) or SDTablespaceMap.txt
as described in Section 2.2.2, "Performing a Backup of Existing Data and Configuration Files," restore them to the paths specified in that section before you upgrade the Oracle RTD database.
To upgrade your Oracle RTD database:
Start SDDBTool.
For information about SDDBTool, see Oracle Real-Time Decisions Installation and Administration Guide.
When the option to Initialize or Upgrade appears, select Upgrade.
If you had model snapshot tables in version 3.0, then, from the RTD_HOME
\scripts
directory, run the command that creates the model snapshot tables:
sdexec com.sigmadynamics.tools.SDDBTool.SDDBTool -f -u -I InitSnapshotDb.ctl db_type db_host db_port db_name db_runtime_user db_admin_user db_admin_password
This section describes the operations required to deploy Oracle RTD Version 3.0.0.1, and to restore the custom server settings configured for Version 3.0. The sequence of operations depends on your application server.
The description of the tasks in this section assumes that you backed up XML files to save custom server settings, as described in Section 2.2.2, "Performing a Backup of Existing Data and Configuration Files," and that you now want to restore the configuration settings in those files.
Standalone OC4J and Oracle Application Server
Undeploy Oracle RTD Version 3.0.
Deploy the Oracle RTD Version 3.0.0.1 RTD.ear
.
Stop Oracle RTD.
Restore the files that you backed up as described in Section 2.2.2.1, "Standalone OC4J and Oracle Application Server Files." Place them back into the locations from which you copied them.
Start Oracle RTD.
Stop JBoss.
Upgrade the Version 3.0.0.1 RTD.ear
as follows:
Extract rtis.war
, ls.war
, soap.war
, ui.war
Restore the files that you backed up as described in Section 2.2.2.2, "JBoss Files." Place them back into the locations from which you copied them.
Place the .war
directories back into RTD.ear
Deploy the Oracle RTD Version 3.0.0.1 RTD.ear
.
Start JBoss.
Undeploy Oracle RTD Version 3.0.
Deploy the Oracle RTD Version 3.0.0.1 RTD.ear
.
Stop the WebLogic server.
Restore the files that you backed up as described in Section 2.2.2.3, "WebLogic Files." Place them back into the locations from which you copied them.
Start the WebLogic server.
Undeploy Oracle RTD Version 3.0.
Deploy the Version 3.0.0.1 RTD.ear
, using the WebSphere administrative console.
Restore the files that you backed up as described in Section 2.2.2.4, "WebSphere Files." Place them into the .war
directories corresponding to the directories from which they were copied.
After you update the web.xml
files, you must configure the resource references in WebSphere using the Integrated Solutions Console. Before you begin, ensure that WebSphere is started. See Section 8.2.3, "Updating Resource References in WebSphere" in Oracle Real-Time Decisions Installation and Administration Guide.
In the RTD server.log file, check that your existing Inline Services loaded successfully, by examining the [AppFactory] e
ntries.
For example,
2007-11-26 17:42:46,725 INFO [AppFactory] Loaded Inline Service DC_Demo:4 in deployment state Development
.
Alternatively, you can check the status of your Inline Services through JMX. In JConsole, navigate to Mbeans > Oracle RTD > Inline Service Manager > Inline Service Name.
Expand the Inline Service Name to show the deployment state of interest, and note the Status of the deployment state. If the Status attribute has a value of Loadable, then the Inline Service for that deployment state has been loaded properly and can now accept requests. If the server was unable to upgrade and load your existing Inline Service, the Status attribute will show a value of Failed.
In this case, you can deploy a working version of the Inline Service from the Decision Studio. If you no longer have the source code for an Inline Service, you can download the Inline Service, using Project > Download.
In Decision Studio, open up all your Inline Services.
Recompile the Inline Services, using Project > Download, then Clean all projects.
Deploy each Inline Service to the RTD Server.