When the ORB re-activates a servant, it passes the ObjectID to it before the invocation. Only then does the POA pass the invocation to the servant for execution. You can make use of these patterns in POA programming, without using Components, so we'll use those four patterns and their names here. The patterns are Service , Session , Process , and Entity . Of the four patterns, the Service pattern uses your server resources the most efficiently.
Service objects have Transient object references, saving server resources.
The Session pattern also uses a temporary object reference, but lasts for several calls by the same client . Because its reference is temporary, you would not register it in persistent storage such as a Naming or Trading service. Use Session objects for iterators or other objects that will be called some limited number of times in quick succession by the same client, and then discarded. Use this pattern to represent a medium-term process' functionality. The Entity pattern also has a persistent object reference, and has a strong identity.