INPRISE CORPORATION

VisiBroker for Java 3.4 Release Notes

[03.04.00.C5.01]

Table of Contents

Release Contents
Changes Since 3.3
Known Issues
Platform Notes
Compatibility Notes
Additional Notes

Release Contents

VisiBroker for Java 3.4 consists of:

Support for IIOP over SSL is available as a separate add-on product, VisiBroker SSL Pack for Java.  In addition, although the VisiBroker Gatekeeper is packaged with the ORB, it is sold separately and requires a license key during installation that enables it.   You can determine if any product component is licensed during the installation process, or by using vbver, as shown below.


Changes Since 3.3

VisiBroker for Java 3.4 introduces support for the Java 2 platform and also contains some minor fixes over the previous release, as indicated below.  It is very important that this section be read carefully since the changes in this release affect all developers.

Upgrading from 3.3

VisiBroker for Java 3.4 is binary compatible with VisiBroker for Java 3.3 (on JDK 1.1.x or prior) with the following exceptions:

When upgrading, it is recommended that you remove previous installations of VisiBroker for Java from your system.

Using VisiBroker for Java with Java 2 (JDK 1.2)

VisiBroker for Java 3.4 now supports the Java 2 platform.  Before using VisiBroker for Java with Java 2 you should carefully read this section.  In most cases, some changes to your existing application code will be required before it can be run on Java 2. A summary of the changes is below:

In order to access the above methods on the Java 2 platform it is necessary to cast the instance of org.omg.CORBA.ORB to either com.inprise.vbroker.CORBA.ORB or com.visigenic.vbroker.orb.ORB. By casting to com.visigenic.vbroker.orb.ORB your code will be compatible with previous versions of VisiBroker for Java 3.x.  By casting to com.inprise.vbroker.CORBA.ORB your code will be ready for migration to future releases of VisiBroker for Java.  Note, code written with such a cast will not be compatible with VisiBroker for Java 2.5.  The following code segment illustrates the use of such a cast:

public org.omg.CORBA.NVList create_operation_list(org.omg.CORBA.OperationDef operationDef);

to:

public org.omg.CORBA.NVList create_operation_list(org.omg.CORBA.Object operationDef);

While the signature of the method has been widened to accept org.omg.CORBA.Object, the implementation of the method still requires the operationDef parameter to be narrowable to an org.omg.CORBA.OperationDef object.  An org.omg.CORBA.BAD_PARAM exception is thrown if the operationDef parameter is not narrowable to org.omg.CORBA.OperationDef.

VisiBroker for Java 3.4 supports both method signatures for maximum compatibility with older applications.  However, only the newer signature will be available when running on a Java 2 platform JVM.  In order to write code that can link against both a Java 2 JVM as well as a JDK 1.1.x VM, it is necessary to introduce an explicit cast to org.omg.CORBA.Object in calls to create_operation_list when passing an org.omg.CORBA.OperationDef instance as a parameter. For example:

org.omg.CORBA.OperationDef opDef = ... // some value
org.omg.CORBA.NVList list =
  orb.create_operation_list((org.omg.CORBA.Object) opDef);

In order to access the above methods on the Java 2 platform it is necessary to narrow an instance of org.omg.CORBA.Object to an instance of com.inprise.vbroker.CORBA.Object.   Note, code written with such a narrow will not be compatible with previous versions of VisiBroker for Java 3.x. The following code segment illustrates the use of such a narrow:

org.omg.CORBA.Object object = ... // some object
com.inprise.vbroker.CORBA.Object vbObject =
  com.inprise.vbroker.CORBA.ObjectHelper.narrow(object);
String objectName = vbObject._object_name();

In order to make it easier for existing applications which use these methods to function on the Java 2 platform, the idl2java compiler by default generates stubs and skeletons which implement the com.inprise.vbroker.CORBA.Object interface.  The generated code will not need to make use of the narrow method and may instead access the methods directly.  Note, please consult the section below on compiler changes for complete details on the IDL compiler changes in this release.

public org.omg.CORBA.InterfaceDef _get_interface();

to:

public org.omg.CORBA.Object _get_interface_def();

Although the return type of the new method was widened to org.omg.CORBA.Object it is guaranteed that the returned object is narrowable to org.omg.CORBA.InterfaceDef.

VisiBroker for Java 3.4 supports both method signatures for maximum compatibility with older applications.  However, only the newer signature will be available when running on a Java 2 platform JVM.

Enhancements and fixes in 3.4

The following is a brief outline and description of the changes in VisiBroker for Java 3.4.  Note: This list is not complete; if you have a question about a particular issue, please contact Inprise technical support.

Important notes

VisiBroker for Java 3.4 has introduced a change in code generation for stubs and skeletons to provide better migration support to the Java 2 platform.  The changes to the code generation are as follows:

  1. Generated stubs and skeletons now by default implement the com.inprise.vbroker.CORBA.Object interface to allow users full access to the VisiBroker extensions to org.omg.CORBA.Object without changes to user code. To generate stubs and skeletons which implement the org.omg.CORBA.Object interface, you must specify either the -portable, -strict, or -back_compat option to the compiler.
  2. All bind() methods on interface Helper classes now assume a VBJ 3.x compatible ORB is being passed as a parameter and will throw a BAD_PARAM exception if passed a different ORB implementation.

The VisiBroker for Java 3.4 compilers generate code which is fully compatible with any Java VM, but is not compatible with older releases of VisiBroker for Java.  In order to generate code which can run on multiple versions of the ORB, a new flag (-back_compat) has been added to generate code in the style of previous versions of VisiBroker for Java.  The -back_compat flag when combined with the -portable flag can be used to generate the stub and skeleton code with varying degrees of compatibility.  The table below summarizes the compatibility matrix of the VisiBroker for Java 3.4 generated code when using combinations of the -portable and -back_compat flag.  The compatibility is shown for the three major Java VM versions as well as compatibility with previous versions of VisiBroker for Java.

VisiBroker for Java 3.4 Generated Code Compatibility Matrix
Compiler options/Runtime Platform JDK 1.0.2 JDK 1.1.x JDK 1.2 VBJ 2.5 (Netscape ORB) VBJ 3.x
default supported supported supported not supported not supported
-portable persistent skeletons not supported supported supported Helper.bind() calls not supported supported
-back_compat supported supported not supported supported supported
-back_compat -portable persistent skeletons not supported supported Helper.bind() calls not supported supported supported

ORB runtime

GateKeeper

Compiler Tools

Object Activation Daemon (OAD)

Object Location Service


Known Issues

There are no new known issues for VisiBroker for Java 3.4.  The following issues have existed since VisiBroker for Java 3.0.


Platform Notes

Platform Certification

This release has been certified for the following browsers and Java Virtual Machines (JVMs):

In addition, this release has been certified with the following operating systems:

With the exception of the osagent, osfind, and locserv executables, the VisiBroker for Java ORB is written entirely in Java and can run in any Java 1.1 or Java 2 compatible environment.  For a complete list of Java-enabled platforms, click here.

Use with Netscape Communicator/Navigator 4.0

The VisiBroker for Java 3.4 runtime is compatible with the VisiBroker ORB embedded in Netscape's Communicator.  When using Communicator, you have two choices on how to program your applets.  You may use the ORB embedded in Communicator (which matches VisiBroker for Java 2.5), or you may download the VisiBroker for Java 3.3 ORB on top of the existing version in Communicator.  You should download the VisiBroker for Java 3.3 ORB if you are using features new to VisiBroker 3.x such as interceptors, event handlers, or SSL.

<param name=org.omg.CORBA.ORBClass
       value=com.visigenic.vbroker.orb.ORB>

Known Issues with Windows NT 3.51

VisiBroker for Java 3.4 runtime has been certified for Windows NT 3.51 with JDK version "1.0.2". Limitations exist when using VisiBroker with JDK 1.0.2. For a complete list, click here.

Known Issues with HP-UX 10.20, 11.0

VisiBroker for Java 3.4 has been certified for HP-UX 10.20 and 11.0 with JDK version "HP-UX Java C.01.16.00"

Known Issues with AIX 4.1, 4.2

VisiBroker for Java 3.4 has been certified for AIX 4.1, 4.2 with JDK version "Java Version 1.1.6 from IBM Corporation"

Known Issues with IRIX 6.3, 6.4

VisiBroker for Java 3.4 has been certified for IRIX 6.3, 6.4 with JDK version "Java Version 3.1.1 (Sun 1.1.6)  from Silicon Graphics"


Compatibility notes

Compatibility with Inprise Application Server

VisiBroker for Java 3.4 is not currently supported for use with the Inprise Application Server or the Inprise Integrated Transaction Service (ITS).

Compatibility with JDK 1.0.2

VisiBroker for Java 3.4 is compatible with JVMs which are compatible with JDK 1.0.2 with the following restrictions:

Compatibility with other VisiBroker for Java Releases

Compatibility with VisiBroker for Java 2.5

Compatibility with VisiBroker for Java 1.2

Interoperability with other VisiBroker Releases

VisiBroker for Java 3.4 is fully interoperable with VisiBroker for C++ 3.x.  Communicating with VisiBroker for C++ 3.x requires no runtime flags.  VisiBroker for Java 3.4  is "on-the-wire" interoperable with:

As a result of clarifications in the original OMG IIOP specification, minor IIOP wire format changes have been necessary in VisiBroker for Java 3.0 and higher.  However, full backward compatibility is supported that enables client programs and servers running on VisiBroker for Java 3.x to interoperate with existing client programs and servers running on VisiBroker for Java 1.2/2.5 and VisiBroker for C++ 2.x. With this backward compatibility, in addition to 3.x-to-3.x communication, 3.x client programs can talk seamlessly to Java 1.2/2.5 and C++ 2.x servers, and Java 1.2/2.5 and C++ 2.x client programs can talk seamlessly to 3.x servers.

In environments where previous versions of VisiBroker for Java and VisiBroker for C++ are being used, it is necessary to enable backwards compatibility.  As described in the Programmer's Guide, to turn backwards compatibility on, the following runtime property (or Applet parameter) must be set to "true":

For example, to run the bank client example application on VisiBroker for Java 3.0 with backwards compatibility turned on, the following command would be used:

Or, the following line would be added to the applet tag of the ClientApplet.html file:


Additional notes

Printing Version Information

VisiBroker for Java 3.4 provides mechanisms for printing version information for the binaries and libraries included in this release.  In general use the executable vbver followed by the file to query version information.  For example vbver osagent.exe on Windows NT prints:

Information for:        osagent.exe
Product Name:           VisiBroker Developer for Java
Version:                03.04.00.C2.03
Copyright:              (C) 1996-99
Company:                Inprise Corp.
Build Date:             01/29/1999 12:34:31

Similarly, vbver vbjorb.jar prints:

Information for:        vbjorb.jar
Product Name:           VisiBroker Developer for Java
Version:                03.04.00.C2.03
Copyright:              (C) 1996-99
Company:                Inprise Corp.
Build Date:             01/29/1999 12:34:31

To obtain version information for the utilities (such as idl2java, irep, idl2ir, etc.), pass the -version argument to the utility.  For example, idl2java -version prints:

VisiBroker Developer for Java [03.04.00.C2.03] (JAN 29 1999 12:34:31)
Java: Version 1.2 from Sun Microsystems Inc.
OS:   SunOS version 5.6; CPU: sparc

Printing Licensing Information

To obtain licensing information on an installation, use the -type flag to vbver.  For example, for a licensed version of the ORB and Gatekeeper, vbver -type vbjorb.jar vbjgk.jar prints:

Information for:        vbjorb.jar
Product Name:           VisiBroker Developer for Java
Licensed to:            <Company Name>
Product Key:            <License Key>
Version:                03.04.00.C2.03
Copyright:              (C) 1996-99
Company:                Inprise Corp.
Build Date:             01/29/1999 12:34:31

Information for:        vbjgk.jar
Product Name:           VisiBroker Developer for Java
Licensed to:            <Company Name>
Product Key:            <License Key>
Version:                03.04.00.C2.03
Copyright:              (C) 1996-99
Company:                Inprise Corp.
Build Date:             01/29/1999 12:34:31

Alternatively, for an evaluation version, vbver -type vbjorb.jar vbjgk.jar prints:

Information for:        vbjorb.jar
Product Name:           VisiBroker Developer for Java
Version:                03.04.00.C2.03
Copyright:              (C) 1996-99
Company:                Inprise Corp.
Build Date:             01/29/1999 12:34:31
Expiration info:        60 days
Build Type:             Eval

Information for:        vbjgk.jar
Product Name:           VisiBroker Developer for Java
Version:                03.04.00.C2.03
Copyright:              (C) 1996-99
Company:                Inprise Corp.
Build Date:             01/29/1999 12:34:31
Expiration info:        60 days
Build Type:             Eval

Note that the version information that appears above may not exactly match your release.