Bionic Buffalo Tech Note #20: Quick Start Guide to Writing CORBA Client Applications
CORBA_long map to C long (indeed, it may map on some processors to int, which may not be
the same as
long.). With typed languages, use the CORBA type for casting and coercion, not the
equivalent machine type.
Release resources and tear down the programming environment. This step is often ignored when it
should be taken. CORBA programming often has various subtle side effects, especially with regard to
resource management, and ignoring the termination and release operations - even when they do not
appear relevant to a terminating program - can have a detrimental effect on the performance of other
applications.
When an application no longer needs the CORBA environment, resources, and objects, it should return
or release those. A terminating application also should call
ORB::shutdown() and
ORB::destroy(), to release resources for other programs. (Some ORBs maintain resources which
are shared among processes, and there may not be immediate or automatic release when the application
process terminates.)
Link and Run the Application
The final step is to link and run the application.
Applications built and run using Bionic Buffalo tools will need to link with one or more libraries,
depending on the implementation. These will include:
tibet is the fundamental CORBA library. It contains stubs, resource management functions,
TypeCodes, repository definitions, and other items defined by the CORBA specification.
Effectively, it is the result of compiling the IDL from the specification, along with some “glue” and
fundamental definitions to make it all work together and to fill in gaps in the specification. It does
not include the implementation of any objects such as the ORB, repository, or other system
interfaces.
yemen is a common support library, which includes implementations of some pseudo object
interfaces (typecodes, policies, and so on), but does not include implementations of any
ORB or ORB
specific objects such as
POAs.
The library for the specific
ORB or ORBs to be used by the application. These might be one or more
of
sudan, gibraltar, egypt, taiwan, mexico, or jordan.
For any services which are to be provided from within the application process, the relevant service
library must be included. For example, if your process will provide a name service (either to itself
or to external clients), then
greece must be linked. On the other hand, if the application only uses
the service available in an external process, then (for the most important CORBA services) the stubs
and other necessary code will be found in the
tibet library.
Various support libraries may also be required. For example, the
nigeria library is commonly
required because it is used to handle character set mediation and translation among various
ORBs.
Page 9 of 11