Implementation Repository in TAO

The purpose of the Implementation Repository in TAO is for the automatic activation of a TAO server when a method is invoked but the server is not running. It does this by working with the server to keep track of when it is activated and stores information on how to reactivate it. Method invocations on the server will actually be sent to the Implementation Repository, which will then be able to start the server process if it is not already running and forward the invocation to the real server.

In the pages here (and in most of the documentation written for it), Implementation Repository will often be shortened to ImplRepo or IR.


Resources

The IR in TAO was first based on a paper on the subject by Michi Henning called Binding, Migration, and Scalability in CORBA. Mr. Henning later went on to coauthor the book Advanced CORBA Programming in C++ and included a chapter on the Implementation Repository. The description of the IR in this chapter is used as the specification for TAO's IR.

Users Guide - Overall documentation on how to use the IR in your programs.

The Paper - A paper that has a general description of the IR. This is also where to look to find information on the inner working of the IR. Be warned, it was written a while ago and there has been several changes since then in the implementation.


The Future

A large part of the IR has been implemented, but there are several areas that are not finished or complete yet.

Feature Status
Persistence It was removed because of ACE subsetting issues, and a new strategy is in the works.
Environment Variables In the IDL interface, but not used on the server side or implemented in tao_ir
Logical Server names In the IDL interface, but not used on the server side or fully implemented in tao_ir
Server Shutdown Only cooperative shutdown implemented.
POA/ORB Integration Only some options have been added, but the general work is still in prograss.
Multicast location of IRs The client part is in the ORB, but the server doesn't listen for it yet.
Client-side Optimizations Nothing planned yet
Server Security Nothing planned yet
Federations Nothing planned yet
DLL servers Nothing planned yet

Who wrote it?

The guy currently in charge of the IR is Darrell Brunsch <brunsch@cs.wustl.edu>. You can reach me by either email (which is better), or through the ACE mailing list <ace-users@cs.wustl.edu>, or through the comp.soft-sys.ace newsgroup. The newsgroup mirrors the mailing list, but not the other way. Also, if you use the mailing list, it is best if you join it before sending a question since responses are usually just replied back to the group.


Back to the TAO Documentation.