It's not that different from creating a COM interface for you application (in fact, that's one path you can take: create a COM interface and use a COM/CORBA gateway app). You design an interface for the application (that is, the services it will provide to other applications) in IDL. You then run the IDL through the IDL compiler provided by your Object Request Broker (for a COM object you run the IDL through MIDL). The IDL compiler will generate code that has the C++ interfaces to the functions you described in IDL. You write the implementation of those functions, using the rest of your application. Then you link that together with your application and libraries provided by the ORB vendor. Usually, if you are being asked to do this your employer will have an ORB in mind. You'll have to get details from the ORB documentation. I think there are at least one or two open source ORBs around, as well.