[Zope-dev] ZServer design ideas: gneeral comments

Ross J. Reedstrom reedstrm@rice.edu
Mon, 12 Apr 1999 14:54:18 -0500


Hey all!
I recently returned from the IEEE Metadata '99 meeting, and had some
thoughts that I nned to share with the Zope developers. First off, I did
a little evangelism, recomending scripting in general and Zope/Python in
particular where ever I could :-) One particular case involves a
software/data archive at a NASA. Under the title "Smart Data, Dump
Archive", they've come up wit some thing they call 'buckets' that serve
to contain data and associated software to act on that data, that can be
moved around between archives, and is accessed through the web. Hmm,
sounds like WWW enabled objects with methods, doesn't it? Where have I
heard this before? They are currently hand crafting perl/CGI to do all
this, so I recommended a look-see at Zope. The one piece they're looking
for that Zope doesn't do well right now is the packaging everything up
and moving it around part. Mostly because of the 'fear of pickles' issue
- err, I mean 'fear of arbitrary foreign code'. 

A second point from the meeting was about interoperability. The general
concensus was "Standards, Standards, Standards, oh and then some more
Standards". Admitedly, there's more standards than you can shake a stick
at covering all aspects of something like this, but the one application
I though of was ZServer.

My understanding is that it is ZServer's job to provide different
"views" of the ZopeBase (err, what was the agreed on term for this?).
One of design issues around the FTP view is what to do with attributes
and methods of docs.  One suggestion was an XML doc, containing the
extra info.  All that 'extra info' is what the whole meeting was about,
namely Metadata! There exists now a proposal to the OMG (Object Managent
Group - the CORBA people) to fold aspects of UML into XML and call it
XMI - XML Metadata Interchange.  It's a little verbose (what commitee
standard isn't?) but there are working implementations in use in the
database world, allowing exchange of object schemas and such between
different vendors tools. Take a look at: 

http://www.oasis-open.org/cover/xmi.html

an archived version of the announcement of the modified proposal:

http://www.omg.org/archives/orbos/msg00702.html

To quote IBM (one of the submittees) on the proposal: 

"The main purpose of XMI is to enable easy interchange of metadata
between modeling tools (based on the OMG UML) and between tools and
metadata repositories (OMG MOF based) in distributed heterogeneous
environments. XMI integrates three key industry standards: 1) XML -
eXtensible Markup Language, a W3C standard; 2) UML - Unified Modeling
Language, an OMG modeling standard; 3) MOF - Meta Object Facility and
OMG modeling and metadata repository standard."

From Zope's point of view, it provides an standard DTD creating an XML
representation of the ZopeBase.

HTH,
Ross

-- 
Ross J. Reedstrom, Ph.D., <reedstrm@rice.edu>
NSBRI Research Scientist/Programmer
Computer and Information Technology Institute
Rice University, 6100 S. Main St.,  Houston, TX 77005