You are not logged in Log in Join
You are here: Home » Members » Tres Seaver's Zope.org Site » COSNaming Browser » Where do we go from here? » View Document

Log in
Name

Password

 

Where do we go from here?

Initial Issues

  • Review names (e.g., "ObjectReference" ==> "CORBAObject"?)
  • Investigate use of "transient" objects within ZODB.
  • New bird: can we put a CosNaming interface on the ZODB itself, leveraging Medusa/ZServer's select reactor to drive the ORB? (probably Fnorb). What other interfaces should Zope expose to CORBA clients (probably isomorphic with MozillaXUL and wxZope/XMLRPC interfaces).

Prioritizing Use Cases

While displaying a treeview of the COSNaming tree will be cool, it won't be terribly useful until one can invoke methods on the leaf objects (who needs a phone book without a phone?). Getting basic invocation working is a prerequisite for NS browsing, too. Therefore, tackle the use cases as follows.

First Iteration

  1. Create an ObjectReference from an IOR/UOL
    • Bootstrap the object by pasting in an IOR/UOL.
    • Utility case for Add a NamingServiceRoot.
    • *Note that this OR will not be transient, but live in the ZODB like a normal object.*
  2. Add a CORBAMethod to an ObjectReference
    • Handle the most common case (static invocation) and defer deciding how to pick the name and parameters out of a generic Zope request.
  3. Invoke a CORBAMethod on an ObjectReference
    • Use DII to set up the request (we won't be generating stubs, and besides, Fnorb does it like this anyway.)

Second Iteration

  1. Add a NamingServiceRoot to the ZODB
    • Subclass Create an ObjectReference, but this time as a Folderish container which can hold other OR's (normal OR's hold only CORBAMethods).
  2. Request an ObjectReference from a NamingContext
    • Construct a transient NC/OR on demand.
    • Prerequisite for Browse the Hierarchy
  3. Browse the NamingContext Hierarchy
    • Exploit the tree tag, but ensure that NC's/OR's stay transient.
  4. Save an ObjectReference
    • Make the OR (which could be an NC, and therfor a new NSR?) persistent.
    • Req doc says to store NSR and path -- do we just save the IOR instead?

Third Iteration

  1. Invoke a Generic Method on an ObjectReference
    • Must establish a convention for passing method name and parameters.
    • Use form marshalling, for instance?
  2. Populate an ObjectReference with CORBAMethods
    • actually, this might be "populate a folder with...", since the saved OR's are likely to share CORBAMethods with others of their ilk.
    • Use IR, or allow parsing IDL?