background image
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