ORBit Beginners Documentation V1.2 | ||
---|---|---|
<<< Previous | Next >>> |
This is to answer your questions about ORBit and Corba
CORBA stands for Common Object Request Broker Architecture, standardized by the Object Management Group (OMG). It consists of an Interface Definition Language (IDL), language bindings and protocols to allow interoperation between applications
written in different programming languages
running in different processes
developed for different operating systems
ORBit is an implementation of CORBA, which is used (amongst other things) in the GNOME project. Active development is done for ORBit2, being a clean re-implementation from scratch. The old ORBit code is no longer maintained.
Most of GNOME is written in C, both for performance reasons, and because C++ still isn't as portable and widely available. So integration with CORBA should use the IDL C mapping, which rules out TAO and MICO. ILU was ruled out because the license appeared as too restrictive at the time for free software.
ORBit is used in pretty much any GNOME application, which gives quite some testing for the features used. Other features have seen little or no testing.
Yes. This is one of the primary features of CORBA, and available through the Internet Inter-ORB Protocol (IIOP). There is one pitfall: ORBit has a proprietary security mechanism to authenticate clients. If interoperability is desired then you might have to figure out a work-around for this.
The idl compiler is GNU Public licensed ( GPL). The libaries are Library GPL (L-GPL) licensed. The code generated from the idl compiler have no restriction. Bascially this means you can use ORBit in your own applications (including proprietary applications), the only restriction being that people whom you distribute your working code to must be able to update the ORBit libraries at will. If you wish to modify and distribute the ORBit idl compiler you have to distribute that modification under the GPL.
ORBit uses some of the extensions that gcc allows, including assignment to casts and void * pointer arithmetic. More current versions of ORBit will remove these and eventually it is likely the ORBit will compile with all ANSI C compilers.
You can always install gcc and use that. This will always work.
A language binding defines how to use the IDL operations in a programming language. There is a client-side mapping which explains how to call operations, and a server-side mapping which defines how to implement them. The client side mapping is largely implementation-independent.
On the server side, different 'object adapters' are provided by ORB vendors; only the 'Portable Object Adapter' (POA) implemented by ORBit allows portability between CORBA implementations.
At the moment only the C binding. Python and Perl bindings are being seriously talked about. Bindings (in various degrees of completeness) are also available for C++, Lisp, Pascal, Python, Ruby, and TCL; others are in-progress.
Yes. Though beware that using DII and DSI in some cases requires the use of dynAny, which is not supported yet.
<<< Previous | Home | Next >>> |
Introduction | Common Coding Problems |