This is the documentation for MPS, a Message Passing System, reminiscent of IDL but not as heavyweight. MPS was written by Tony Garnock-Jones (mailto:email@example.com), and is released under a BSD-style license. Please note that MPS is not compatible with OMG's CORBA (http://www.corba.org) and it does not use IIOP; it is a lightweight replacement for CORBA, not a drop-in CORBA implementation.
MPS supports interprocess communication (via sockets) between clients and servers in a CORBA-ish model, and currently supports clients and servers written in either C++ or Java. The software is known to work with recent versions of g++/egcs (for instance, 2.95.2) and Sun's JDK 1.1.7, 1.1.8 and 1.2, on platforms as varied as HPUX 10.20 (pa-risc), Sparc Solaris 2.6, and Redhat Linux 6.1 and 6.2 on Intel hardware.
MPS applications are platform- and language-independent. That is, an MPS client can be written in any supported language (currently C++ or Java) and will be able to communicate with any MPS server written in any language on any supported platform in a transparent manner.
To get an idea of what a simple MPS object might look like, have a look at the MpsSimpleExample. For a more detailed overview, take a look at MpsQuickTutorial. If you're interested in knowing how the system works internally, check out MpsBehindTheScenes. If you're interested in how well the system performs, check out MpsPerformance.