Contributed Applications

attlogo6876_dk.gif (2280 bytes)

sideHome.gif (2321 bytes) sideDownload.gif (2450 bytes) sideDocumentation.gif (2512 bytes) sideFAQ.gif (2344 bytes) sidePatch.gif (2543 bytes) ../sideSearch.gif (2403 bytes)

Contributed Applications


Follow this link to the omniEvents page.


Richard Gruet has contributed ipy, a program for building Python implementation skeletons from IDL. See the ipy page and his mailing list posting for details.


factoriaX have contributed omniifr, an Interface Repository implementation. See the original announcement and the omniifr page at factoriaX.


Steve Gaughey sent us the following note on the availability of a
commercial OTS product that runs on omniORB2, among other ORBs.

> Our OTS, called OTSArjuna, is highly portable and currently runs on -
> omniORB2, ORBacus, Visibroker, Orbix (inc. versions 2.0.1MT, 2.1MT,
> 2.2MT, 2.3cMT) RCP-ORB from Nortel, TAO and CorbaPlus - with the
> following compilers - Sun's C++ 4.2 and 4.0 on Solaris 2.5.1 or Solaris
> 2.6, HP's C++ compiler, g++ 2.7.x and 2.8.x and Visual C++ 5.0.
> OTSArjuna is *fully* CORBA-compliant and includes support for nested
> transactions.
> We're listed as a success story by the OMG -
> Recently we've created a company, Arjuna Solutions Ltd., to market our
> OTS (and JTS) implementations. We offer free evaluations but do charge
> for development and run-time licensing. Inexpensive academic licenses
> are available.
> Hopefully you'll agree that the availability of an OTS for omniORB2 will
> be interesting news for your existing customers and help encourage new
> users to explore this technology.
> You can obtain more information about our products from our commercial
> site -


This CORBA service is contributed by Ted Byrd This is an implementation of the Property Service Specification for omniORB2. The source code is available here.

Ted wrote this in his announcement:

> I recently developed an implementation of the COSS Property Service for
> a project that I am working on, and I'd like to contribute it to the
> rest of the community. I hope that I haven't duplicated anyone else's
> efforts, but I couldn't find reference to such a service on the web
> page, or in the message archives.
> This software is really new, but I thought that I would release it
> anyway to help flush out any remaining bugs quickly. It's been ported
> and reasonably well tested on Windows NT 4.0 SP3/Visual C++ 5.0 and
> Redhat Linux 5.1/egcs 2.90.27, and should work on any system with a
> decent implementation of STL. The distribution is available as both a
> gzipped tar file, or a zip file from:
> Please excuse my premature adoption of the omni name. This product is
> in no way affiliated with, sanctioned by, or accepted by, the omniORB
> development team, or AT&T. I have adopted the directory structure,
> build procedures, and name to make things fit into my source tree more
> consistently. The omniORB team is free to incorporate this application
> into the official distribution. Please send all comments, suggestions,
> or bug reports to me at
> I'd also like to thank Paul Nader for his event service. I hope you
> don't mind that I plagiarized a bit of your service code in my
> implementation! :)


Don Granger sent us the following note on the availability of a
graphical IDL tool that interface to omniidl2.

> Hi OmniORBers,
> A new tool is available for those of us using OmniORB2 on Windows 95/NT.
> It is called GIDL, and it provides:
> - A graphical front end to Omniidl2
> - Automatic generation of interface implementations (C++)
> - Management of several files in an "IDL Project"
> - more...
> You can download the free beta release from the download area at:
> We hope you enjoy it and look forward to your feedback.

Port to Borland C++ Builder

Update: Mikhail now has a web page dedicated to this subject. The lastest information can be found here.

Mikhail Soukhanov sent us this summary on porting omniORB to Borland C++ Builder. The zip files are also available in our ftp server.

> Port of omniORB 2.6.1 to Borland C++Builder was accomplished by Thomas
> (Thomas van der Ploeg
> if this is the one and the same
> person) based on his previous work on 2.5.0. The message to the effect
> was posted to the mailing list on Tue., 22 Dec 1998 10:50:05 +0100 and
> contains the link to the zipped source and binaries archive at
> . It includes omniidl2,
> omnithread2 DLL, omniORB260 static library and DLL, omniNames and all
> echo examples. All projects are easily rebuilt from the source under the
> C++Builder IDE, but the included pre-compiled binaries depend on several
> Borland's shared DLLs (not included). Thomas has supplied the thorough
> description of his changes in files
> and 'omniORB_2.6.1\bin\x86_win32cb\bcb_mods.txt' packed into the
> archive: "Major changes are that you have to export inner classes
> explicitly".
> After applying Thomas' changes, I tried to modify the omniORB 2.6.1 make
> files to get it compiled from the command line with the help of CygWin
> GNU make. I completely re-wrote bcc, tlib and tlink wrappers so they
> accept M$VC-style arguments and thus allowing for less changes in the
> make files. The same targets could be compiled but Borland's
> command-line tools seem to have a lot more bugs than the IDE, especially
> in the link phase. First, tlink32 ( can not link omniidl2 at all
> exiting with unknown fatal error. Second, all DLLs have to be linked
> against VCL library, else they crash at program start-up. Third (but not
> the last), there was always a number of unresolved external symbols
> which do not appear with IDE link. So I temporarily gave up.
> By that time omniORB 2.7.0 was out, so I decided to transfer the same
> Thomas' modifications and try to build it under IDE. It took not so much
> time and effort, but the current split of DLLs added to the mess with
> explicit import/export macros. Also, I had to introduce _CORBA_INLINE_FN
> and _CORBA_OUT_OF_LINE macros to work around some tricky C++Builder's
> bug with expanding inline methods accessing private data. If necessary,
> I may be able to write a more complete list of modifications.
> Currently the state of affairs is:
> - omkdepend builds and runs without any modifications;
> - bcc, tlib and tlink wrappers build and run, now accepting and
> translating essential M$VC-style arguments (use -msvc flag);
> - omniidl2 builds and runs;
> - omnithread2_rt, omniORB270_rt, omniDynamic270_rt DLL build and run
> when linked to other programs;
> - omniLC22_rt DLL builds but was not tested;
> - omniNames builds and runs;
> - omniORB utilities build, genior and catior run while convertior and
> nameclt were not tested;
> - omnithread examples build and run, except thrspecdata which abnormally
> terminates on joining thread;
> - echo examples (except eg3_tieimpl) build and run;
> - all other examples as well as omniEvents and omniProperties were not
> tried yet.
> The changes were applied to the original 2.7.0 distribution (without any
> of patches 39-45). All the modified files across the source tree are
> packed into the zipped archive accessible via anonymous ftp at
> . All the
> C++Builder IDE projects are placed separately in 'bcb' directory. The
> file is now about ~401 kB and was significantly updated since my
> previous e-mail posting. It does not currently include modified make
> files which I want to experiment with for some more time in the hope of
> getting them work after all.
> Though recently I will not be able to spend much time on the further
> work on the port, I will gladly answer any questions on it and
> appreciate any comments.


This CORBA service is contributed by Frank Lynch and William Hayes. This is an implementation of a persistent event service for omniORB2. For more information, follow this link.


Fabien Azavant sent us the following information about an Ada binding based on omniORB:

> We are pleased to announce the first beta release of AdaBroker, an
> IDL to Ada precompiler and a CORBA runtime based on OmniORB2.
> The WWW page for AdaBroker is:
> AdaBroker is released under the GNU General Public License. The software can
> be downloaded from the WWW page.
> Features :
> ----------
> - Most of the CORBA features are implemented except dynamic
> invocation. This includes CORBA types, CORBA exceptions, forward
> declarations and multiple inheritance. The Ada tasking is also
> working with AdaBroker. AdaBroker/Examples provides
> several examples of the available features.
> - This release has been successfully tested on Solaris. It has been
> reported to work on Linux (RedHat and Debian) with a home-built
> Ada and C++ compiler based on EGCS 1.1.1 and GNAT 3.11p.
> - If you need to debug AdaBroker, you can create a file adabroker.opt in
> your current directory. This file should contain lines with package
> names you want to debug. For instance, corba.orb will enable debug
> messages from package CORBA.ORB. If you want to debug C++ files, you
> can set the environment variable TRACELEVEL to a given naturel depending
> on how much detailed you want the output to be.
> Mailing-lists:
> --------------
> Several mailing-lists have been created for discussions around AdaBroker:
> - general discussions about AdaBroker
> To subscribe, send a mail to ""
> with the single line "subscribe" in the body (subject will be ignored)
> - low trafic mailing-list that will
> only carry important information about AdaBroker, such as new releases,
> beta test announces, etc.
> To subscribe, send a mail to
> "" with the single line
> "subscribe" in the body (subject will be ignored)

Port to RTEMS

Rosimildo DaSilva has developed a port of omniORB to the RTEMS operating system. Get more information here.


Philippe Merle has ported CorbaScript to run on omniORB. Get more information here.


For comments, feedback, etc, please see the 'Keeping in touch' page.
Copyright 1999 - AT&T Laboratories Cambridge