Sun Java Enterprise System 5 Upgrade Guide for Microsoft Windows

Chapter 1 Planning for Upgrades

This chapter provides information used for planning the upgrade of Sun Java Enterprise System (Java ES) software to Java ES 5 (Release 5) in a Windows operating system. This chapter contains the following sections:

Java ES 5 Components

As an introduction to planning the upgrade of Java ES software, this section reviews the components included in Release 5. Depending on your upgrade scenario, you might need to upgrade one or more of these components to their Release 5.

Java ES components are grouped into different types, as described in the Java Enterprise System Technical Overview:

Release 5 Product Components

Release 5 product components are shown in the following table, listed alphabetically. For the service quality components among them, the table includes the type of service enhancement they provide.

Table 1–1 Java ES 5 Product Components

Product Component  

Abbreviation 

Version 

Type 

Access Manager 

AM 

7.1 

System service component 

Application Server 

AS 

8.2 

System service component 

Directory Proxy Server 

DPS 

6.0 

Service quality: access component 

Directory Server 

DS 

6.0 

System service component 

High Availability Session Store 

HADB 

4.4.3 

Service quality: availability component 

Java DB 

JavaDB 

10.1 

System Service Component 

Message Queue 

MQ 

3.7 UR1 

System service component 

Portal Server 

PS 

7.1 

System service component 

Portal Server Secure Remote Access 

PSRA 

7.1 

Service quality: access component 

Service Registry 

SR 

3.1 

System service component 

Web Proxy Server 

WPS 

4.0.4 

Service quality: access component 

Web Server 

WS 

7.0 

System service component 

Release 5 Shared Components

Java ES shared components, upon which the product components installed on a single computer depend, cannot be selected or deselected within the Java ES installer. When installing Java ES product components, the Java ES installer automatically installs the shared components needed by the installed product components.

Release 5 shared components are listed in the following table:

Table 1–2 Java ES 5 Shared Components

Shared Component 

Version 

Abbreviation  

Apache Common Logging 

1.0.3 

ACL 

Jakarta ANT Java/XML-based build tool 

1.6.5 

ANT 

Common Agent Container 

1.1 and 2.0 

CACAO 

FastInfoSet  

1.0.2 

FIS 

International Components for Unicode 

3.2 

ICU 

Java 2 Platform, Standard Edition 

5.0 Update 7 

J2SE™ 

JavaBeans™ Activation Framework 

1.0.3 

JAF 

Java Studio Web Application Framework 

2.1.5 

JATO 

JavaHelp™ Runtime 

2.0 

JHELP 

JavaMail ™ Runtime 

1.3.2 

JMAIL 

Java Architecture for XML Binding Runtime 

2.0.3 

JAXB 

Java API for XML Processing 

1.3.1 

JAXP 

Java API for XML Registries Runtime 

1.0.8 

JAXR 

Java APIs for XML-based Remote Procedure Call Runtime 

1.1.3_01 

JAX-RPC 

Java API for Web Services Runtime 

2.0 

JAXWS 

Java Dynamic Management™ Kit Runtime 

5.1.2 

JDMK 

Java Security Services 

4.2.4 and 3.1.11 

JSS and JSS3 

JSP Standard Library Template 

1.0.6 

JSTL 

KT Search Engine 

1.3.4 

KTSE 

LDAP C SDK 

6.0 

LDAP C SDK 

LDAP Java SDK 

4.19 

LDAP J SDK 

Mobile Access Core 

6.2 

MA Core 

Netscape Portable Runtime 

4.6.4 

NSPR 

Network Security Services 

3.11.4 

NSS 

SOAP Runtime with Attachments API for Java 

1.3 

SAAJ 

Simple Authentication and Security Layer 

2.19 

SASL 

Sun Java Monitoring Framework 

2.0 

MFWK 

Sun Java Web Console 

3.0.2 

SJWC 

Web services Common Library  

2.0 

WSCL 

XML Web Services Security 

2.0 

XWSS 

About Java ES Upgrades

No single system utility upgrades all Java ES components. Instead, the upgrade of Java ES product components to Release 5 is performed component-by-component, computer-by-computer, using component-specific upgrade procedures documented in this guide.

The upgrade of a component can range from a major upgrade, which might not be compatible with the previous version of the component, to a fully compatible upgrade that simply provides bug fixes. Because of dependencies between Java ES components, the nature of the upgrade can affect whether other components need to be upgraded as well.

Product Component Upgrades

Java ES product component upgrades involve two basic operations that mirror the initial installation and configuration of Java ES product components:

In addition, Java ES product component upgrades normally involve pre-upgrade tasks and, in some cases, post-upgrade procedures before the upgrade is operational.

Product Component Upgrade Approaches

The upgrade of each product component involves one of the upgrade approaches described in the following sections:

Performing a Fresh Install of the Component

Java ES 5 product components are upgraded by performing a fresh install of the components using the Java ES installer. You should install Release 5 in a parallel path and leave the previous version intact. You can reconfigure the product component by migrating the previous version's configuration data to the new installation, or by performing a new configuration, or by doing a combination of both. For some product components a utility is provided for reconfiguring or migrating configuration data for the component.

Patching Existing Component Packages

Web Proxy Server upgrade is performed by manually patching the existing software packages. For more information, see To Upgrade Web Proxy Server.

Upgrade Approach Used for Each Product Component

The upgrade approach used to upgrade each product component to Release 5 is shown in the following table:

Table 1–3 Java ES Product Component Upgrade Approaches

Component 

Upgrade Approach 

Reconfiguration 

Access Manager 

Perform fresh install in a parallel path using Java ES installer 

Use amconfig.bat and amupgrade.bat files to reconfigure and redeploy to web container

Application Server 

Perform fresh install in a parallel path using Java ES installer 

None 

Directory Proxy Server 

Perform fresh install in a parallel path using Java ES installer 

Manual reconfiguration 

Directory Server 

Perform fresh install in a parallel path using Java ES installer 

Use dsmig command to migrate Directory Server data

Message Queue 

Perform fresh install in a parallel path using Java ES installer 

None 

Service Registry 

Perform fresh install in a parallel path using Java ES installer 

Manual reconfiguration 

Web Proxy Server 

Patch binaries 

None 

Web Server 

Perform fresh install in a parallel path using Java ES installer 

Use wadm migrate-server command to migrate server instance configuration

Shared Component Upgrades

Java ES shared component upgrades are a necessary part of upgrading the product component that depend on them. Shared components for Release 5 need to be installed using the Release 5 installer in a parallel path. Release 5 installer does not upgrade Release 4 shared components.

Upgrade Process

The Java ES upgrade process involves a number of phases, which are normally carried out first in a staging environment, before being executed in a production environment. The use of a staging environment allows you to test each phase as well as write scripts to be used by IT personnel for upgrading complex Java ES deployments.

When you have tested the upgrade process in a staging environment, and have confidence that the upgrade is working properly, you can reproduce the process in your production environment. The process involves the phases shown in the following table and documented in this Upgrade Guide. The phases apply to individual component upgrades as well as to your Java ES deployment as a whole.

Table 1–4 Phases in the Upgrade Process

Upgrade Phase  

Description  

Plan 

You develop an upgrade plan. In the development plan, you specify the Java ES components to be upgraded and the sequence by which you need to upgrade those components on the different computers or operating system instances in your deployment. 

Pre-upgrade preparation 

You back up configuration and application data, perform any patching of the operating system, upgrade any required dependencies, and perform other tasks in preparation for upgrading any individual component. 

Upgrade 

You obtain all the necessary packages, patches, and tools needed for the upgrade. You install upgraded software and reconfigure each component as prescribed, including the migration of data to the upgraded system. 

Verification 

You verify that the upgrade has been successful using prescribed verification tests, including starting the upgraded software components and testing various usage scenarios. 

Rollback and restoration 

Roll back the upgrade and verify that the rollback is successful. Testing the rollback of the upgrade is important in case you have to restore the production environment to its previous state for some reason. 

Upgrade Plan Considerations

In an upgrade plan you specify the Java ES components you will upgrade to Release 5 and the sequence by which you will upgrade those components on the different computers or operating system instances in your Java ES deployment.

Your plan will depend on your upgrade objectives and priorities, as well as the scope and complexity of your deployment architecture.

For example, your Java ES deployment architecture might consist of a single Java ES component running on a single computer, and your upgrade objective is to fix some bug in the previous software release. On the other hand, your Java ES deployment architecture might consist of a number of interdependent Java ES components deployed across a number of different computers, and your upgrade objective is to achieve some new functionality by upgrading the minimum number of components required to achieve that end with minimal downtime.

In general, the greater the number of Java ES components and the greater the number of computers in your deployment architecture, the more complex your upgrade plan will be.

However, your upgrade plan will depend on a number of considerations other than the scope and complexity of your deployment architecture. These considerations include the following factors:

Upgrade Dependencies

One of the main issues in planning the upgrade of any given Java ES component is that component’s dependencies on other Java ES components. You should evaluate whether such other components also need to be upgraded to support the upgrade of the dependent component.

The two types of upgrade dependencies are:

Upgrading a Java ES product component requires you to upgrade all the components upon which it has hard upgrade dependencies, but, with some exceptions noted in this book, allows you to not upgrade components upon which it has soft upgrade dependencies. When multiple interdependent components are involved in an upgrade, you have to upgrade a component if only one of the Java ES components being upgraded has a hard upgrade dependency on that particular component.

In a few special cases, due to incompatibilities that are introduced, upgrade of a component requires you to also upgrade a component that it supports. These special cases are noted in this book.

Upgrade All

Table 1–5 Upgrade All

Upgrade Approach 

Advantages 

Disadvantages 

Upgrade All 

Maintains a consistent version for all components in your deployed system 

Maximizes the number of components to upgrade 

The choice between Selective Upgrade and Upgrade All is not rigid. For example, you might choose to selectively upgrade the product components on a particular computer, but wish to upgrade all shared components needed to support the selected product components.In fact, for upgrades from Release 4 to Release 5, selectively upgrading product components, while upgrading all of the corresponding shared components, is often the preferred approach.

Supported Upgrade Paths and Strategies

Your upgrade plan depends on the Java ES release you wish to upgrade to Release 5. Java ES installer only support upgrade from Java ES 2005Q4 (Release 4). The following table describes the different upgrade paths to Release 5, their characteristics, and the upgrade strategies to be used in performing the upgrade.

Table 1–6 Upgrade Paths and Strategies

Release 

Java ES Release 

System Characteristics 

Upgrade Strategies 

2005Q4 

Release 4 

Java ES 5 supports a mixture of Release 4 and Release 5 product components on a single computer. 

 

Interoperability between Release 4 and Release 5 product components has been tested, and known interface incompatibilities are noted in the Sun Java Enterprise System 5 Release Notes for Microsoft Windows.

The coexistence of Release 4 and Release 5 product components provides for the possibility of selectively upgrading Release 4 product components to Release 5 on a single computer or within a deployment architecture consisting of multiple computers.  

Release 5 installer automatically installs all required shared components. 

Java ES Component Dependencies

One of the most important considerations in an upgrade plan is the dependencies between the various Java ES components in your deployed system. The sequence in which you perform the component upgrades is affected by the nature of the dependencies between them.

Each of these factors is discussed briefly in the following sections.

Dependencies on Shared Components

Table 1–7 shows the dependencies of Release 5 product components on Java ES shared components. The abbreviations for product components in the table are taken from Table 1–1. The abbreviations for shared components are spelled out in Table 1–2.

Within the matrix of the following table hard upgrade dependencies for Release 4 to Release 5 upgrades are marked “H,” and soft upgrade dependencies are marked “S.”

Table 1–7 Shared Component Dependencies of Java ES 5 Product Components

Shared Component 

AM 

AS 

DPS 

DS 

MQ 

SR 

WS  

WPS 

ANT 

 

     

   

ACL 

       

   

BDB 

             

Common Agent Container 

       

ICU 

 

   

J2SE 

JAF 

     

   

JATO 

           

JavaHelp 

   

 

 

JavaMail 

     

 

JAXB 

       

 

JAXP 

     

 

JAXR 

     

 

JAX-RPC 

     

 

JAXWS 

           

 

JCAPI 

               

JDMK 

   

 

JSS 

         

KTSE 

           

LDAP C SDK 

   

   

LDAP J SDK 

             

MA Core 

             

MFWK 

             

NSPR 

 

NSS 

 

 

SAAJ 

     

   

SASL 

     

   

SJWC 

       

WSCL 

     

 

XWSS 

         

   

Dependencies On Product Components

Dependencies on product components fall into two general categories: runtime dependencies and configuration dependencies.

For runtime dependencies, the relationship between product components can be of the following three types:

The following table shows the dependencies between the Java ES product components listed in Table 1–1. The information can be used to determine the hard upgrade dependencies that impact your upgrade plan.

The first column alphabetically lists Release 5 product components, the second column shows other Java ES components upon which a Release 5 component has a dependency relationship, the third column provides the Java ES release versions that support the Release 5 dependency, the fourth column characterizes the dependency relationship, and the last column indicates special characteristics of the dependency, such as whether the supporting component must be local as opposed to remote or whether other third-party products can support the dependency.

If a product component you are upgrading to Release 5 has a dependency on Release 5 of a supporting component then the supporting component represents a hard upgrade dependency: the supporting component must also be upgraded to Release 5.

Table 1–8 Java ES Product Component Dependencies

Product Components  

Dependencies  

Nature of Dependencies  

Must be Local  

Access Manager 

Directory Sever 

Mandatory: Stores configuration data and enable lookup of user data 

 

Java 2 Enterprise Edition (J2EETM) web container:

  • Application Server

  • Web Server

Mandatory: Provides web container runtime services 

Yes 

Access Manager SDK 

Access Manager 

Mandatory: Provides Access Manager services 

 

J2EE web container: 

  • Application Server

  • Web Server

Mandatory: Provides web container runtime services 

Yes 

Access Manager Distributed Authentication 

Access Manager 

Mandatory: Provides Access Manager services 

 

J2EE web container: 

  • Application Server

  • Web Server

Mandatory: Provides web container runtime services 

Yes 

Access Manager Session Failover 

Access Manager 

Mandatory: Provides Access Manager services 

 

J2EE web container: 

  • Application Server

  • Web Server

Mandatory: Provides web container runtime services 

Yes 

Application Server

Message Queue 

Mandatory: Provides reliable asynchronous messaging 

Yes 

Web Server  

Optional: Provides load balancing between instances 

Yes 

High Availability Session Store 

Mandatory: Stores session state needed to support failover between instances 

Yes 

Directory Proxy Server

Directory Server 

Co-dependency: Results in improved security and performance for directory requests. Supplies data to Directory Proxy Server 

No 

Directory Server

Directory Proxy Server 

Co-dependency: Results in improved security and performance for directory requests. Distributes load and caches data to Directory Server 

 

Message Queue

Directory Server 

Optional: Stores administered objects and persistent data 

 

J2EE web container: 

  • Application Server

  • Web Server

Optional: Supports HTTP transport between client and Message Queue broker 

 

Service Registry  

Application Server  

Mandatory: Provides container runtime services  

Yes 

Java DB 

Mandatory: Provides default database for string services and related meta data 

Yes 

Service Registry Client 

Mandatory: Provides required client libraries 

Yes 

Web Proxy Server  

Directory Server 

Optional: Provides LDAP-based authentication 

 

Web Server 

Co-dependency: Results in improved security and performance for HTTP requests. Supplies data to Web Proxy Server 

Yes 

Web Server

Directory Server 

Optional: Provides LDAP-based authentication 

 

Web Proxy Server 

Co-dependency: Results in improved security and performance for HTTP requests. Distributes load and caches data from Web Server 

 

Upgrade Sequencing Guidelines

The following listing provides the order in which Java ES components can be successfully upgraded on a single computer or in a deployed system. When you plan your upgrade, you can omit those components that are not part of your deployment architecture.

The chapters in this guide are arranged according to the order in which components appear in the following listing.

  1. Directory Server (Chapter 2, Directory Server)

    Many components store user data or configuration data in Directory Server, so upgrades to Directory Server should generally be performed before upgrading the components that have runtime or configuration dependencies on Directory Server.

  2. Directory Proxy Server (Chapter 3, Directory Proxy Server)

    Directory Proxy Server has a hard upgrade dependency on Directory Server and is therefore upgraded after Directory Server. Other components might access Directory Server through Directory Proxy Server.

  3. Web Server (Chapter 4, Web Server)

    A number of Java ES components require the support of a web container, which, if upgraded, should be upgraded before the components requiring web container services. Normally web container services are provided by Web Server, but if your architecture contains both, upgrade Web Server first.

  4. Message Queue (Chapter 5, Message Queue)

    Message Queue, if upgraded, is best upgraded before Application Server, which requires Message Queue to be Java 2 Enterprise Edition (J2EE) compliant.

  5. Application Server (Chapter 6, Application Server)

    Application Server depends on Web Server for its load balancing plug in, so if you are using that capability, Application Server should be upgraded after Web Server.

  6. Service Registry (Chapter 7, Service Registry)

    Service Registry can be upgraded anytime after Application Server is upgraded because it depends upon Application Server for runtime container services.

  7. Web Proxy Server (Chapter 8, Web Proxy Server)

    Web Proxy Server can be upgraded anytime, though generally it would be upgraded after the Web Server or Application Server component for which it provides a proxy service. Web Proxy Server is a new Java ES Release 5 component that can be upgraded from its previous non-Java ES release.

  8. Access Manager (Chapter 9, Access Manager)

    Access Manager plays a central role in authentication and authorization, including single sign-on. If upgraded, Access Manager should be upgraded before the components that depend on it for those services. In addition, Access Manager requires specific Directory Server schema (Schema 2), which affects how other components use Directory Server.