Michel Pelletier <michel@digicool.com> wrote:
-----Original Message----- From: Kenneth Y.K. YOUNG [mailto:kyoung@kyoung.net] Sent: Wednesday, January 05, 2000 9:12 PM To: Zope-Dev Mailing List Cc: Hannu Krosing; Anthony Baxter Subject: RE: [Zope-dev] ODMG compliance?
My understanding of ODMG standard is superficial, but the motivation of examining Zope's standard compliance are as follows: (pls correct me if I'm wrong)
(1) how well it integrates with Corba - i.e. can I access Zope functions from programs written in perl/C/smalltalk/Java via corba, and have zope reuse Corba components written in these languages.
Corba integration does not exist, but it would not be dificult to do. As a corba client, you could take some third party python corba package and integrate it into a Zope product to create "CORBA Methods" that would word presumably like External Methods.
I am working on a Zope product which will use Fnorb (a 99.44% pure Python CORBA 2.2 ORB) to browse the names and objects published in any compliant COSNaming server. Fnorb maps "normal" Python method calls onto CORBA method calls, so once you have the reference (and know the interface), making such calls should be straightforward.
As a CORBA server you could create a new ZServer module. Remember, ZPublisher, the 'heart' of Zope, is an Object Request Broker (ORB) that maps quite cleanly onto CORBA. In the past when ZPublisher was Bobo, I beleive there was even some work done to make Bobo corba aware, I'm not certain.
In any case there has been no demand on us for it for a while now, corba is not a very active standard. XML-RPC seems to fill it's shoes quite well.
A CORBA server interface (probably using DSI) would be just another access path, like WebDAV or FTP; it would almost certainly have to live inside Medusa to avoid creating synchronization problems with the other protocols. The key problem (as with XML-RPC) is making the interface definitions available to the client -- marshalling the parameters is transparent. Zope's URL-traversal namespace is conceptually quite close to the graph used in COSNaming -- a CORBA client would, however, expect to "know" that some names were "objects", while others were "methods". <OQL discussion snipped due to my ignorance>
I couldn't tell you, but you could take a hack at it. I belive there are a couple Python corba packages.
Fnorb: http://www.dstc.edu.au/Fnorb Uses C for parsing IDL and marshalling CDR; all else Python. ILU: ftp://ftp.parc.xerox.com/pub/ilu/ilu.html C core, Python bindings, along with Lisp, Perl, C++ -- ========================================================= Tres Seaver tseaver@palladion.com 713-523-6582 Palladion Software http://www.palladion.com