omniORB is an Object Request Broker (ORB) which implements version 2.6 of the Common Object Request Broker Architecture (CORBA). It supports the C++ and Python language bindings, is fully multithreaded, uses IIOP as the native transport, and comes complete with a COS Naming Service. omniORB is one of the fastest available C++ ORBs.
PyORBit is a Python binding for the ORBit2 CORBA ORB. It was developped to suit the needs of the bonobo bindings in GNOME-Python, but is usable for other purposes as well. It aims to follow the standard Python language mapping for CORBA. It can generate stubs at runtime from typelibs, IDL files, or by introspecting remote objects using ORBit2's IModule typelib capabilities.
TAO (The ACE ORB) is an advanced, CORBA-compliant, real-time Object Request Broker (ORB). It is designed to meet the stringent Quality of Service (QoS) requirements of real-time applications, resulting in superior end-to-end predictability, efficiency, and scalable performance. It implements the latest CORBA specifications from the OMG. It is built with components from the ADAPTIVE Communication Environment (ACE) C++ framework, resulting in a highly extensible architecture, adaptability to a wide variety of situations, and portability across a broad range of platforms. Although TAO was designed to meet the demanding requirements of real-time applications, it is also well-suited for general-purpose CORBA applications.
The SOAP to CORBA bridge/translator is written entirely in C++ and shows that it is indeed possible to do a generic translation of SOAP requests to CORBA method invocations and vice versa. This is implemented by using the CORBA Interface repository to match the incoming SOAP request to the corresponding CORBA service, build the dynamic invocation of the CORBA service, and generate the SOAP response (or possibly SOAP fault in the case of a CORBA user exception, for instance).