Oracle Waveset 8.1.1 Upgrade

Task 6: Upgrade Your Development Environment

You must perform each of the following steps in your Development environment:


Note –

You must perform some of these steps when upgrading any environment. However, many of these steps are unique to the Development environment because this is the environment where you update the baseline for your Waveset application.


Step 1: Stop Active Sync and Reconciliation

Set any Active Sync processes to start manually and, if applicable, disable any scheduled reconciliations until the upgrade is finished and appears to be successful.


Tip –

Step 1 is optional, but performing this step is considered a best practice when upgrading the Production environment.

Also, if you perform Step 1 in your Production environment, make it a standard step when upgrading all of your other environments.


Step 2: Stop the Waveset Application

Quiesce your Waveset application and make it unavailable to all administrators and end users.

Step 3: Back Up Your Waveset Application

Make a copy of your existing database and Waveset file structure.

Backing up the database and file structure enables you to reinstate your working environment, if necessary.

Step 4: Remove Hotfixes

Remove any hotfix class files from your WEB-INF/classes directory.

Generally, a hotfix class file works only with the specific version of the Waveset product for which that hotfix was delivered.

Step 5: Take a Snapshot

Make a copy of your existing configuration objects. Also, make a copy of other types of objects in the repository or copy at least a representative sampling of those objects.

The Waveset product upgrade saves the file system artifacts that it overlays, such as JSP files, but the upgrade does not preserve “before-images” of every object that it modifies in the repository. Taking a snapshot enables you to detect changes that the Waveset product upgrade makes to objects in the repository.

ProcedureTo Take a Snapshot

The following instructions describe how to use the Waveset SnapShot feature to create a baseline of the customized repository objects in your deployment and how to compare two snapshots to determine what changes have been made to certain system objects before and after the upgrade.


Note –

The SnapShot feature is not intended for detailed, ongoing XML diffs. It is only a minimal tool for “first-pass” comparisons.


  1. From the Waveset Debug page, click the SnapShot button to view the SnapShot Management page.

    SnapShot Management page screen capture
  2. Type a name for the snapshot in the Create field, and click the Create button.

    When Waveset adds the snapshot, the snapshot’s name displays in the Compare menu list and to the right of the Export label.

  3. To compare two snapshots, do the following:

    1. Select the snapshots from each of the two Compare menus:

      Screen capture shows the Compare button with two drop-down
lists, baseline_1, and baseline_2.
    2. Click the Compare button.

      • If no objects were changed, a message indicates that no differences were found.

      • If object changes are detected, a message displays the object type and name, and indicates whether the object is different, absent, or present.

        For example, if an object is present in baseline_1, but not present in baseline_2, then the baseline_1 column indicates Present and the baseline_2 column indicates Absent.

  4. If you want to export a snapshot to a file in XML format, click the snapshot name link.

  5. If you want to delete a snapshot, choose the snapshot name from the Delete menu and then click Delete.

Step 6: Update Your Platform

If the target Waveset product version requires changes to your platform, you must make these changes before upgrading the Waveset product.

If you plan on upgrading the JDK or JRE, you must use a JDK or JRE supplied by the same vendor as your previous JDK. For example, do not install a Sun JDK if previously you were using a JDK from IBM.


Caution – Caution –

If you are using an Oracle repository, the Waveset repository DDL uses data types that are not properly handled by older Oracle JDBC drivers. The JDBC drivers in ojdbc14.jar do not properly read all of the columns in the log table.

You must upgrade to the ojdbc5.jar for JDK 5 drivers for Waveset to work properly.


Step 7: Upgrade the Waveset Product

To upgrade the Waveset product itself, you might be required to do the following:

Update the Repository Database Tables

Most major releases and some minor releases of Waveset include database table changes. Consequently, you might have to modify the sample SQL scripts for your environment.

You must also update the database tables if you made any of the following modifications:

You must remember any changes that you make to the sample SQL scripts for each Waveset version and use source control to manage these changes. In the future, you will have to make similar changes to the sample SQL scripts for subsequent Waveset versions.

Upgrade the Waveset Product

You can use either of the following methods to upgrade the Waveset product:

Both methods produce the same results.


Note –

In some environments you might prefer using the manual upgrade procedure. For example:

Upgrading the Waveset product might modify objects in the Waveset repository and in some file system artifacts such as .jsp files, Waveset product JARs, and third-party JARs.

When upgrading the Waveset product, be aware of the following:


ProcedureTo Use the Waveset Installer

Use the Waveset installation and upgrade program to upgrade your Development environment.

  1. Use one of the following methods to start the installer:

    • To use the GUI installer, run install.bat (for Windows) or install (for UNIX).

      The installer displays the Welcome screen.

    • To activate the installer in nodisplay mode, change to the directory where the software is located, and type:

      install -nodisplay

      The installer displays the Welcome text, and then presents a list of questions to gather installation information in the same order as the GUI installer.

      If no display is present, the installer defaults to the nodisplay option.

      The installer does not install an older version of the software over a newer version. In this situation, an error message displays and the installer exits.

  2. On the Welcome screen, click Next.

  3. On the Install or Upgrade? screen, select Upgrade and click Next.

  4. On the Select Installation Directory screen, select the directory where the earlier Waveset version is located and click Next.

    The installer displays progress bars for the pre-upgrade and post-upgrade processes and then proceeds to Installation Summary screen.

  5. For detailed information about the installation, click Details, view the log file, and click Close to exit the installer.

  6. Remove all of the compiled Waveset files from the work directory of the application server.

Upgrading Manually

In some environments, you might want to perform the upgrade steps manually instead of using the Waveset installation and upgrade program.


Note –

The instructions in this section are based on installing Waveset on a Tomcat application server. Depending on your application server, you might have to use slightly different commands.

Refer to the appropriate chapter in Part II, Installing Waveset, in Oracle Waveset InstallationPart II, Installing Waveset, in Sun Identity Manager 9.0 Installation for application server-specific instructions.


ProcedureTo Perform a Manual Upgrade on a Windows Platform

Perform the following steps to upgrade Waveset manually on a supported Windows platform:

  1. Stop the application server and Gateway.

  2. Update the Waveset database.

  3. Enter the following commands to set your environment:


    set ISPATH=Path-to-install-software 
    set WSHOME=Path-to-Waveset-Installation  OR Staging-Directory set TEMP=Path-to-Temporary-Directory
    

    Note –

    If you have a space in the path to the Waveset installation directory, you must specify the WSHOME environment variable without double quotes ("), as shown in the following example.

    Do not use trailing slashes (\) when specifying the path even if the path contains no spaces.


    set WSHOME=c:\Program Files\Apache Group\Tomcat 6.0\idm

    or


    set WSHOME=c:\Progra~1\Apache~1\Tomcat~1\idm

    The following path will not work:


    set WSHOME="c:\Program Files\Apache Group\Tomcat 6.0\idm"

  4. Run the pre-process.


    mkdir %TEMP%
    cd /d %TEMP%
    jar -xvf %ISPATH%\IDM.WAR\
    WEB-INF\lib\idm.jar WEB-INF\lib\idmcommon.jar
    set TMPLIBPTH=%TEMP%\WEB-INF\lib
    set CLASSPATH=%TMPLIBPTH%\idm.jar;\
    %TMPLIBPTH%\idmcommon.jar;
    java -classpath %CLASSPATH% -Dwaveset.home=%WSHOME%\
       com.waveset.install.UpgradePreProcess
  5. Install the software.


    cd %WSHOME%
    jar -xvf %ISPATH%\IDM.WAR
  6. Run the post-process.


    java -classpath %CLASSPATH% -Dwaveset.home=%WSHOME%
       com.waveset.install.UpgradePostProcess

    Note –
    • The upgrade post-process step runs in a separate Java virtual machine. The default heap size for this step is 1024 MB. If you experience out-of-memory exceptions during this step, set the maximum heap size value higher. To specify a custom value, set the JAVA_OPTS environment variable using the form —Xmx<heap size> where heap size is a value, such as 2048m. An example is -Xmx2048m.

    • The installer supports upgrading installations that have renamed, deleted, or disabled the default Configurator account.

      The installer prompts you for the user name and password to import the update.xml during the upgrade post process. If the user name or password is typed incorrectly, you will be prompted (up to three times) to enter the correct name or password. The error will be displayed in the text box behind it.

      For manual installation, you must provide the -U username -P password flags to pass the credentials to the UpgradePostProcess procedure.


  7. If you installed into a staging directory, create a .war file for deployment to your application server.

  8. Remove the Waveset files from the application server work directory.

ProcedureTo Perform a Manual Upgrade on a UNIX Platform

Perform the following steps to upgrade Waveset manually on a supported UNIX platform:

  1. Stop the application server and Gateway.

  2. Update the Waveset database.

  3. Set your environment.


    export ISPATH=Path-to-Install-Software export WSHOME=Path-to-Waveset-Installation-or-Staging Directory 
    export TEMP=Path-to-Temporary-Directory
    
  4. Run the pre-process.


    mkdir $TEMP
    cd $TEMP
    jar -xvf $ISPATH/idm.war \
    WEB-INF/lib/idm.jar WEB-INF/lib/idmcommon.jar
    CLASSPATH=$TEMP/WEB-INF/lib/idm.jar:\
    $TEMP/WEB-INF/lib/idmcommon.jar:
    java -classpath $CLASSPATH -Dwaveset.home=$WSHOME \
    com.waveset.install.UpgradePreProcess
  5. Install the software.


    cd $WSHOME
    jar -xvf $ISPATH/idm.war
  6. Run the post-process.


    java -classpath $CLASSPATH -Dwaveset.home=$WSHOME
      com.waveset.install.UpgradePostProcess

    Note –
    • The upgrade post-process step runs in a separate Java virtual machine. The default heap size for this step is 1024 MB. If you experience out-of-memory exceptions during this step, set the maximum heap size value higher. To specify a custom value, set the JAVA_OPTS environment variable using the form —Xmx<heap size> where heap size is a value, such as 2048m. An example is -Xmx2048m.

    • The installer supports upgrading installations that have renamed, deleted, or disabled the default Configurator account.

      The installer prompts you for the user name and password to import the update.xml during the upgrade post process. If the user or password is typed incorrectly, you will be prompted (up to three times) to enter the correct name or password. The error will be displayed in the text box behind it.

      For manual installation, you must provide the -U username -P password flags to pass the credentials to the UpgradePostProcess procedure.


  7. Change directory to $WSHOME/bin/solaris or $WSHOME/bin/linux, and set permissions on the files in the directory so that they are executable.

  8. If you installed into a staging directory, create a .war file for deployment to your application server.

  9. Remove the Waveset files from the application server work directory.

Troubleshooting Upgrade

If you encounter problems during the upgrade, check the upgrade log files located in the $WSHOME/patches/logs directory. The file names for the logs are based on a time stamp and the stage of the upgrade.

Upgrade All Gateway Instances

Upgrade every Sun Waveset Gateway installation in your environment. Newer versions of Waveset server do not work with older versions of the Gateway.

ProcedureTo Upgrade the Waveset Gateway

  1. Log in to the Windows system and change to the directory where Gateway is installed.

  2. Stop the Gateway service.


    gateway -k
    
  3. If using at least Windows 2000, exit all instances of the Services MMC plug-in.

  4. Remove the Gateway service.


    gateway -r
    
  5. Back up and delete the existing Gateway files.

  6. Extract the new Gateway files.

    If you are installing the newly upgraded Gateway on a system that is not the Waveset server, then copy the gateway.zip file from the Waveset installation package.

  7. Unpack the gateway.zip file into the directory where Gateway was installed.

  8. Install the Gateway service.


    gateway -i
    
  9. Start the Gateway service.


    gateway -s
    

Upgrade All PasswordSync Instances

Unless the Release Notes specify otherwise, newly installed versions of the Waveset server provide limited, temporary support for older versions of PasswordSync. This support is provided so that Waveset can continue to run while you upgrade your PasswordSync instances. All instances of PasswordSync should be updated to the same version as Waveset Server as soon as possible.

To upgrade PasswordSync, you must uninstall each PasswordSync installation in your environment and reboot. Use the add/modify programs feature from the Windows Control Panel to ensure correct removal.

Replace each installation with the new PasswordSync version and reboot. Use the appropriate binary file for the operating system on which you are installing. The binary for 32-bit Windows is called IdmPwSync_x86.msi and the binary for 64-bit Windows is called IdmPwSync_x64.msi.


Note –

You must reboot Windows twice: Once after uninstalling PasswordSync, and once after installing the new version. The two reboots are necessary due to the way the Windows Security Service loads the PasswordSync DLL.


For installation instructions, see Installing and Configuring PasswordSync on Windows in Oracle Waveset 8.1.1 Business Administrator’s Guide.

Step 8: Take Another Snapshot

After successfully upgrading the Waveset product, make a copy of the existing configuration objects. Also, make a copy of other object types in the repository, or copy at least a representative sampling of those objects.

The Waveset product upgrade does not record the changes that it makes to repository objects. If you compare this snapshot to the snapshot that you took before the upgrade, you can easily detect any changes made to repository objects during the upgrade.

Step 9: Analyze the Changes

You must analyze the changes made by the Waveset product upgrade, and update your configurations and customizations accordingly. For example:

You must carefully analyze changes made to repository objects during the Waveset product upgrade. For example:


Tip –

You might decide that you can safely ignore these object changes, but in most cases it is considered a best practice to add these configuration objects to your baseline.


After upgrading, restore any customized files and objects.

Restoring Customized Files

During the upgrade, Waveset automatically copies all customized files, such as JSP and HTML files, into the following directory:

$WSHOME/patches/Sun_Java_System_Identity_Manager_Version_Date_/savedFiles

The following table describes the files in this directory.

Table 3–1 savedFiles Directory File Structure

File Name 

Description 

changedFileList

File containing a list of all saved customized files. 

This file also contains a list of files (installed with your older version of Waveset) that will be overwritten when files of the same name are installed during upgrade. 

notRestoredFileList

File containing a list of all customized files that are not restored during the upgrade process.

notInstalledFileList

File containing a list of newer version files that are not installed during the upgrade process.

The upgrade might add some files that were also installed with your original Waveset installation. Before overwriting the older files, Waveset automatically saves them in the savedFiles directory. See the changedFileList file for a list of these files.

Waveset automatically restores most of the files listed in changedFileList during the upgrade process, but does not restore all of them. See the notRestoredFileList for a list of these files. When restoring customized files, Waveset overwrites the newer version of the files that were installed during the upgrade.

You might have to manually restore some of your file customizations. Review the notRestoredFileList file to see a list of the files that were not restored during upgrade. If you must manually restore any customized files, edit the new file that was installed during the upgrade to incorporate your customizations, and then save the newly edited file.

Restoring Customized Objects

If you have configured your form and process mappings in the system configuration, you will not have to restore those object customizations after the upgrade. If you have customized objects that are not listed in the system configuration, then you must manually restore these objects by importing the XML for these objects.

As a safety measure, Waveset automatically saves many of the commonly customized objects to files when you import update.xml. These files are saved to subdirectories in the WEB-INF/savedObjects directory. These subdirectories are named with a time stamp of the time at which the import was performed.

Importing update.xml can create up to three subdirectories in the savedObjects directory. You can manually import the object XML files to restore object customizations.

Step 10: Rebuild All Custom Java Classes

You must rebuild all of your custom Java classes against the new product libraries. For example, you must rebuild any new JAR files or application server libraries.

If recompiling produces deprecation warnings, analyze each deprecation message, and read the Oracle Waveset 8.1.1 Release Notes to determine whether you can resolve the deprecation issue immediately. If you cannot resolve the deprecation issue immediately, add an item to your project plan to resolve the issue in the future.


Note –

Waveset does not support deprecated APIs indefinitely. Deprecated classes and methods are generally removed in the next major product release.


Step 11: Make Necessary Changes in XPRESS

Make any forms, rules, and workflows changes in XPRESS.

The forms, rules, and workflows supplied in new Waveset product versions are generally backward-compatible with older forms, rules, and workflows. The most common type of change required is to change invocations of Waveset Workflow Services or Form Utility methods.


Note –

For information about release-specific changes to Workflow Services or Form Utility methods, see the Waveset Release Notes for the release to which you are upgrading.


Step 12: Test Your Waveset Application in the Development Environment

Restart the application server and test your Waveset application at least minimally to confirm that at least the basic functions are working as expected.

You must redeploy your web applications after upgrading Waveset because most application servers cache the web.xml file.

ProcedureTo Redeploy Your Web Application After Upgrading

If you are using the Sun GlassFish Enterprise Server, for example, you would perform the following steps to redeploy a web application after upgrading Waveset:

  1. Log in to the GlassFish administrator interface.

  2. Choose Applications > Web Applications from the menu bar.

  3. Locate your web application and click the Redeploy link.

  4. Click the button next to the Local Packaged File or Directory That Is Accessible From the Application Server option.

  5. Click the Browse Folders button and select the top-level folder for your installation.

    For example:

    C:\Sun\AppServer\domains\domain1\applications\j2ee-modules\idm

  6. Click OK.

  7. Restart the application server.

Step 13: Restart Active Sync and Reconciliation

After successfully upgrading, you must restore the original settings for any Active Sync processes and reenable any scheduled reconciliations (if applicable).


Tip –

Step 13 is optional, but performing this step is considered a best practice when upgrading the Production environment.

Also, if you perform Step 13 in your Production environment, make it a standard step when upgrading all of your other environments.


Step 14: Merge Changes Back Into Source Control


Note –

Merging changes back into source control is specifically listed here as a separate step to highlight its importance. In actual practice, you can merge changes back into source control as you perform Steps 9 through 12.


When merging changes back into source control, you must: