[omniORB] newbie quick queries

Duncan Grisby duncan at grisby.org
Mon Jun 30 12:08:40 BST 2003


On Friday 27 June, Eric Damphousse wrote:

>     I have my client on one machine, server on another, up and running. 
> On the server, there is an object that the client wants to use. Does the 
> object need         to be running (instantiated) for it to be usable, or 
> can the server start it up when the client queries for it. If so, can 
> someone clue me in... cause I have         found nothing (which doesn't 
> mean much) on how to do this. Under COM I would need to do a 
> cocreateinstance of the object, and it would start up, if     not 
> already running. Is there something similar I can do with CORBA.

As others have pointed out, the COM and CORBA object models are
fundamentally different. CORBA has a classical object model, where
objects are first class entities. In COM, classes are the first class
entities.

So, in CORBA, the simple thing to do is to activate an object, and
then that instance is available to clients. If you want clients to be
able to be able to create objects in the server, the usual thing to do
is to use the factory pattern, where you activate a factory object,
and that object activates the required objects on demand.

The POA has various mechanisms, like servant activators and servant
managers, that allow servants for objects to be created when clients
request them. This is different from the factory pattern, in that it
deals with the activation of servants, rather than CORBA objects,
which are virtual entities.

I gave a presentation about some of those things at the European
Python Conference last week. This evening, I'll be uploading my slides
from the talk to

  http://www.grisby.org/presentations/

If you want to be able to start the server process on demand, you need
an implementation repository. One of those for omniORB is work in
progress.

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --



More information about the omniORB-list mailing list