Sun Java logo     Previous      Contents      Index      Next     

Sun logo
Sun Java Enterprise System Upgrade Guide for HP-UX  

Chapter 1
Planning for Upgrades

This chapter provides information used for planning the upgrade of Sun Java™ Enterprise System (Java ES) 2005Q1 (Release 3) software to Java ES 2005Q4 (Release 4). It contains the following sections:


Java ES 2005Q4 (Release 4) Components

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

Java ES components are grouped into different types, as described in the Java Enterprise System Technical Overview (http://docs.sun.com/doc/819-0061). Accordingly, system service components provide the main Java ES infrastructure services, while service quality components enhance those system services. These two types of Java ES components are together referred to here as product components, components that are selectable within the Java ES installer.

Each product component depends on one or more locally shared libraries known as Java ES shared components. Shared components are installed automatically by the Java ES installer during product component installation, depending on the product components that are being installed.

Release 4 Product Components

The Java ES Release 4 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 Release 4 Product Components

Product Component

Type

Abbreviation

Access Manager

System service component

AM

Administration Server

Service quality: administrative component

ADS

Application Server

System service component

AS

Calendar Server

System service component

CS

Communications Express

Service quality: access component

CX

Delegated Admin

Service quality: administrative component

DA

Directory Preparation Tool

Service quality: administrative component

DPT

Directory Proxy Server

Service quality: access component

DPS

Directory Server

System service component

DS

Instant Messaging

System service component

IM

Message Queue

System service component

MQ

Messaging Server

System service component

MS

Portal Server

System service component

PS

Portal Server Secure Remote Access

Service quality: access component

PSRA

Service Registry

System service component

SR

Web Proxy Server

Service quality: access component

WPS

Web Server

System service component

WS

Release 4 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.

The Java ES Release 4 shared components are listed in the following table.

Table 1-2  Java ES Release 4 Shared Components

Shared Component

Abbreviation

Version

Jakarta ANT Java/XML-based build tool

ANT

1.6.2

Apache Common Logging

ACL

1.0.2

Berkeley Database

BDB

4.2.52

Common agent container

CACAO

1.1

Derby DataBase

DerbyDB

10.0.2.1

International Components for Unicode

ICU

3.2

Instant Messenger SDK

IM-SDK

6.2.8

JavaBeans™ Activation Framework

JAF

1.0.3

Java Studio Enterprise Web Application Framework

JATO

2.1.5

JavaHelp™ Runtime

JHELP

2.0

JavaMail™ Runtime

JMAIL

1.3.2

Java Architecture for XML Binding Runtime

JAXB

1.0.4

Java API for XML Processing

JAXP

1.2.6

Java API for XML Registries Runtime

JAXR

1.0.7

Java APIs for XML-based Remote Procedure Call) Runtime

JAX-RPC

1.1.2

Java Calendar API

JCAPI

1.2

Java Dynamic Management™ Kit Runtime Library

JDMK

5.1.1

Java Security Services

JSS

4.1

KT Search Engine

KTSE

1.3.2

LDAP C SDK

LDAP C SDK

5.12

LDAP Java SDK

LDAP J SDK

4.17

Mobile Access Core

MA Core

6.2

Netscape Portable Runtime

NSPR

4.5.2

Network Security Services

NSS

3.10

SOAP Runtime with Attachments API for Java

SAAJ

1.2.1

Simple Authentication and Security Layer

SASL

2.19

Sun Java Enterprise System Monitoring Framework

MFWK

2.0

Sun Java Web Console

SJWC

2.2.4

Web Service Common Library

WSCL

1.0

Zip Compression Library

Zlib

1.1.4


About Java ES Upgrades

The upgrade of Java ES software to Release 4 is not generally performed using the Java ES installer or any other system utility. It is performed component-by-component, computer-by-computer, using component-specific upgrade procedures.

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 impact 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:

These two aspects of component upgrades are described in this Upgrade Guide for each of the Java ES product components.

The Upgrade Guide also covers other important aspects of product component upgrades, including:

Shared Component Upgrades

Java ES shared component upgrades are often a necessary part of upgrading the product components that depend on them.

The upgrading of shared components is typically more straightforward than the upgrading of product components. In general, the upgrade is achieved through the application of patches to existing packages or the replacement of existing packages. As compared to upgrading product components, there is normally no re-configuration required, nor pre or post upgrade procedures to be performed. While shared components can be upgraded one by one. For more information see, Chapter 2, "Upgrading Java ES Shared Components".

Upgrade Technologies

The upgrade of both product components and shared components, as described in this Upgrade Guide, involves the modification or replacement of currently installed software packages and, in some cases, the installation of new packages. On HP-UX similar technologies are employed for managing installed software packages and tracking changes through a package registry.

The Java ES packages can be installed and removed through the HP-UX swinstall and swremove commands, using packages found on the Java ES software distribution. Package contents, once installed, can be modified using patches that are applied or removed through the swinstall and swremove commands.

Patches to HP-UX packages are distributed through the SunSolve website at: http://sunsolve.sun.com.

HP-UX patches can patch one or more packages. The swinstall command saves a backup of the package being patched to facilitate the removal of the patch using the swremove command. Patches are identified by a patch ID, which consists of a patch number followed by a revision number that is incremented as the patch is modified over time.

Operating System Issues

The operating system issues impacting the upgrading of Java ES software are as described below:

Required Operating System Patches

In some situations, the successful upgrade of a Java ES product component can require you to first patch the operating system or apply specific fixes. Rather than applying the specific operating system patch required in each case, it is generally preferable to simply bring the operating system up to date before performing Java ES upgrades.

HP-UX platform update releases are available at:

http://www1.itrc.hp.com/service/patch/releaseIndexPage.do?BC=patch.breadcrumb.main%7C&admit=-682735245+1129885420506+28353475

Select “Jun’04(11.11 Support Plus)”


Upgrade Planning

The approach you take for upgrading a deployed Java ES Release 3 software system to Java ES Release 4 can depend on many factors:

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 possible to achieve that end with minimal downtime.

These two examples represent upgrade scenarios of very different complexities, requiring substantially different upgrade plans.

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

What is an Upgrade Plan?

An upgrade plan specifies how to approach each stage of the upgrade process. This process involves, at a minimum, the phases shown in the following table.

Table 1-3  Phases in the Upgrade Process

Upgrade Phase

Description

Preparation

You develop an upgrade plan. In it, you specify the Java ES components you need to upgrade and the sequence by which you need to upgrade those components on the various computers in your system. You also plan how to test upgrade procedures in a staging environment before executing them in your production environment. In this step, you also back up your current system and test your ability to restore it to its current configuration.

Execution

You obtain all the necessary packages, patches, and tools needed for the upgrade. You execute the upgrade and re-consideration of your Java ES deployed system in a staging environment. This involves the backup of configuration and application data, the upgrade of system software, and the re-configuration or migration of data to the upgraded system.

Verification

You start up the upgraded software components and perform verification tests as you proceed. If verification is not successful, and problems cannot be resolved within a reasonable time frame, you might be forced to roll back the upgrade and restore the system to its previous state.

Rollback/restoration

You restore the system to its previous state as specified in the preparation phase. You also perform tests to verify that the rollback is successful.

Upgrade Paths

Because of the different characteristics of the Release 3 to Release 4 on HP-UX, upgrade paths involves upgrade from JES3 to JES4, and because the upgrade procedures for product components often depend on the upgrade path, the separate chapters in this Upgrade Guide describing the upgrade of each product component is captured.

The upgrade path to Java ES Release 4 are described in the following table:

Table 1-4  Upgrade Paths to Java ES 2005Q4 (Release 4)

Product Number

JavaES
Release

Upgrade Characteristics

Upgrade Strategies

2005Q1

Release 3

Java ES Release 4 supports a mixture of Release 3 and Release 4 components on a single computer. This includes both product components and shared components. Compatibilities between Release 3 and Release 4 components have been tested, and any known incompatibilities are noted in the Java Enterprise System Release Notes (http://docs.sun.com/app/docs/doc/819-2329).

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

Upgrade Dependencies

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

In this respect, there are two types of upgrade dependencies:

Upgrading a Java ES component requires you to upgrade all the components upon which it has hard upgrade dependencies, but allows you to not upgrade components upon which it has soft upgrade dependencies.

This general rule does not necessarily apply, however, when multiple interdependent components are involved in an upgrade. In such cases, you have to upgrade a component if only one of several other Java ES components has a hard upgrade dependency on that particular component.

Upgrade All

Java ES Component Dependencies

As mentioned in the previous section, an upgrade plan specifies the Java ES components you need to upgrade and the sequence by which you need to upgrade those components. One of the important considerations in an upgrade plan is the dependencies between the various Java ES components in your deployed system.

This section provides information about Java ES component dependencies. The following dependency factors impact your upgrade plan.

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

Dependencies On Shared Components

When upgrading Java ES product components, you have to take into account dependencies these Java ES components have on Java ES shared components.

When a product component has a hard upgrade dependency on a shared component, the shared component also must be upgraded.

Shared Component Dependency Matrix

Table 1-6 shows the dependencies of Java ES 2005Q4 (Release 4) product components on Java ES shared components. The abbreviations for product components that head the columns of Table 1-6 are taken from Table 1-1. The abbreviations for shared components are spelled out in Table 1-2.

Directory Preparation Tool (DPT) is not included in Table 1-6 because it has no dependencies on shared components. Service Registry (SR) and Web Proxy Server are omitted because they are new product components for which to upgrade previous version from which to upgrade.

Within the matrix of Table 1-6 hard upgrade dependencies for Release 3 to Release 4 upgrades are marked “H,” while soft upgrade dependencies are marked “S.”

Table 1-6  Shared Component Dependencies of Java ES Release 4 Product Components

Shared Component

AM

ADS

AS

CS

DA

DPS

DS

IM

MQ

MS

PS

PSRA

WS

ANT

 

 

S

 

 

 

 

 

 

 

 

 

 

ACL

S

 

 

 

 

 

 

 

 

 

 

 

 

BDB

S

 

 

 

 

 

 

 

 

 

 

 

 

CACAO

 

 

 

 

 

 

 

S

 

 

 

 

 

ICU

 

S

S

S

 

S

S

 

 

H

S

 

S

IM-SDK

 

 

 

 

 

 

 

H

 

 

S

 

 

jJAF

S

 

S

 

 

 

 

S

S

 

S

S

 

JATO

S

 

S

 

S

 

 

 

 

 

S

 

 

Java Help TM

S

 

S

 

 

 

 

 

S

 

 

 

 

Java Mail TM

S

 

S

 

 

 

 

S

S

 

S

S

 

JAXB

S

 

S

 

 

 

 

 

 

 

 

 

 

JAXP

S

 

S

 

 

 

 

S

S

 

S

S

 

JAXR

S

 

S

 

 

 

 

 

 

 

 

 

 

JAX-RPC

S

 

S

 

 

 

 

 

 

 

 

 

 

JCAPI

 

 

 

 

 

 

 

S

 

 

 

 

 

JMDK

 

 

S

 

 

 

 

S

 

 

 

 

 

JESMF

 

 

 

 

 

 

 

S

 

 

 

 

 

JSS

S

S

S

S

S

S

 

S

 

 

S

S

 

KTSE

 

 

 

 

 

 

 

 

 

 

S

 

S

LDAP C SDK

 

S

 

S

S

S

 

 

H

 

 

 

S

LDAP JSDK

S

S

 

 

S

S

S

 

 

 

 

 

 

MA Core

S

 

 

 

 

 

 

 

 

 

H

H

 

MFWK

 

 

 

 

 

 

 

H

 

 

 

 

 

NSPR

S

S

S

S

S

S

S

S

S

H

S

S

H

NSS

S

S

S

S

S

S

S

S

S

H

S

S

H

SAAJ

S

 

S

 

 

 

 

 

 

 

 

 

 

SASL

S

S

 

 

 

 

 

 

 

 

 

 

 

SEDC

 

 

 

 

 

 

 

 

 

 

 

 

 

SJWC

S

 

S

 

 

 

 

 

 

 

 

 

 

WSCL

S

 

S

 

 

 

 

 

 

 

 

 

 

ZLIB

 

 

 

 

 

 

 

 

 

 

 

 

H

The dependencies shown in Table 1-6 for any product component represent both direct and indirect shared component dependencies. In other words, a product component might depend on a specific shared component that, in turn, depends on one or more other shared components. The shared component dependencies shown in Table 1-6 include all such indirect dependencies. The following figure illustrates inter-dependencies among shared components.

Figure 1-1  Shared Components Inter-dependencies

Shared Component Upgrade Guidelines

Table 1-6 lets you determine the shared components to upgrade when upgrading one or more product components on a given computer:

Release 3 to Release 4 Upgrades. If you are upgrading all product components from Release 3 to Release 4, all the shared components indicated in Table 1-6 for the respective product components should be upgraded.

Even if you are selectively upgrading product components, however, it is the recommended practice to upgrade the shared components needed by all product components on the computer; Release 4 shared components are certified to support Release 3 product components.


If no hard upgrade dependencies are involved, you might not upgrade shared components at all. However, as a general rule, it is a good practice to upgrade your underlying Java ES shared component base to the most current versions.



Note

The sequence of upgrading shared components can depend upon the shared component inter-dependencies shown in Figure 1-1.

Also, if you plan to upgrade J2SE to J2SE 5.0, you should upgrade this shared component first. J2SE is the base component for many Java ES components.


For information on how to upgrade shared components, refer Chapter 2, "Upgrading Java ES Shared Components,".

Dependencies On Product Components

Dependencies of one product component on another are an important determinant of the Java ES components you need to upgrade and the sequence by which you need to upgrade them. Dependencies on product components fall into two general categories: runtime dependencies and configuration dependencies.

Table 1-7 shows the dependencies between the Java ES product components listed in Table 1-1. Using Table 1-7, you can diagram the chain of dependencies in your upgrade set. The left column lists each product component, the middle column shows its dependencies on other product components, the third characterizes each dependency, and the last column indicates whether or not the respective components must be local.

Table 1-7  Java ES Product Component Dependencies

Product Components

Dependencies

Nature of Dependencies

Must be Local

Access Manager

Directory Sever

To store configuration data and enable lookup of user data

No

J2EE web container, one of:

  • Application Server
  • Web Server

To provide web container runtime services

Yes

Access Manager SDK

Access Manger

To provide Access Manager services

No

J2EE web container, one of:

  • Application Server
  • Web Server

To provide web container runtime services

Yes

Administration Server

Directory Server

To provide configuration directory

No

Application Server

Message Queue

To provide reliable asynchronous messaging

Yes

Web Server (optional)

To provide load balancing between instances

No

Calendar Server

Directory Server

To store and enable lookup of user data

No

Directory Preparation Tool

To prepare directory for use by Calendar Server

No

Access Manager (optional)

To provide a single sign-on

No

Messaging Server (optional)

To provide email notifications

No

Delegated Administrator (optional)

To provision users for calendar services

No

 

 

 

Communications Express

J2EE web container, one of:

  • Application Server
  • Web Server

To provide web container runtime services

Yes

Directory Server

To store and enable lookup of user data such as address books

No

Directory Preparation Tool

To prepare directory for use by Communications Express

No

Access Manager or Access Manager SDK

To provide authentication and authorization services, single sign-on

Yes

Messaging Server

To provide web-based access to messaging

No

Calendar Server

To provide web-based access to calendaring

No

Delegated Administrator

J2EE web container, one of:

  • Application Server
  • Web Server

To provide web container runtime services

Yes

Directory Server

To store user data

No

Directory Preparation Tool

To prepare directory for use by Delegated Administrator

No

Access Manager or Access Manager SDK

To provide API needed for user provisioning

Yes

Directory Preparation Tool

Directory Server

To provide user/group directory that it is preparing for use by communications components

Yes

Directory Proxy Server

Administration Server

To configure Directory Proxy Server

No

Directory Server

To provide access to Directory

No

Directory Server

Administration Server

To provide Directory Server

No

Instant Messaging

J2EE web container, one of:

  • Application Server
  • Web Server

To provide web container runtime services

Yes

Directory Server

To provide access to a directory

No

Access Manager (optional)

To provide a sign on

No

Message Queue

None

 

 

Messaging Server Store

MTA

MMP

MEM

Directory Server

To store configuration data and enable lookup of user data

No

Administration Server

To store configuration data in Directory Server configuration directory

Yes

Directory Preparation Tool

To prepare directory for use by Messaging Server

No

Access Manager (optional)

To provide a sign-on

No

Delegated Administrator

To provision users for messaging services

No

Portal Server

J2EE web container, one of:

  • Application Server
  • Web Server

To provide web container runtime services

Yes

Directory Server

To store configuration data and enable lookup of user profiles

No

Access Manager or

Access Manager SDK

To provide authentication and authorization services, single sign-on

Yes

Communications Express

To provide messaging and calendar channels

No

Portal Server Secure Secure Access

Portal Server

To provide access to portal

Yes

Access Manager or

Access Manager SDK

To provide authentication and authorization services, single sign-on

Yes

Web Server

None

 

 

Web Proxy Server

None

 

 

Service Registry

None

 

 

Multi-instance Upgrades

The sequence of upgrade procedures can depend on whether and how redundancy is being used in a deployment architecture. Multiple instances of a Java ES component can be used to achieve high availability, scalability, serviceability, or some combination of these service qualities. There are three technologies that make use of redundant components in Java ES deployment architectures: load balancing, high availability techniques (High Availability Session Store), and multimaster replication (Directory Server).

In most cases where redundancy is involved, it is desirable to perform upgrades without incurring downtime. These rolling upgrades attempt to successively upgrade redundant instances of a component without compromising the service that they provide.

In most cases the redundant instances are deployed across multiple computers. From an upgrade planning perspective, this might imply isolating the upgrade of such replicated components from other component upgrades in order to achieve minimal downtime. In other words, you might perform all the pre-upgrade tasks for the component on each computer before performing a rolling upgrade of the replicated component.

Each replication technology has configuration or re-configuration procedures that might affect the overall sequence of Java ES component upgrades.


General Sequencing Guidelines

The factors discussed in the previous sections can all impact which Java ES components you plan to upgrade as well as the order in which you upgrade them. These factors also influence your approach to upgrading Java ES components that are deployed across multiple computers. The specific impact of all these factors depends on your deployment architecture.

Nevertheless a few general sequencing guidelines apply, though not in every case. The following list provides the order in which Java ES components can be successfully upgraded on a single computer or in a deployed system. When performing an upgrade, simply omit those components that are not part of your deployment architecture, or, if you are performing a selective upgrade, omit those components which are not part of your upgrade plan.



Note

The chapters in this Upgrade Guide are arranged according to the order you would normally upgrade Java ES components, as indicated by these sequencing guidelines.


    Shared components should generally be upgraded before the components which depend on them.

  1. Directory Server and Administration Server (See Chapter 3, "Directory Server and Administration Server".)
  2. 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.

  3. Directory Proxy Server (See Chapter 4, "Directory Proxy Server".)
  4. Directory Proxy Server has a hard upgrade dependency on Directory Server and Administration Server and is therefore upgraded after Directory Server and Administration Server. Other components might access Directory Server through Directory Proxy Server.

  5. Web Server (See Chapter 5, "Web Server".)
  6. 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.

  7. Message Queue (See Chapter 6, "Message Queue".)
  8. Message Queue, if upgraded, is best upgraded before Application Server, which requires Message Queue to be Java 2 Enterprise Edition (J2EE) compliant.

  9. High Availability Session Store (See Chapter 7, "High Availability Session Store".)
  10. High Availability Session Store, if upgraded, is best upgraded before Application Server, which requires High Availability Session Store for high availability.

  11. Application Server (See Chapter 8, "Application Server".)
  12. 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.

  13. Access Manager (See Chapter 9, "Access Manager".)
  14. Access Manager plays a central role in authentication and authorization, including single sign-on, and, if upgraded, 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.

  15. Directory Preparation Tool (See Chapter 10, "Directory Preparation Tool".)
  16. Directory Preparation Tool depends on the Directory Server schema and should therefore be run against Directory Server. If upgrading Directory Preparation Tool, it should be upgraded before you upgrade the communications components that depend on Directory Preparation Tool to make changes in the directory: Messaging Server and Calendar Server.

  17. Messaging Server (See Chapter 11, "Messaging Server".)
  18. Messaging Server, if upgraded, should be upgraded only after the preceding upgrades and should be upgraded before Communications Express, which has a dependency on Messaging Server components.

  19. Calendar Server (See Chapter 12, "Calendar Server".)
  20. Calendar Server, if upgraded, should be upgraded after Messaging Server since some of its functions require Messaging Server support. Calendar Server should be upgraded before Communications Express, which has a dependency on Calendar Server.

  21. Communications Express (See Chapter 13, "Communications Express".)
  22. Communications Express, if upgraded, depends on many of the preceding components (Calendar Server, Messaging Server, Directory Preparation Tool, Access Manager, Web Server, and Directory Server) and, if upgraded, should be upgraded after them.

  23. Instant Messaging (See Chapter 14, "Instant Messaging".)
  24. Instant Messaging, if upgraded, can be upgraded at almost any point after Access Manager has been upgraded.

  25. Portal Server (See Chapter 15, "Portal Server".)
  26. Portal Server, like Communications Express, depends on many of the preceding components, but in particular, it depends on Communications Express to provide messaging and calendar channels, and, if upgraded, should therefore be upgraded after Communications Express.

  27. Portal Server Remote Access (See Chapter 15, "Portal Server".)
  28. Portal Server Secure Remote Access, if upgraded, can be upgraded anytime after Portal Server has been upgraded.

  29. Delegated Administrator (See Chapter 16, "Portal Server Remote Access".)
  30. Delegated Administrator, if upgraded, can be upgraded and used to provision users any time after Directory Preparation Tool has been upgraded and run against Directory Server. By convention, users are provisioned after other services have been upgraded and started, however, Delegated Administrator can be upgraded before upgrading the communications components that depend on Delegated Administrator for provisioning users.



    Note

    On HP-UX, we do not have HADB server. Hence, for the load balancing feature we use HADB over Solaris platform.




Previous      Contents      Index      Next     


Part No: 819-4460-10.   Copyright 2006 Sun Microsystems, Inc. All rights reserved.