Pointers when moving from VisiBroker 6.5 to 8.5
A relatively clean application based on OMG standard services should require only minimal modifications. The amount of change depends on how many vendor specific VisiBroker features are used by the application, and whether the application was tuned to rely on observed, but not documented, ORB runtime behavior.
In general, moving from VisiBroker 6.5 to VisiBroker 8.5 is straightforward and requires minimal effort.
Using VisiBroker 8.5 will provide benefits such as latest fixes, features, support to newer OMG/CORBA specifications and support on latest platforms.
Starting version 8.0, VisiBroker conforms to CORBA 3.0 specification while earlier version 6.0 and 7.0 implements the 2.6 version. All changes between the earlier 2.6 and 3.0 are implemented except for the CORBA Component Model (CCM) or Fixed types and GIOP 1.3 related features.
VisiBroker 8.5 supports JDK 6 and JDK 7 on both 32-bit and 64-bit architectures while VisiBroker 6.5 supports only JDK 4 and JDK 5 in 32-bit architecture except in Itanium platforms where 64-bit is supported.
Companies need to be at par with the latest hardware to accommodate the increasing demand and usage for their consumers. Newer versions of Operating System comes along with the hardware, hence there is a need for VisiBroker based application to run on these new OSes.
VisiBroker 8.5 supports most of the current OSes in the market today unlike VisiBroker 6.5 which only supports OS that were released about 10 years back and some may have already been set to End-Of-Life.
For a full list of VisiBroker 8.5 supported platforms please refer to
In comparison, please refer to VisiBroker 6.5 supported platforms here
One main purpose of upgrading to VisiBroker 8.5 is to enjoy and avail of Micro Focus support. VisiBroker 6.5 has started its Extended Care on January 2012 while VisiBroker 8.5 is still in General Availability and will only come to Critical Maintenance starting on March 2016, furthermore, the Extended Care will start on March 2018.
In Extended Care, Micro Focus support will only provide advice and avoidance unless specifically set in the maintenance contract to provide showstopper fixes.
Details of VisiBroker support dates are in this URL, http://supportline.microfocus.com/supportresources/borextendedsupport.aspx.
VisiBroker 6.5 licenses will not work with VisiBroker 8.5. Customers will need to acquire replacement licenses when updating. Use of the VisiServices will require an additional license (serial number and authorization key) to the base level VisiBroker Core license.
The options for VisiBroker development have been consolidated. Whereas there used to be separate licenses for VisiBroker for Java Development, VisiBroker for C++ Development and VisiBroker Full Development (the latter included development for VisiSecure, VisiTransact and VisiNotify), in VisiBroker 8.5 there is a single license VisiBroker Development that includes all development functionality.
Please consult Micro Focus’ Sales representative on the charges when upgrading the license to VisiBroker 8.5.
Refer on this URL for contact information http://www.microfocus.com/about/contact/index.aspx.
New Features and Changes
Web Services Support
Starting version 7.0, VisiBroker allows you to expose CORBA servers as Web Services. You can take advantage of this new feature to expand the reach of your legacy CORBA applications.
For details, please refer to the Web Services Overview chapter of the Developer's Guide. You can access it online here: http://supportline.microfocus.com/Documentation/books/VisiBroker/85/wwhelp/wwhimpl/js/html/wwhelp.htm
IPv6 is a major extension to the internet protocol. The biggest impact on VisiBroker is the change to IP addressing to 128 bits, from the 32 bits used by IPv4. Previous releases of VisiBroker have supported IPv6 but there were some IPv4 assumptions made when opening a socket. Some operating systems provide a "pure" IPv6 environment where there is no vestige of IPv4. VisiBroker 8.5 operates in these "pure" IPv6 environments.
There are a number of new VisiBroker properties for both C++ and Java that are introduced in VisiBroker 7.0, 8.0 and 8.5.
For a full list, please refer on the release notes in the following URL:
Changes in VisiBroker for C++
Instead of having a single ORB library in previous versions, VisiBroker for C++ 8.x has a kernel library, the ORB Core, and six component libraries. The ORB Core needs to be linked to any VBC application, while the component libraries can be selected on demand by linking or using property.
In addition, to reduce the migration effort, VisiBroker for C++ also provide a library having the same name (The library suffix may be different on some platforms) as previous single ORB library.
VisiBroker 8.5 is not binary compatible with VisiBroker 6.5 due to the ORB componentization. Recompilation is needed.
Standard Libraries only
In HP-UX and AIX platforms, VisiBroker 8.5 only supports Standard C++ libraries unlike with previous versions which supports both Standard and Classical C++ libraries. Standard C++ libraries in VisiBroker have "_p" infix in their filename, e.g. liborbcore64_pr.a.
It is due to componentization changes whereby while the location service was situated in one main ORB library in previous versions, it has now been relocated to the dsuser library.
VisiNotify and VisiTelcoLog
In VisiBroker for C++ 8.5, VisiNotify supports the top-level type code indirection. Please refer to release notes on the documented property “vbroker.orb.topLevelTCIndirection".
Since VisiBroker for C++ 8.0, VisiTransact supports retry queue configuration. If any errors are encountered during the two-phase commit protocol, it puts the transaction in the retry pool so that the Transaction Service can later attempt to run the two-phase commit protocol to complete the transaction. The transaction is retried based on the retry time. Please refer to release notes for VisiBroker for C++ 8.0 on the documented property “vbroker.ots.completionRetryAttemps”.
Since VisiBroker 8.0 for C++, enables applications to specify the CRL (Certificate Revocation List) of the trusted certificate that is being added through VBSSLContext::addTrustedCertificate API. Please refer to release note for details.
Changes in VisiBroker for Java
Message Fragmentation and Requests Interleaving
VisiBroker for Java 8.x supports true message fragmentation to improve performance and memory utilization in the marshalling engine when request/reply payload is high. In addition to that, if message fragmentation is being used and multiple client threads are writing on the same connection then requests are no longer serialized.
Message fragmentation is off by default; it can be turned on using the property vbroker.orb.fragmentSize
In VisiBroker 8.0, idl2java compiler has introduced a fix related to the section 4.18.2 in IDL2Java specification 1.3 that deals on the holder class generation.
Please refer to VisiBroker 8.0 Release Notes (http://techpubs.borland.com/am/visibroker/v80/en/VBroker_80_ReleaseNotes.html#Compatibility notes)
JDK 1.5 language support
Compilers java2idl and java2iiop in VisiBroker 8.x can parse Java 1.5 language features. This also includes support for marshalling Java Typesafe Enum in the ORB.
Java NIO support for SSL
Java NIO on VisiBroker for Java was already supported on the open communication channel. Now, the feature is extended to the secure socket communication channel. This support will allow a VisiBroker for Java 8.5 application server to scale well when a large number of secured client connections are handled.
Since VisiBroker for Java 8.0, VisiTransact supports its clients to become OTS clients to become transaction originators and servers to become transactional servers. In earlier versions, for Java clients to interact with OTS, Borland AppServer components were required. OTS specification compliance is 1.4.
VisiBroker 8.x for Java ships a GUI based JAAS callback handler, which works with all shipped login modules and Certificate based credential acquisition. The callback handler is based on Swing and works on all supported JDK and platforms uniformly.
In order to use the callback handler, please set callback handler property to the fully qualified class name of the handler, as follows.
There should be no major changes in DII or DSI functionality other than adherence to a later version of the OMG CORBA specifications, which may have corrected errors/issues in the earliest specification.
Smart Agent (osagent) IPv6
Osagent's IPv6 support is not yet generally available. Please consult our sales representative to request for this feature.
Due to changes in the IDL/C++ language mapping some existing IDL may not compile. Some complex make systems that relied extensively on idl2cpp options to place code in locations may not work with the new idl2cpp tool.
- -DCPP - Some of the idl files we ship out include preprocessor definitions such as “#ifndef CPP” or “#ifdef CPP”. It is therefore advisable to include –DCPP when running idl2cpp whenever you include IDL files that include VisiBroker shipped IDL files. The files with such definitions in VisiBroker for C++ are (impldef.idl, locate.idl, orb.idl and PortableServer.idl).
- -tie –corba_style_tie - The “-corba_style_tie” option works in conjunction with the “-tie” option which is switched on by default. The “-corba_style_tie” generates a more OMG compliant tie class in the skeleton file. In future the “-corba_style_tie” option may be turned on by default.l
- -type_code_info –corba_style - The “-corba_style” option works in conjunction with the “-type_code_info” option. The “-type_code_info” is off by default. When the “-corba_style” is turned on in conjunction with the “-type_code_info” option, it generates a non-copying form of the CORBA::Any insertion operator.
Location Service (C++)
Since VisiBroker 8.0 GA, if property "vbroker.agent.enableLocator=false" is set in VBC and OAD feature is intended to be used, it no longer functions. It is due to componentization changes as described above when a user intends to use the OAD without OSAgent but utilize Naming Service instead; she/he will receive a CORBA::NO_RESPONSE exception thrown on the client side. Issue CR9449 in VisiBroker 8.0 service pack 2 fixed the problem by introducing a new property "vbroker.orb.loadDSUser" whose default value is false. By setting the property to true, the dsuser library with the OAD location service in it without the OSAgent communication logic will be loaded. Please use the property "vbroker.orb.loadDSUser=true" in conjunction with "vbroker.agent.enableLocator=false" when using Naming Service without the need of OSAgent. Also, please refer to release note on the documented property “vbroker.orb.loadDSUser".
VisiNotify and VisiTelcoLog (C++)
When Notification Service is used with Priority and OrderPolicy equal to PriorityOrder, in some scenarios, CORBA::MARSHAL exception is thrown (CR9284). This issue will be resolved in a future release.
In general the property vbroker.its.its6xmode=true needs to be set for the following scenarios
- The transactional application uses in-proc OTS.
- The POA is not created with OTS policy, but the object on that POA is inherited from CosTransactions::TransactionalObject.
- The application uses NonTxTargetPolicy on the client side.
- The application uses the SessionManager.
- The VisiTransact OTS server is used by VBJ Java clients and VBJ Servers
VisiBroker 8.5 does not ship any version of the Java Development Kit (JDK). VisiBroker 8.5 supports JDK 1.6. However, in order to install the product from the media, you would need existing JDK/JRE installation (minimum version 1.4) in order to run the installer.
The VBConsole will not work with JDK 5. If a customer is using JDK 5 for other components of VisiBroker then the following workaround will be needed. Set the javahome property in toolsjdk.config to point to JDK 6.
Bug Fixes and other known issues
Please refer to VisiBroker 8.5 Release Notes for the full list of fixed and other known issues. Refer on the following URL:
If you have got other concerns when planning to migrate from VisiBroker 6.5 to VisiBroker 8.5, please reach us through our Supportline at http://supportline.microfocus.com.
You may also want to try VisiBroker 8.5. Please go to this URL, https://www.microfocus.com/product-trials/corba/index.aspx, and request for a Trial License.