Q-Java is an embedding of Q/CORBA into the Java language.
Q/CORBA is a messaging system used as part of the ARPA sponsored Arcadia project. Q/CORBA provides both remote procedure call (RPC) and message-passing semantics as a layer above Unix sockets. It can provide both the Open Network Computing (ONC) industrial standard (the one underlying NFS) as well as CORBA2 IIOP. The Q/CORBA home page provides more details about the capabilities of Q/CORBA.
Selected Q-Java capabilities include the following.
Q-Java is delivered as part of Q/CORBA version 3.3f or later, which is available for distribution through SRM.
Alternatively, Q-java can be retrieved via FTP:
In order to construct Q/CORBA, you will also need either the Arpc support package or the arctic support package. Arpc is a re-engineered version of the publically available Sun ONC RPC/XDR, version 4.0. arctic is an implementation of the CORBA2 IIOP.
Q/CORBA provides both remote procedure call (RPC) and message-passing semantics. One of the claims for Q/CORBA is that it is designed to be easy to embed into many programming languages. The non-blocking substrate architecture makes Q/CORBA especially easy to insert into concurrent languages when compared to other RPC systems. For a more detailed description of the Q/CORBA architecture, see our ICSE18 paper.
Recently, another Arcadia consortium member wanted to use Java, and they requested us to examine the possibility of adding Q/CORBA to Java. We were intrigued by the problem since Java is a concurrent language and offered a nice test of our claims.
Over the course of 5 days, we were able to do the following:
The rapidity with which we could insert Q/CORBA into Java provides a clear validation of our claims for multi-language support with Q/CORBA, and for our claim that we can embed Q/CORBA into concurrent languages very quickly.