As was alluded to above,
VisiBroker was chosen as the CORBA implementation used for VCS
because it was the only ORB available that had C++ bindings and supported
several different hardware/software platforms of interest (various UNIX systems,
Windows, and plans for a Macintosh release). It has proven to be a good choice
in that the VisiBroker system is an extremely flexible system. It has plenty of
capability, has been reasonably bug-free and
has a very responsive customer service department. Performance has been adequate
after we overcame an early major performance problem. We say adequate because it
is competitive with other systems available, but not as good as one would like
when comparing it to a raw socket-type interface.
Visigenic has provided The
Company their Beta version of VisiBroker that is said to be a CORBA 2.0
compatible product . VCS utilizes
this latest version prior to its commercial release from Visigenic.
Object persistence and
object query capabilities are fairly new areas for CORBA. As such these
capabilities are not yet generally available with commercial CORBA products. Our
initial implementation of the VCS
objects used flat data files to store each object's data. Since then we have
integrated Sybase with VisiBroker to maintain persistence of the VCS
objects. Sybase is a commercial object oriented database system available from
Sybase Corporation. We have put backend server objects on Sun Solaris machines
and Digital Alpha servers. We hope to port to Windows/NT in the near future (the
major pieces that would facilitate a port appear to be in place).
VisiBroker extensions used
during development of VCS: we have
attempted to stay entirely within the current CORBA standard and within features
offered by other CORBA system vendors. There are some VisiBroker system features
we currently use that will be porting issues. These features are filters,
transformers, loaders, smart proxies, TIEs, and multithreaded servers. What
these features are, the context in which they are used, and possible strategies
to avoid their use, will be described as development progresses.