Bionic Buffalo Tech Note #20: Quick Start Guide to Writing CORBA Client Applications
Bionic Buffalo Tech Note #20
Quick Start Guide to Writing CORBA Client Applications
last revised Saturday 2005.02.26
©2005 Bionic Buffalo Corporation. All Rights Reserved.
Tatanka, TOAD, and Bionic Buffalo are trademarks of Bionic Buffalo Corporation
Introduction
This is a quick introduction to writing CORBA client applications. In this context, a CORBA client
application is defined as some application invoking operations on one or more CORBA server objects.
The CORBA objects need not be implemented in the same application or even in the same machine.
There is no conflict if the same application is both a client and a server. However, writing server
applications is covered in a separate companion document, Tech Note #25: Quick Start Guide to
Writing CORBA Server Applications.
This Tech Note summarizes the steps, and gives some examples, but does not provide extensive details.
However, the reader is referred to specific additional documents more information.
This Tech Note illustrates the use of Bionic Buffalo tools. The procedures using other tools are
generally the same, but some non-Bionic Buffalo compilers will not generate all of the programs, data
structures and other information (such as static repository definitions, allocation routines for aliases,
and so on) that are generated by Bionic Buffalo's
france IDL compiler. Workarounds must be made
in such cases by the developer; this Tech Note attempts to convey the background and the basic
process so that the necessary procedures for such workarounds will be reasonably obvious.
Although this Tech Note discusses programming languages in general, it uses examples in the C
language. However, the same principles are applicable to applications written in other programming
languages.
Server Objects, Client Objects, and Pseudo Objects
As explained above, the scope of this Tech Note is limited to applications which invoke operations on
one or more server objects. Of necessity, however, the application must create certain objects on the
client to enable the operation invocations.
The CORBA specification makes a distinction between pseudo objects and other, more ordinary,
objects. Pseudo objects include the
ORB itself, as well as more esoteric objects such as those
implementing
CORBA::Request. In spite of this distinction, it is important that an application uses
Page 1 of 11