Sun Java System Application Server Enterprise Edition 8.2 Upgrade and Migration Guide

Migrating Applications from Application Server 7

This sections contains the following topics:

Migrating Rich Clients

Migrating rich clients that are deployed in Application Server 7 PE/SE to Application Server 8.2 is rather simple. The deployment descriptors used in Application Server 7 can be used as is in Application Server 8.2. However, if you wish to enable loadbalancing and failover features in your client applications, you need to configure the loadbalancing and failover capabilities in the deployment descriptors.

ProcedureTo Migrate Rich Clients from 7 PE/SE to 8.2 EE

  1. Identify the components which were installed previously.

  2. Find out the server-instances, using asadmin command or through the directory listing.

    The asadmin command requires administration instances to be running. However, administration instances need not be running if the directory listing is used to identify the instances.

  3. In the server.xml file, add the following jvm-options under jvm-config element to enable RMI/IIOP failover feature:

    <jvm-config java-home=path...server-classpath=path>
      <jvm-option>
        Dorg.omg.PortableInterceptor.ORBInitializerClass.
    com.sun.appserv.ee.iiop.EEORBInitializer
      </jvm-option>
      <jvm-option>
        Dorg.omg.PortableInterceptor.ORBInitializerClass.
    com.sun.appserv.ee.iiop.EEIORInterceptorInitializer 
      </jvm-option>
      <jvm-option>
        Dcom.sun.CORBA.connection.ORBSocketFactoryClass=
    com.sun.appserv.enterprise.iiop.EEIIOPSocketFactory 
      </jvm-option>
    </jvm-config>
  4. Update the availability-service element with availability-enabled flag set to True:


    <availability-service availability-enabled="true">
      <persistence-store>
        <property-name="store-pool-jndi-name" value="" />
        <property-name="cluster-id" value="cluster1" />
      </persistence-store>
    </availability-service>
  5. Modify the server classpath entry under the java-config element to include:

    install_dir/SUNWhads/4.2.2-17/lib/hadbjdbc.jar;

    install_dir/lib/appserv-rt-ee.jar

  6. Add the following jvm-option under the java-config element:


    <jvm-option>

    Dcom.sun.aas.hadbRoot=install-dir/SUNWhadb/4.2.2-17


    </jvm-option>
  7. Update the sun-acc.xml with the following new load-balancing properties:

    <property-name="com.sun.appserv.iiop.loadbalancingpolicy" 
                        value="ic-based" />
    <property name="com.sun.appserv.iiop.endpoints" value=<host>:<port>" />

ProcedureTo Migrate Rich Clients From 7 EE to 8.2 EE

  1. Add the following jvm-option elements under the java-config element for enabling the RMI/IIOP failover feature. (To make the class names of the following jvm-option elements fit on the page, they have been split in two and carried to the next line. When adding them to your project, do not split them in two as they are here.)

    <jvm-config java-home=path...server-classpath=path>
      <jvm-option>
        Dorg.omg.PortableInterceptor.ORBInitializerClass.
              com.sun.appserv.ee.iiop.EEORBInitializer
      </jvm-option>
      <jvm-option>
        Dorg.omg.PortableInterceptor.ORBInitializerClass.
              com.sun.appserv.ee.iiop.EEIORInterceptorInitializer 
      </jvm-option>
      <jvm-option>
        Dcom.sun.CORBA.connection.ORBSocketFactoryClass=
              com.sun.appserv.enterprise.iiop.EEIIOPSocketFactory 
      </jvm-option>
    </jvm-config>
  2. Add the following entry in server.xml to setup the iiop-cluster.


    <iiop-cluster>
         <iiop-server-instance name=<server-name>>
             <iiop-endpoint id=orb-listener-id, 
                            host=hostname, 
                            port=orb-listener-port/>
        </iiop-server-instance>
    </iiop-cluster>
  3. Update sun-acc.xml with the following new entries:

    <property-name=¨com.sun.appserv.iiop.loadbalancingpolicy" 
                        value="ic-based" />
    <property name="com.sun.appserv.iiop.endpoints" 
              value="hostname:port" />

Migrating EJB Applications to Support SFSB Failover

Application Server 7 does not support failover of Stateful Session Beans (SFSB). Application Server Enterprise Edition 8.2 supports failover of stateful session beans on the HTTP and RMI/IIOP path. This section describes the procedure to migrate EJB applications from Application Server 7 SE/PE/EE to Application Server 8.2 EE to support SFSB state failover.

Migrating EJB Applications From 7 SE/PE/EE to 8.2 EE

To achieve high availability of EJB applications that use stateful session beans to persist the data, you need to configure a persistent store for each cluster of application servers, where client session information can be maintained across potential failures of individual appserver instances. In addition, the availability-enabled flag must be turned on for each server instance in the cluster.

Application Server 8.2 EE supports the failover of stateful session beans. In order to enable this feature in your EJB applications that were deployed to Application Server 8.2 EE, follow the steps below:

To migrate Entity beans from previous releases of Sun’s Application Server, follow the procedure described in Entity Beans.

SFSB failover is supported when the SFSB is accessed from EJBs, servlets, or Java Server Pages in applications executing in the same application server process. The SFSB can be accessed through either a local or remote interface.

To take advantage of SFSB state failover support, you need not edit the code. However, you need to provide all the configuration parameters needed for checkpointing the SFSBs in the Sun-specific deployment descriptor (sun-ejb-jar.xml) or in the server configuration file.

For detailed information on SFSB failover, see Stateful Session Bean Failover in Sun Java System Application Server Enterprise Edition 8.2 High Availability Administration Guide.