Borland Enterprise Server 5.2 Release Notes

About Borland Enterprise Server

The Borland Enterprise Server is available in three "Editions":

Each Edition builds upon the tools and services of its predecessor. The most basic is the Web Edition; the most versatile is the AppServer Edition. If desired, you can upgrade from one Edition to another. This release note is applicable to all of these Editions.

Note: For additional information specific to the VisiBroker Edition and VisiBroker standalone, see the release notes appropriate to the respective platforms.

Getting started

This section contains important information concerning the following areas:

Installing

For information on how to install Borland Enterprise Server, please refer to the Installation Guide. If you are upgrading, see Upgrading from previous versions.

Important note for JBuilder8 users: JBuilder 8 Enterprise includes and works with BES 5.1.1. In addition, BES 5.2 is certified to be used with JBuilder8 for application development. To use JB8 with BES 5.2, users must apply a patch to JBuilder8, as described in: JB8 patch required with BES 5.2.

The following table describes the two "install types":

Borland Enterprise Server Complete Installs a BES server and all components required to run any Edition.
Borland VisiBroker Standalone Installs a self-contained VisiBroker installation - just the VisiBroker ORB or VisiBroker Management Console without any J2EE components.

Note: The Borland VisiBroker Standalone installation is not to be confused with BES VisiBroker Edition. The former is an install type, the latter licensing purchased for BES. Both install types are available with all BES Editions.

If you have a previous installation of Borland AppServer or Borland Enterprise Server installed, do not install on top it. Remove the previous version or install Borland Enterprise Server in a separate directory.

Before installing, ensure that you have read and complied with the all platform requirements, including J2SE. See the Platform information section for detailed requirements.

Licensing

Borland Enterprise Server licensing technology governs the level of features available. You can upgrade your license at any time. For example, you can upgrade from one edition to another, from an evaluation to development license, or to a runtime license. You can manage your server's license using the Borland Enterprise Server Management Console.

A fully licensed installation on UNIX may emit the following licensing error message when using tools like idl2cpp or VBJ.

There is no valid license to run this
product or component. Please make sure that a license enabling this product
or component is installed correctly and it has not yet expired.

These tools require access to appropriate environment variables. Prior to running these tools, use the vbroker.csh (for C-Shell) or vbroker.sh (for Bourne and KornShell, bash) scripts in the installation's bin directory to set up the appropriate environment variables. Building the examples requires invoking a number of these tools; if you wish to compile the examples on UNIX or Linux, you must invoke the setup scripts first. This behavior is as designed.

When an appropriate license is presented to the Borland Enterprise Server, client license Serial Numbers and Activation Keys are generated automatically. You can find the Serial Number and Activation Key in the file:

<your_install_root>/var/servers/<server_name>/adm/client.license

Running

To run the Borland Enterprise Server, navigate to its bin subdirectory and type ias. In Windows, choose Start|Programs|Borland Enterprise Server. Refer to the Borland Enterprise Server User's Guide in the online Help Topics for more detailed information.

To use the Java-based Management Console, navigate to your installation's bin directory and type Console. The Management Console allows you to browse, control, and configure the server, as well as deploy applications to it. In Windows, choose Start|Programs|Borland Enterprise Server|Management Console. Refer to the Borland Enterprise Server User's Guide in the online Help Topics for more detailed information.

When the Management Console starts, a Login dialog appears. All servers are installed with a default user named admin. The password for this user is admin as well.

Enabling Security

By default, security is disabled for the user domain on Partitions in the Borland Enterprise Server. To enable security on a Partition:

  1. Launch the Management Console and access the Servers view.
  2. On the Navigation tree, locate your Partition, right-click and select configure.
  3. In the Configure dialog box, go to the Security tab.
  4. Select the Security enabled check box.
  5. Click OK.
  6. When prompted for a restart, restart the Partition.

New in this release

The following features have been introduced in Borland Enterprise Server 5.2.

JDK 1.4 support

Applications can now be run on either JDK 1.4 or JDK 1.3.1. The BES installer will always install both JDKs, but prompts the user to select the default JDK for new partitions. You can change the partition JDK using the Partition properties dialog in the BES Management Console. For more information, see the BES "User's Guide" in the online Help Topics.

Note: IBM AIX does not support running applications on JDK 1.4.

Hosting of archives that reside outside the Partition footprint

Application archives can now be hosted by a Partition by providing a local filesystem path to the Partition. The Management Console has a new Partition tree node, "Hosted Modules", that is used to manage these application archives.

This feature is in addition to the existing ability to remotely deploy application archives to a Partition. These application archives continue to be managed under the Partition tree node "Deployed Modules".

See "Deployed Modules" in the BES User's Guide in the online Help Topics for details.

Hosting of exploded archives

Unpacked application archives are archives that appear on disk as a directory structure containing the unpacked, un-jared archive. To host an unpacked application archive, provide its top-level directory as a "Hosted Modules" filesystem path.

This feature is supported for all archive types except EARs. See "Deployed Modules" in the BES User's Guide in the online Help Topics for details.

Hosting Partitions that reside outside the server footprint

Partitions whose complete footprint resides at some user-supplied local filesystem path can now be managed.

See "Explicitly-Pathed Partitions" in the BES User's Guide for details.

Partition lifecycle interceptors

User code to be invoked at various points in a Partition's lifecycle can be deployed to a Partition. This user code is deployed in a library together with a META-INF/module-borland.xml descriptor that defines the code to be invoked.

See "Using Partition Lifecycle Interceptors" in the BES Developer's Guide in the online Help Topics for details, and the example in: <install_dir>/examples/partition_interceptors.

CMP 2.0 Enhancements

EJB References display

This feature, available in both the Management Console and the DDEditor, displays EJB and resource references within a selected module. At present, this is a read-only display. It appears as a new tab in the DDEditor and the Management Console when a module is selected. In the future, this display will be editable.

Certificate passthrough

In scenarios where browser access to the web container is by way of the Apache web server, this feature enables you to give your web container access to all the browser-supplied SSL information (as if the Apache web server is not between the browser and the web container). With this SSL information, your web container can do certificate-based authorization. In addition, the web container can also propagate the certificate-based security context down the chain to the EJB container.

See the "Enabling certificate passthrough to Tomcat" in the BES Developer's Guide in the online Help Topics for details.

Partition thread dump to log

This command causes the Partition to perform a thread dump into its own event log, providing diagnostic information about the threads running in a Partition. It is accessed by way of the Partition's right-click menu.

Web Service Wizard

This wizard, accessed by right-clicking on a stateless session bean in the Management Console, directs you through the process of creating a custom web service wrapping the selected bean. When complete, the web service is automatically generated and deployed to the server.

Partition class-loader display

This feature displays each classloader in the Partition and the classes it hosts. It is available as a new tab on the Partition display in the Management Console.

Classloader aware Remote stubs to prevent ClassCastExceptions

Starting with BES 5.2, the stub code for Remote interfaces have been enhanced to copy the arguments when it is determined that the caller and calee have different classloaders. In previous versions of BES scenarios like a servlet calling an EJB across module boundaries led to a ClassCastException. The only solution was to repackage the WAR and EJB JAR into the same EAR. The user now has the option to not do that and the scenario will work as is. However, it is still recommended to use the EAR solution where possible as that is the better performing option since the pass by reference optimization can be preserved.

Of course for local interfaces we cannot do something like this since the semantics must be pass-by-ref. So calls across EJB Local interfaces will still show a classloder issue.

Pre-compiled JSPs

It is now possible to use the iastool on a WAR or an EAR to precompile all the JSPs within that archive. A new option compilejsp is added to iastool for this purpose.

See "iastool command-line utility" in the BES User's Guide in the online Help Topics for details.

Default specification of web-deploy-path

It is now possible to specify the <web-deploy-path> for all web applications using the default web-borland.xml file. The default web-borland.xml file can be found in:

<install_dir>\var\servers\<server_name>\adm\properties\Partitions\<Partition_name>\tomcat\conf

Please note that the default values are utilized when a web application does not specify a value for <web-deploy-path> element.

Upgraded Web Container Base

The Apache Tomcat base used by the Web Container is has been upgraded to Tomcat version 4.1.15.

Upgraded Apache Web Server

The Apache web server component has been upgraded to version 2.0.43.

VisiSecure allows plug-ins

VisiSecure for java will now allow user to plug-in their own Authentication Mechanisms, Authorization Services, Trust Services, JSSE services and Login Modules

Fixed in this release

The following fixes were made in 5.2 in response to reported problems in previous releases. Each fix is preceded by its bug number.

37226: VisiConnect: Error verifying a Resource Adapter with a deep connection factory hierarchy.

36102: Web Container: Access to pages that are not in security constraint uses anonymous for an authenticated client

36100: When security is turned off the web container should not require BSSRealm to be unconfigured.

36099: Make BSSRealm the default security realm for the web container.

35979: IiopConnector doesn't honor address param specified in server.xml

35029: Missing error documents in apache configuration

34090: OutOfMemory error when running app using Security for extended time

34089: Cannot write to a non-existent resource_vault file if not using the default

34087: Cannot use use-caller-identity in a RAR to handle container-managed sign-on

34084: Deploying a RAR which employs security throws exception

30615: Thread leak when accessing EJBs with security is on.

30566: Cannot deploy a Local Connector to the serial jndi context handler.

36356: (JDBC 2.0) Datasource property readOnly is not being honoured

35392: (CMP 2.0) byte[] persistent field in CMP entity beans in BES 5.1

35300: (CMP 2.0) BES: Problems with Exclusive commit option mode

35197: (Verify) Verification too strict for mismatched throws clause when throwing runtime exceptions

34865: (JMS) using java:comp/ names in client code does not work properly for JMS objects

34715: (JMS) Container does not free up Sonic connections when onMessage in an MDB throws EJBException

34666: (MDB) XA connections opened for the MDB does not get the start() call

34605: (CMP 2.0) Self Join Fix produced with 30596 only works with JDatastore

34571: (JDBC) set reuseStatements to FALSE is not working with JDBC1.x drivers

34529: (CMP 2.0) SQLException when accessing EJB2.0 Entitybeans from Microsoft's JDBC driver.

34404: (JTA) XAException with errorCode -8 when using external OTS

34206: (JMS) BES-SonicMQ/JMS connection handling, not releasing resources

34112: (Verify) RemoteExceptions for BusinessInterfaces and localInterfaces

34103: (Naming) ctx.lookup throwing ArrayIndexOutOfBoundsException instead instead of throwing NamingException [FIXED]

33964: (CMP 2.0) IllegalStateException with 2 Entity CMP in 'Exclusive' mode

33944: (CMP 2.0) Setting the OptimisticConcurrencyBehavior to VerifyAllFields does not verify all the entity's fields

33808: (CMP 2.0) BES EJB CMP Mapping failure

33749: (JMS) BES 5.1 Oracle XA Problem - SonicMQ Memory Issue

33404: Readme.html in BES51 for Bank example does not reflect the changes made in BES51

30737: (CMP 2.0) Cascade delete bug in our EJB CMP implementation

30682: (JDBC) BES 5.0.1 XA bug with full 2PC

30254: (EJBContainer/SFSB) java.lang.OutOfMemoryError: unable to create new native thread

33974: Apache core dumps on exit on AIX

Migration Issues

The following are issues you may encounter when migrating from earlier versions of BES to BES 5.2.

WEB

EJB

Security

Known issues with this release

Installation

Platform Specific

Deployment

Management Console and tools

JBuilder Integration

EJB

VisiConnect

SonicMQ

Working with previous releases

Upgrading from Borland Enterprise Server 5.0, 5.0.1 or 5.0.2

To upgrade from Borland Enterprise Server 5.0, 5.0.1 or 5.0.2, do not install on top of the previous installation. Install in a separate directory or uninstall your previous version first. You may then redeploy your applications to Borland Enterprise Server 5.2.

Important: Borland Enterprise Server 5.2 is not interoperable with the 5.0.0 version due to fixes for bugs relating to compliance to specifications. Therefore, all installations of the 5.0.0 version that interact with later versions must be upgraded.

Upgrading from Borland AppServer 4.5

To upgrade from Borland AppServer 4.5, do not install on top of the previous installation. Install in a separate directory or uninstall your previous version first. You may then migrate your applications from BAS 4.5 to Borland Enterprise Server 5.2.

Upgrading from VisiBroker for Java and VisiBroker for C++

The Borland VisiBroker Object Request Broker (ORB) now combines the Java and C++ packages into a single installation. It has been necessary to synchronize some of the features and behaviors of the Java and C++ ORBs as a result. This section details the changes in the GateKeeper, the VisiBroker ORB in general, and the Naming Service utility (VisiNaming™).

Platform information

Important: For information on minimum hardware requirements, certified operating systems, JDKs, and compilers, please refer to the Product Platforms Page:
For AppServer edition, refer to http://techpubs.borland.com/am/bes/platforms/52xplatformase.htm.
For Visibroker edition, refer to http://techpubs.borland.com/am/bes/platforms/52xplatformvbe.htm
For Web edition, refer to http://techpubs.borland.com/am/bes/platforms/52xplatformweb.htm

J2SE

The following sections detail the J2SE requirements for Borland Enterpise Server. The J2SE versions referenced below are the only versions certified for use with Borland Enterprise Server.

It is vitally important that you read the Release Notes and/or Readme that accompany the version of Java you use with Borland Enterprise Server. In particular, pay special attention to the sections that detail Operating System patches that must be applied. Failure to do this WILL lead to unpredictable Java VM crashes.

Windows and Linux

J2SE 1.3.1_06 and 1.4.1_01 are installed as part of the Borland Enterprise Server on Windows and Linux. You can read the Release Notes on Sun's web site.

Solaris

J2SE 1.3.1_06 and 1.4.1_01 are installed as part of the Borland Enterprise Server on Solaris. You can read the Release Notes on Sun's web site.

Platform Notes for AIX

The Borland Enterprise Server is not certified to run with any IBM 1.4 JDK for AIX.

Platform Notes for HP-UX

HP-UX Required Patch Level: Please refer to http://www.hp.com/products1/unix/java/java2/sdkrte1_3/infolibrary/sdk_rnotes_1-3-1-07.html#socket. The patches listed on this page are required for this version of BES, although they are listed by HP as merely recommended. Please ensure that your system conforms to this patch level.

HP-UX kernels are typically underconfigured for real-world applications, and must be re-tuned. HP-UX 11.0 is configured by default to allocate only 64 threads to any particular process. The typical symptom of this configuration problem is that ias and other process emit errors regarding memory problems or errors regarding an inability to allocate additional threads. This can be corrected by reconfiguring the kernel using the SAM utility. We recommend a minimum configuration of 512 threads per process. You should test your application under load to the verify this meets your requirements.

HP provides the tool HPJconfig to help configure your kernel for a variety of java applications. The tool can be downloaded from HP's web site.

Platform Notes for Red Hat Linux 7.1

Most scripts in this release use the KornShell, which must be installed on your system. The pdksh package, which is distributed with Red Hat Linux, is known to work but is not installed by default. To install this file, use this command:

rpm -i package-file

Itanium Platform Information

Important: For information on minimum hardware requirements, certified operating systems, JDKs, and compilers, please refer to the Product Platforms Page.

J2SE

Windows and Linux on IA64

J2SE 1.4.1 is installed as part of the Borland Enterprise Server on Windows and Linux on IA64. You can read the Release Notes on Sun's web site.

Platform Notes for Windows Server 2003 on IA64

Security for VisiBroker C++ is not available.

To install the web download you must have JDK 1.4.1 installed and its bin directory in your path. At a DOS prompt type:

java -cp BES_52_Windows_IA64.jar install

Platform Notes for Red Hat Linux AS 2.1 on IA64

You must install the x86-compat-libs package in order for all BES 5.2 components to function properly.

Security for VisiBroker C++ is not available.

To install the web download you must have JDK 1.4.1 installed and its bin directory in your path. From a shell type:

java -cp BES_52_Linux_IA64.jar install

Platform Notes for HP-UX on IA64

SSL is not available with the Apache web server that is included with the product. For SSL support with Apache, you may download HP's Web Server Suite product here.

Due to a bug in JDK 1.4.1.01 you must set the following property in bin/console.config and bin/ddeditor.config in order for the GUI programs to work properly if using JDK 1.4.1.01:

vmprop java.util.prefs.systemRoot=$var(installRoot)/tmp

Security for VisiBroker C++ is not available.

Made in Borland © 2002 Borland Software Corporation. All rights reserved.