VisiBroker for Java 3.3 Release Notes
[03.03.00.C3.02]
Table of Contents
Release Contents
Changes Since 3.2
Known Issues
Platform Notes
Compatibility Notes
Additional Notes
Release Contents
VisiBroker for Java 3.3 consists of:
- Development tools and libraries
- VisiBroker ORB (ORB runtime, services, and utilities)
- VisiBroker GateKeeper
- VisiBroker Naming and Events
- Documentation
Support for SSL over IIOP 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.2
VisiBroker for Java 3.3 contains bug fixes and enhancements over the last 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.2
VisiBroker for Java 3.3 is binary compatible with VisiBroker for Java 3.2. It will
not be necessary to recompile existing code. When upgrading from VisiBroker for
Java 3.2, it is recommended that you remove previous installations of VisiBroker for Java
3.2 from your system.
Enhancements
and fixes in 3.3
The following is a brief outline and description of the changes in VisiBroker for Java
3.3. Note: This list is not complete; if you have a question about a particular
issue, please contact Inprise technical support.
Important notes
ORB runtime
GateKeeper
- The client can bind to server via GateKeeper with the server's host name specified.
- The applet can disable the GateKeeper functionality by specifying ORBdisableLocator
when ORBgatekeeperIOR is not specified.
- URLNaming and HTTP tunneling are improved to work with all versions of the Java VM.
- Error handling is improved to prevent memory leaks when the client is sending the wrong
object reference to the GateKeeper.
- long long data type is proxied correctly
- A new property, ssl_request_client_certificate, has been added to
enable GateKeeper to request the client's certificate. The default value of this property
is false.
Compiler Tools
- Errors in compilation no longer cause a stack trace to be generated unless the -verbose
command-line flag is set.
- idl2java now handles scoped name lookups correctly.
- java2iiop/java2idl generate correct repository IDs.
- Added command-flag -narrow_compliance for generating CORBA
specification-compliant narrow methods.
- idl2java line count is more accurate when reporting errors.
- Cleared up code generation for union types involving typedefs and unsigned long
discriminator types.
- idl2java no longer interprets Java Unicode \u escape notation in IDL.
- java2iiop now detects (and disallows) overriding of inherited methods.
- User defined exceptions are no longer permitted to appear as members of other user
defined exceptions.
- Compilers now provide command-line flags -preprocess_only and -no_preprocess
for convenience.
- Saving and restoring an interface repository now supports retention of #pragma
information.
- Exit codes are always 0 for success, 1 for any type of failure.
- The formatting of error and warning messages has been standardized.
Known Issues
There are no new known issues for VisiBroker for Java 3.3. The following
issues have existed since VisiBroker for Java 3.0.
- VisiBroker applets may hang when using Netscape Communicator 4.03 (or earlier) on
Windows NT and the GateKeeper and servers are running on the same machine as
Netscape. Update to Communicator 4.04 or later if you are having this problem.
- Package import statements (e.g. import org.omg.CORBA.*) do not work with JAR files in
JDK versions prior to JDK 1.1.2. If you import packages from the VisiBroker JAR files, you
should use either JDK 1.1.2 or later, or unzip/unjar the JAR file(s) and set your CLASSPATH
to the directory containing the unjarred distribution. (NOTE: this is a bug in the JDK
javac [bug #1262375])
- When extracting files from vbjorb.jar using unzip, WinZip or other similar utility, you
may get one or more checksum errors. This is a side effect of the licensing software
and not an actual corruption of the JAR file. To extract the file use the jar
command which is included in the JavaSoft JDK which ignores checksums.
- The file register.dll will remain in the VisiBroker bin directory after
uninstalling the product on Windows. The file must be removed manually to completely
remove VisiBroker for Java from a Windows system
Platform Notes
Platform Certification
This release has been certified for the following browsers and Java Virtual Machines
(JVMs):
- Inprise JBuilder 2

- JavaSoft JDK/JRE 1.1.6

- JavaSoft JDK 1.0.2
- Microsoft SDK 2.02

- Netscape Navigator 3.0/4.0.5

- Microsoft Internet Explorer 4.0
In addition, this release has been certified with the following operating systems:
- Microsoft Windows 95 and Windows 98

- Microsoft Windows NT 3.51, NT 4.0
- Sun Solaris 2.5, 2.5.1, 2.6 (with JavaSoft JDK 1.1.6 and SunSoft JDK 1.1.6
)
- HP-UX 10.20 (HP-UX Java C.01.15.03 07/07/98)
)
- AIX 4.1, 4.2 (JDK 1.1.6 IBM build a116-19980711)
)
- Digital Unix 4.0 (JDK 1.1.6 digital:02/16/1998-19:32)
)
- IRIX 6.2, 6.3, 6.4 (3.1.1 (Sun JDK 1.1.6N))
)
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-compatible environment. For a complete list of Java-enabled platforms,
click here.
Use with Netscape Communicator/Navigator 4.0
- The VisiBroker for Java 3.3 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.
- vbjc can now be used with Microsoft java compiler. To do so, you must use the -VBJjavavm
flag to specify the java compiler. Example: "vbjc -VBJjavavm jvc
ClassToCompile.java"
- java2iiop will not work well with jvc compiled classes. This is due to a bug
with jvc where it generates interfaces which are inconsistent.
- The Microsoft java compiler defines extra keywords (like delegate) that can cause errors
with VisiBroker. These can be disable using the /x flag. Example: vbjc -VBJjavavm jvc
-VBJvmflag /x ClassToCompile.java
- The current version of Microsoft Java VM can cause VisiBroker application to crash after
running a long period of time. This is a known issue with Microsoft and they are currently
working on resolving this failure.
- The gkconfig GUI tool does not work well under jview. As
a workaround, use the JDK or JRE from JavaSoft to set the gatekeeper properties.
Known Issues
with Windows NT 3.51
VisiBroker for Java 3.3 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
VisiBroker for Java 3.3 has been certified for HP-UX
10.20 with JDK
version "HP-UX Java C.01.15.03 07/07/98"
-
When running irep in console mode, you should specify the
-DVM_THREAD_BUG option.
Known Issues
with AIX 4.1, 4.2
VisiBroker for Java 3.3 has been certified for AIX
4.1, 4.2 with JDK version "JDK 1.1.6 IBM build a116-19980711
"
-
Tools (such as idl2java, irep, etc.) will not run with JIT enabled.
To turn off the JIT, set the environment variable JAVA_COMPILER=off
Known Issues
with Digital Unix 4.0
VisiBroker for Java 3.3 has been certified for Digital Unix 4.0
with JDK version "JDK 1.1.6 digital:02/16/1998-19:32
"
-
ORB::shutdown() method will cause the VM's to segv. We have
filed a bug report and are currently working with Digital to resolve this
issue.
Known Issues
with IRIX 6.2, 6.3, 6.4
VisiBroker for Java 3.3 has been certified for IRIX 6.2, 6.3, 6.4
with JDK version "3.1.1 (Sun JDK 1.1.6N)
"
-
ORB::shutdown() method has no effect.
-
It is recomended that the -nojit option be used as we have noticed that
the VM runs much more stable.
Compatibility notes
Compatibility with JDK 1.0.2
VisiBroker for Java 3.3 is also compatible with JVMs which are compatible with JDK
1.0.2 with the following restrictions:
- The vbj command no longer by default looks for an OSAgent as in previous
versions of VisiBroker. Java 1.1 now supports UDP broadcast, so OSAgents are now
located directly by the Java ORB. If you are running VisiBroker on a Java 1.0.x VM,
then the "-VBJfindagent 1" flag should be used when running vbj
or VisiBroker may be unable to locate an OSAgent.
- Caffeine pass-by-value semantics (and extensible structs) will not work since this
feature depends on Java object serialization that is only supported in Java 1.1.
- The GateKeeper makes use of certain features of Java 1.1 and will not run on a
1.0.x-compatible JVM.
The compiler
tools (including irep) will not work under JDK 1.0.2, since they rely upon new
JDK 1.1 features.
Persistent DSI
objects will not work under JDK 1.0.2 because they rely upon JDK 1.1 features.
Compatibility
with JDK 1.2 Beta 4
VisiBroker for Java 3.3 has been tested with JDK 1.2 Beta 4 from Sun Microsystems, but
has not been officially certified on that VM. Below are the list of known issues
when using JDK 1.2:
- JDK 1.2 includes a minimal Java ORB which may interfere with VisiBroker for Java.
To work around this issue, you must use the following flag with all VisiBroker utilities (vbj,
idl2java, etc.) to bypass the ORB classes in the JDK: (where VBJLIB is the
lib directory in your VisiBroker for Java installation, and JAVA_HOME is the
location of JDK 1.2 Beta 4) :
vbj \
-Xbootclasspath:$(VBJLIB)/vbjorb.jar:$(VBJLIB)/vbjapp.jar:$(VBJLIB)/vbjtools.jar:$(VBJLIB)/vbjgk.jar:$(JAVA_HOME)/jre/lib/rt.jar
Additionaly JAR files may also need to be added to this flag if you are using
other VisiBroker products including Naming, Events, or the SSL Pack. Users's
application CLASSPATH may also need to be appended to this flag if
the application uses the VisiBroker ServiceInit feature.
- On Windows, all VBJ tools must be invoked from the command line, in order to use these
flags. The shortcuts in the start menu are invalid.
- To compile code using JDK 1.2 beta 4 javac, the following command should
be used:
javac -bootclasspath \
$(VBJLIB)/vbjorb.jar:$(VBJLIB)/vbjapp.jar:$(VBJLIB)/vbjtools.jar:$(VBJLIB)/vbjgk.jar:$(JAVA_HOME)/jre/lib/rt.jar
- When running applets designed for VisiBroker for Java 3.3 in a JDK 1.2-based browser or
appletviewer, the minimal Java ORB in the JDK will interfere with VisiBroker. To work
around this problem, use the following flag:
Compatibility with other VisiBroker for Java Releases
Compatibility with VisiBroker for Java 2.5
- VisiBroker for Java 3.3 is fully compatible with VisiBroker for Java 2.5 at the
application source and binary level. When moving applications from version 2.5 to
version 3.3 it is recommended (though not required) that you recompile your IDL or Java
files using idl2java or java2iiop to take advantage of the latest
compiler and runtime enhancements.
Compatibility with VisiBroker for Java 1.2
- VisiBroker for Java 3.3 is incompatible at the application source level with
VisiBroker for Java 1.2. Changes must be made to an application's source code to conform
to the new OMG IDL Java Language mapping. A UNIX sed script is provided that
automatically converts code for all but the most complex cases. This script will
handle most of the common changes, but will not deal with more complex cases. For example,
the sed script will convert all references from CORBA.Object to org.omg.CORBA.Object,
but it will not remove all references to the CORBA.Exception class which has been
removed. The sed script is called vbj_convert. Note: Windows users must
license MKS toolkit or a similar UNIX compatibility toolkit which includes sed
support, if they wish to use vbj_convert.
- VisiBroker for Java 3.3 binaries (i.e. bytecode) are incompatible with 1.2
binaries. Binaries compiled with version 1.2 cannot be intermixed with binaries
compiled with 3.3. Applications developed using 1.2 must be recompiled in order for
them to run on 3.3. This includes recompiling all IDL definitions to generate new stubs
and skeletons.
Interoperability with other VisiBroker Releases
VisiBroker for Java 3.3 is fully interoperable with VisiBroker for C++ 3.x.
Communicating with VisiBroker for C++ 3.x requires no runtime flags. VisiBroker for
Java 3.3 is "on-the-wire" interoperable with:
- VisiBroker for Java 1.2 and 2.5
- VisiBroker for C++ 2.x
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.3 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.03.00.C3.02
Copyright:
(C) 1996-98
Company:
Inprise Corp.
Build Date:
07/29/1998 12:34:31
Similarly, vbver vbjorb.jar prints:
Information for: vbjorb.jar
Product Name: VisiBroker
Developer for Java
Version:
03.03.00.C3.02
Copyright:
(C) 1996-98
Company:
Inprise Corp.
Build Date:
07/29/1998 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.03.00.C3.02] (JUL 29 1998 12:34:31)
Java: Version 1.1.6 from Sun Microsystems Inc.
OS: Solaris version 2.x; CPU: sparc
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.03.00.C3.02
Copyright:
(C) 1996-98
Company:
Inprise Corp.
Build Date:
07/29/1998 12:34:31
Information for: vbjgk.jar
Product Name: VisiBroker
Developer for Java
Licensed to:
<Company Name>
Product Key: <License
Key>
Version:
03.03.00.C3.02
Copyright:
(C) 1996-98
Company:
Inprise Corp.
Build Date:
07/29/1998 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.03.00.C3.02
Copyright:
(C) 1996-98
Company:
Inprise Corp.
Build Date:
07/29/1998 12:34:31
Expiration info: 60 days
Build Type: Eval
Information for: vbjgk.jar
Product Name: VisiBroker
Developer for Java
Version:
03.03.00.C3.02
Copyright:
(C) 1996-98
Company:
Inprise Corp.
Build Date:
07/29/1998 12:34:31
Expiration info: 60 days
Build Type: Eval
Note that the version information that appears above may not exactly match your
release.