The VCS
system is built on Common Object Request Broker Architecture (CORBA). CORBA is a
distributed architecture standard developed by an industry consortium known as
the Object Management Group (OMG) and consists of a set of technical documents
and specifications for the architecture. CORBA does not attempt to specify the
actual protocol on the wire except in a fairly recent specification, which
specifies how independent CORBA implementations should inter-operate. Vendors
then implement products that conform (to various degrees) to that standard.
Another area of product incompatibility between CORBA products that affects VCS portability is the CORBA IDL/C++ bindings and API. When we started developing VCS the C++ bindings had not been agreed upon within the OMG. That is, code written to work with one particular CORBA product was not necessarily portable to another particular implementation with a simple code recompile. That situation is somewhat improved with the adoption of the CORBA C++ initialization specification, and will be further improved with tighter specifications in the area of object activation and other enhancements also available with the CORBA 2.0 specifications.