iPlanet Application Server 6.0 Service Pack 1 Release Notes

iPlanet Application Server

Release 6.0 Service Pack 1 for AIX

Release Notes

Updated February 26, 2001


Contents


What's New

Deployment Tool

In Service Pack 1, a completely new Deployment Tool has been developed. It provides:

Launching Deployment Tool: The old deployGUI.shas been replaced with the command deploytool.

Using the Command Line Interface

You can launch the Deployment through a deploycmd command line interface. The script for the interface is located in: <ias install dir>/ias/bin/deploycmd.

The command line usage syntax is as follows:

deploycmd -<option> [args...]

Where the options include:

Command Description
deploy Deploys a J2EE module/application.
createstubs Creates stubs and skeletons.
resreg Registers a data source.
getAllGroups Gets all the groups.
getAllUsers Gets all the users for a specified group.
getMembersOfRole Gets all the users/groups for a role.
mapRoles

Maps a role to the users/groups.

help Displays Help for the selected option.

To get help on a particular option, enter at the command line: deploycmd -help

For example: deploycmd -help -deploy provides a complete command description (command lists and usage) for the deploy option.

For more information about using and deploying your applications, see the online Help for the Deployment Tool .

Third Party JDBC Driver Support

Support has been added for using third party JDBC drivers in conjunction with standard J2EE JNDI-based datasource access, iPlanet Application Server connection pooling, and transaction management features.

Refer to the System Requirements section of this Release Note for detailed Type 2 JDBC Driver Support.

Also, refer to the iPlanet Application Server Installation Guide V6.0 SP1 for more information on installing third party JDBC drivers.

Un-registering Applications

To un-register your applications and provide verbose output if required, type:
j2eeappreg -remove [-verbose] ear-file

To un-register J2EE Application EAR file(s), you must supply the EAR file that was deployed to the ias/JAR/ directory when running j2eeappreg -remove. This EAR file should be representative of what was last deployed to the server instance.

Currently, the -remove option only de-registers the application from the iPlanet Application Server Registry. This feature does not remove application files (for example, JSPs, classes, etc.) from the deployment area (by default, <ias install>/ias/APPS/) of the file system. To fully un-deploy an application, remove the application files as well.

Control Command Script Enhancements

The iascontrol script now supports starting, stopping, and killing iPlanet Application Server instances via a command-line interface.

A superset of the now deprecated KIVAes.sh script is now available. Use iascontrol instead of KIVAes.sh.

Before using iascontrol on a local server:

  1. Use the Administration Tool (ksvradmin) to register the local server.
  2. If you do not register the local server, you will need to specify the host/port/name/password every time you run iascontrol.
iascontrol can start, stop, or force-kill local iPlanet Application Server instances.

For a registered server on the local machine type: iascontrol start | stop | kill

Where:

To use iascontrol to start and stop remote iPlanet Application Server instances:

Note:

iascontrol Commands:

Desired Affect Command
Graceful Shutdown of Engines (excluding the Admin Server) iascontrol stop
Graceful Shut Down of All Engines and Stopping the Admin Server (kas) iascontrol stop
iascontrol kill
Stopping all iAS Processes via Forced Kill iascontrol kill
Starting Engines and Admin Server (kas) iascontrol start

Installer Enhancements

The installation process has been enhanced by adding the following features: See the iPlanet Application Server Installation Guide V6.0 SP1 for more information.

Enhanced Sample Applications

The sample applications distributed after the release of iAS 6.0 have been further enhanced and packaged in this Release. For details, refer to the README section of the Sample Applications Launchpad at http://<webserver host>/ias-samples/index.html or <iAS install path>/ias/ias-samples/index.html.

Multiple Instances of iPlanet Application Server

Multiple installations of iAS on a single machine is now supported. See the iPlanet Application Server Installation Guide V6.0 SP1 for more information.

Third Party CMP Integration

iPlanet provides a simple single table mapping persistence manager reference implementation. The reference implementation uses mapping information generated by the Deployment Tool. This is described in the iPlanet Application Server 6.0 Programmer's Guide. To access additional features, the mapping information file created by the Deployment Tool can be hand modified.. For example, custom finder methods are not supported by Deployment Tool but may be added to the mapping information file by hand. For more information, see the Known Issues section

Since the release of iPlanet Application Server 6.0, THOUGHT, Inc. has integrated its existing CocoBase O/R mapping offering with iPlanet Application Server's pluggable CMP framework. CocoBase provides sophisticated generation tools, customizable implementations, a performant O/R runtime engine, and a wide assortment of supported database platforms. See the THOUGHT, Inc. web site for more details at http://www.thoughtinc.com/.


System Requirements

Hardware and Software Requirements

Device Requirement

Computer/Operating
system

IBM/RS6000, AIX 4.3.3.0.06
Memory Per CPU: 256 MB minimum; 512 MB recommended
Other software Support the following web server:
  • iPlanet Web Server 4.1 Enterprise Edition SP3
    Database connectivity software (see the following tables)

Database Requirements

Preexisting iPlanet Application Server Type 2 JDBC Driver Support (DAE2 and Native Client Libraries).
Database Client Database Server
(Oracle 8.0.5, Oracle 8.0.6)1 Oracle 8.0.5, 8i (8.1.5 and 8.1.6)2, 7.3.4
Sybase 11.1.1 Sybase 11.9.2, 12
DB2 5.2 DB2 5.2, 6.1
Informix 2.4 Informix Server 9.27 (IDS 2000)

New Third Party JDBC Driver Support

Driver Platform
Merant (Intersolv) SequeLink Java Edition 5.0 All OS platforms supported above.
RDBMS platforms supported by SequeLink.

For more information on installing, configuring, and switching between native and third party JDBC drivers, see the iPlanet Application Server Installation Guide V6.0 SP1. Refer to vendor documentation before installing these drivers. 

AIX specific notes

To check if the Operating System is set at Maintenance Level 6, enter the following command:

instfix -ik 4330-06_AIX_ML

The following confirmation is returned:

All filesets for 4330-06_AIX_ML were found

These filesets can be got from http://techsupport.services.ibm.com/cgi-bin/support/rs6000.support/downloads. Please also refer to the known issues section, for known issues and the workarounds for them. 

JDK Requirements

Arguments can be supplied to JDK via the JAVA_ARGS shell variable using kjs shell script.

For settings with JVM flags (particularly -Xms and -Xmx flags), specify the starting size and the maximum heap size used by each kjs engine. Allocate as much memory as possible for Java Object heaps without starving other applications that are running on the same server. The default starting heap size is 8MB. This setting grows automatically if the dataset is large. Starting with a large heap size helps avoid garbage collection later.

To set a limit on the growth of the heap, use the -Xmx flag. JDK documentation provides more information on these and other flags.

Application Compatibility

All previously registered J2EE applications will work with this Service Pack 1 release, without requiring any modifications. Please consider the following points:

Getting Started

The iPlanet Application Server 6.0 Service Pack 1 is distributed on two CDs: Insert the CD in your CD-ROM drive and run the setup program.

Using the Silent Installation Feature

The Silent Installation feature can install Application Servers on multiple AIX machines at the same time.

To use this feature:

  1. Run the setup -k command on Machine #1.
  2. Proceed with the installation program.
    A file called install.inf is generated in <install directory>/setup directory.
    A log file, called userinput.log, is generated in the <install directory>/ias directory. This log file contains all the input received during the installation procedure.
  3. Once the installation process is complete, copy these two files to the /tmp directory of Machine #2.
  4. Change the following keys in install.inf:

    • FullMachineName (machine name and IP address of Machine #1)
    • ConfigDirectoryLdapURL
    • UserDirectoryLdapURL
    • ServerIdentifier
    • ServerIpAddress

  5. Change the following keys in userinput.log:

    • LDAP_Hostname
    • LDAP_ServerIdentifier
    • LocalHostName
    • NSRootDir
    • CLUSTERNAME
    • nsinst
    • LocalIPAddress

  6. Enter the value of the LDAP_RootDNPwd (the password for the directory manager).
  7. Run the following command on Machine #2 to begin silent installation:

    setup -s -f <full path>/install.inf

  This command installs a replica of the Application Server that was installed on Machine #1. 

Modifying the iPlanet Application Server Java Runtime Environment Settings

iPlanet Application Server 6.0 Service Pack 1 supports the integrated Java 2 runtime environment. This environment is installed automatically during the installation process.

Setting Java Runtime's CLASSPATH

Before deploying Java applications to iAS (Java applications that require third party helper classes and/or frameworks that are not part of the J2EE deployment modules), ensure that the classes are made available via the CLASSPATH used by the Application Server.

Before starting the server, set the CLASSPATH ENVIRONMENT VARIABLE as required by the application.

Setting Java Runtime's Native Library Path

Include JNI and native libraries (from Java applications deployed to the App.Server) to the Java runtime environment, before using them. You can use the following command to set the path:

set LIBPATH

Disabling the "Just in Time" (JIT) Compiler

Use the following command to disable the JIT compiler:

-Djava.compiler=NONE

Running Java Message Service (JMS)

For more information on using JMS with iPlanet Application Server, see Appendix A of the iPlanet Application Server Java Programmer's Guide.

Enabling JMS :

  1. Go to <ias install dir>/jms/bin.
  2. Type jmssetup in a shelltool.
  3. Run jmsreg.
The JMS service is made available.

Java Message Service Sample Application

A new JMS sample application is available at <iASinstallpath>/ias/ias-samples/index.html. If the web server plugin is installed, the location is http://<webserverhost>ias-samples/index.html.

This sample replaces the JMS samples delivered alongwith the iPlanet Application Server 6.0 release.

Assembling and Registering J2EE Modules and Applications

Different tools are used to deploy applications to iAS. The kind of tool used to deploy an application depends on whether:

Some guidelines are given below:

Underlying Registration Command Line Interfaces

Although deploycmd is a mainstream deployment command line interface, there are several commands that effectively perform the registration portion of deployment against a local Application Server instance. For instance, the commands j2eeappreg, webappreg, and ejbreg register (they do not transfer), the EAR, WAR, and EJB JAR modules, respectively. Although j2eeappreg is supported for both operational and development deployments, webappreg and ejbreg are supported only for development deployments. In all cases, the use of deploycmd is strongly recommended for registering EAR, WAR, and EJB JAR files to iPlanet Application Server.

The new un-registration feature of j2eeappreg (-remove) is available only via deploycmd. In a subsequent release, the UN-registration, or "un-deployment" feature, will be added to the Deployment Tool.

Sample Application Build Facility

The sample applications include instructions and build scripts demonstrating command line tools to: These scripts demonstrate the raw structure of J2EE deployment descriptors and the method in which command line tools can be used to rebuild J2EE applications. These command-line build tools can be leveraged in developer environments. Although the command-line build tool is a convenient way to rebuild J2EE applications, the Deployment Tool is better suited for the tasks of J2EE development, assembly and modification..


Known Issues and Limitations

Resolved Issues

The following issues have been resolved in the iPlanet Application Server 6.0 Service Pack 1 release.

Core Server

ID Summary
384401 Authentication mechanism for multiple servlets works fine.
386862 KIVAes.sh script now shuts down gracefully.
387913 NAS4.0 SP2, NAS Plugin works fine with Custom Headers.
389033 Adding default-pool-size to the XML descriptor (for servlets) is not necessary anymore.
390701 Default value for stickiness of the servlet is no longer sticky.
392006 Context and security role reference descriptions are written to XML.
398585 Web server restart is not required anymore.
398590 The context root of Application.xml is now working.
399764 JSP can now include non-JSP files, when I18N is enabled.
400544 Authorization Servlet Stickiness: applications now work.
401078 Distributed servlet session updates are not lost (dsync-backed).
402264 iASAT now works properly if the locale of iAS and iASAT is different.
408701 Information that was missing in the iAS migration docs has now been incorporated.
419571 iAS can now host J2EE applications that are packaged as com.netscape or com.kivasoft.
430070 Cluster: Kill Primary, Backup kxs does not crash anymore.
453650 com.netscape.server.nas.BaseLogic.setTemplate() now displays DataSet data in browser. 
454549 Installer now dumps the core in the installation process
512409 JMS and Cluster Samples: HTML files are now accessible via web server docroot.

iPlanet Lightweight CMP Deployment Tool

ID Summary
392549 The Deployment Tool is able to define roles for manual deployment.
509101

When using registered EAR files, web content (JSPs, HTML, images, etc.) is now being being extracted under a directory, based on the web application name - rather than a directory name based on the J2EE application name.

This issue was making it difficult to include multiple WAR modules in an EAR file and to address the web content under each WAR module in the appropriate manner.

512495 Verifier in Deployment Tool no longer fails when ejb-link is not in web.xml.
513815 Database column names now appear in iPlanet Lightweight CMP tab of Deployment Tool after opening the descriptor of an EJB. The column names exist in the CMP XML file, but do not appear in the GUI.

Sample Applications

ID Summary
397618 Now a new user can be added to the Pet Store sample.
397620 The sign-in/sign-out status is now more reliable.
512533 Pet Store does not support IIS server.
512802 Bank sample: Quotes are now added dynamically around generated URLS in HREFs.
515694 To fully support container managed transactions, global transactions must be enabled.
NONE Pet Store: Non-oracle RDBMS issues encountered when placing an order with PetStore. A "Server 500" error message appears.
Workaround: The OrderDAOclass relies on some database-specific classes for implementing the OrderEJB. To use the correct OrderDAO implementation class, the OrderDAO class checks for the name of the database in use by calling dbConnection.getMetaData().getDatabaseProductName(). Using jConnect 5.2, the string "Sybase SQL Server" is returned, but the OrderDAO code checks only for startsWith("Oracle"), equals("SQL Server"), and equals("DBMS:cloudscape"). To fix this problem, add another check for startsWith("Sybase") and instantiate the existing implementation class OrderDAOSybase when startsWith("Sybase") is true.

Known Issues

The following issues have been addressed in this release and workarounds are provided.

Installation

Summary Workaround
iAS uses the SPMI features of AIX which require super user privileges. iAS on AIX needs to be installed as a root user. To install as a different user, specify read permission for the files /dev/mem and /dev/kmem for all the users.

Administration Tool

ID Summary Workaround
495501 Admintool: limitation in configuring third party JDBC drivers. Use kregedit to configure all third party JDBC drivers.

Core Server

ID   Summary
445289 A maximum of only three third party drivers can be configured with the Application Server. To configure more than three third party drivers, use the post-install configuration tools.
468309 The Installer fails if the server identifier is not set to the default value. When installing the iPlanet Directory Server, the default setting for the Directory Server instance name should be retained. The default setting is "hostname." 
481221 Unable to connect when using Rowset for 3rd party drivers. Looking up RowSet from JNDI lookup has not been implemented. Construct a RowSet object directly, by setting the URL to make the underlying connection.
500941 Applications deployed with data models do not work on a remote host. Add ORACLE_HOME and TNS_ADMIN to the system variables and reboot the system.
506541 Some issues surfaced when IIOP is used to access EJBs. To avoid these issues, use HTTP and XML to communicate between clients and EJBs. HTTP is used to interact with servlets and/or JSPs which in turn interface to EJBs.
509761, 512803 Web container: JSPs that dynamically generate HREFs where the URLs are not enclosed within quotes result in URLs that are not re-written. Always use quotation marks around URLs. 
512452 The command line setting of host and port for RMI/IIOP clients has to be set. The following properties need to be passed to Java when running the Client: 
-Dorg.omg.CORBA.ORBInitialHost=<CXS Host> -Dorg.omg.CORBA.ORBInitialPort=<CXS IIOP Port> 
For example, java -Dorg.omg.CORBA.ORBInitialHost=pico -Dorg.omg.CORBA.ORBInitialPort=9010 com.netscape.tests.RC.unit.metadata.RemoteClient pico
516590 There are namespace collisions in EJBs. Assemblers should use a Java-oriented package name for the EJB name field, to avoid namespace collisions. For example, use "com.iplanet.ias.bank.ejbs.BankService" instead of using "BankService". Doing so will ensure that the entry for this bean in the Application Server Registry will be a qualified name and is not likely to conflict with beans from other vendors or applications.
516628 Problems using the same filename for WAR and EJB JAR modules. The 6.0 SP1 release of the Application Server does not support usage of the same filename for WAR and EJB JAR modules.
516631 Naming collisions with EJB JAR and WAR module names. Server modules are identified by their preliminary filenames (the first part, before the dot), which should be unique. Use a Java package-like naming scheme for module filenames, EAR filenames, EJB names as found in the <ejb-name> portion of the ejb-jar.xml files. The use of this package-like naming scheme ensures that name collisions do not occur. The benefits of this naming practice apply not only to the iPlanet Application Server, but to other J2EE Application Servers as well.

Database Support

ID Summary Workaround
369014 escapeSyntax is supported for Oracle database only in this release.  
402289
413008
JDBC getMetaData() is not supported.  
421259 DB2 jdbcMultipleSP problem on. The stored procedure CaluInt2 returned '0' instead of '1' when called to INSERT using executeUpdate().  
NONE A J2EE application EAR file cannot be unregistered. To unregister J2EE Application EAR file(s), the user must supply the EAR file that was deployed to the ias/JAR/ directory when J2eeappreg -remove was run . This EAR file should be representative of what was last deployed to the server instance.
NONE Using the callable statement getString() returns the correct string, but the wrong string length is displayed when using native driver.  

Deployment Tool

ID   Summary
457769

java.rmi.RemoteException:
CORBA OBJ_ADAPTER
changed during rich client functionality test.

To avoid this problem, do not write methods that begin with an underscore.
486741 Stateful session bean fails upon implementation. The timer thread does NOT async state saves.
511901 Deployment tool: Need to document the third party datasource registration feature.  
512690 Independent classes have to be manually inserted into a module. Edit the classpath field in the Edit Preferences dialog to include jars/folders on which insertion elements have dependencies. Full responsibility has to be taken to ensure that all classes required by the application are available during iAS runtime.
512808 Registration errors are sometimes encountered, when deploying to multiple Application Server instances in the same cluster (where a common directory server is shared to house the iPlanet Application Server Registry). This could be due to concurrent additions and deletions occurring in the same areas of the Registry.

Deploy the application to the Application Server instances in a sequential manner.

A new feature will be added in the next version of the Deployment Tool to enable sequential deployment to Application Servers that are in the same cluster.

513266 The home directory that was set through the Preference Dialog is lost. This happens a different directory is chosen while creating a new archive. This will be fixed in the next release.
513618 Unable to edit context root when modifying an EAR file. Save the newly generated EAR file and close it. Re-open the EAR file and modify the context root(s).
513979 XXX-RmiCorba.jar is not created while deploying an EjbJar to Rich Clients. Create an EAR file and add the EjbJar to it, for generating the XXX-RmiCorba.jar file required for Rich Client deployment. At least one primary key must be specified for the CMP Bean.
NONE Drag-n-drop is not implemented in the Component view. Use the File view to drag-n-drop.
NONE Context root appears in the WAR descriptor editor instead of in the EAR descriptor editor. This will be moved to the EAR descriptor editor in the next release.
NONE Encountering a "class not found" exception.

Add the class to the user preferences. Also, set the dependency classes for them.

NONE When editing an EAR file, the context root for a WAR module appears in the WebApp descriptor.
Modify the context root at the WAR level and save the EAR file.

J2EE

ID   Summary
461449 The convert2jsp11 utility puts duplicate information into an already converted JSP file. To avoid this problem, find out if the + init( ) function already exists in the JSP file.
404585 JSP result caching: positiveCachingWithOR.jsp does not work properly. JSP caching does not work properly with OR caching criteria. Caching happens only when ?y=10 is specified at the URL. However, caching does not happen with ?x=24(checker), This problem will be addressed in during iAS Service Pack 2 release.

iPlanet Lightweight CMP Deployment Tool

ID   Summary
513914 The Deployment Tool GUI does not support specification of custom finders. Custom finder information for CMP Entity Bean has to be added manually outside the Deployment Tool GUI. See J2EE Developer's Guide Product EJB example for details (ias/ias-samples/j2eeguide/docs/index.html). The workaround is based on expanding the EJB JAR file after assembling it, using the Deployment Tool. Once the JAR is expanded, modify the CMP XML file by adding the custom finder information.
513918 The Deployment Tool does not support re-ordering of CMP Entity Bean variables and database columns. The resulting CMP XML causes the CMP engine to insert incorrect data into the wrong database columns. See J2EE Developer's Guide Product EJB example for details (ias/ias-samples/j2eeguide/docs/index.html). After expanding EJB JAR file, modify the allFiles section in the CMP XML file to order the fields based on the order of the columns in the database. 


Documentation Errata

This is incorrect, as NAS2.1 UCI programing is NOT supported in iAS6.0 and will not be supported in future releases.

To get the session shared, the scope value needs to be set to the same value as appName in NAS.

These should read jmssetup and jmsreg. They are located in the jms/bin directory of the iPlanet Application Server installation.

The timer thread does NOT async state saves.


Reporting Problems

Online and telephone Technical support can be found at: http://iplanet.com/support/online/.


For More Information

For all iPlanet Application Server documentation, including the Installation Guide, and updated Release Notes, refer to: http://docs.iplanet.com/docs/manuals/ias.html

Copyright © 2000 Sun Microsystems, Inc. Some preexisting portions copyright © 2000 Netscape Communications Corp. All rights reserved.

--Pladge_of_Wasps_394_000--