The Trading Service is one of the CORBA Service Specifications. It can be seen as a generalization of the Naming Service; instead of merely providing a way for clients to search for available servers by name, it provides for servers to register their capabilities and clients to find them based on properties, specified via a simple constraint language. The full capabilities of the Trading Service are specified in official Trading Service Specification (local copy). There is an overview description in the textbook, but neither it nor the official specification has any significant example. There is a simple but helpful example in the following presentation:
CORBA Trading Service, by Matt Verminksi
Aside from their intended utility, the Naming Service, the Trading Service, and other CORBA Service Specifications are useful as examples of the use of IDL, since their interfaces and operations are presented in terms of IDL.
See also the CORBA Services Specifications section.
The MICO 2.2.5 and later distributions implement the Trading Service. There is a small example of use of the Trading service in the MICO distribution. The original version can be seen in Shawn's directory /cs/bisgrs/local/doc/mico/examples/trader, but some minor modifications were required to get it running here. The result is in
http://www.cs.rpi.edu/~musser/dsc/mico/examples/trader
I'll list the modifications, since similar changes may be necessary to get other MICO examples working:
to#include <mico/typerepo.h>
#include "typerepo.h".
With those changes the files should compile and link when you do make. (Note that you have to have set up bash environment variables as described by Shawn, and you must be running bash.)
One other change is required, in the run script. Change
to`pwd`/../../coss/trader/traderd
/cs/bisgrs/local/bin/traderd