[Zope] Java Port

Joe Grace occam@serv.net
Tue, 02 Nov 1999 20:06:50 -0800


Smoerk,

I totally agree.

I would love to have Zope/JPython running on Java.  Use java for
heavy-lifting (speed a la C++, deluxe garbage collection, GUI, etc.) and
JPython for everything else.

Servlets would be great if nothing else than to take advantage of all
the Java Servlet code that's coming available to tie some servlet(s)
into Zope (or just using it/them from Zope).

Automatic dovetail with Java object model would an absolute godsend.
Get Zope communicating with Java applets hassle free and fairly
efficiently (XML-RPC may be pretty hassle-free but requires XML (gulp)
and not efficient).  XML-RPC is the best standards based approach I know
of now.

I think dovetailing Zope with Java would make a whole lot of
"alternative technology" folk far more comfortable with Zope (think
checkbox: "Does it support Java?").  Basically, I think there's an
attitude with many technologies, that if you're not for them, you're
against them.  If it's not that, just the sheer convenience of built-in
support would be worth a lot.  Plus, Zope could become embeddable in any
Java solution.  That would be great for Zope.

-=-

The speed-up might be there.  It certainly seems like there should be
some.  However, JPython is not optimized yet and is really still a work
in progress.  There's some idea that Python could morph/evolve in two or
so years (i.e., a long time).  One possibility for this morph would be
to dovetail with Java better (i.e., to run on JVM's better).  Right now,
the Python language is 'defined' (i.e., implemented in CPython and
emulated in JPython) so that primitive types in Java are not taken fully
advantage of (I believe).  Apparently, with a few tweaks (but
unfortunately not backwards compatible tweaks) to the Python language,
JPython could run magnitudes faster (on the order of 10-100x faster).
Needless to say, that would make for a great scripting language.

All of this is pie in the sky and a long way a way.  The reason it's
possible is that Guido (father of Python) is with the advent of JPython
considering actually defining Python formally, i.e., separately from
CPython.  They never needed that before JPython came along.  He's also
made some noises (as I understand it) that a rev2 Python may be in the
works.  I assume these two efforts would be related but I could be
wrong.

-=-

Finally, on a coder side, there's been some discussion on this topic
before.  DC has reflected on the subject and pointed out some
non-trivialities of porting to Java (mainly (?) C code).  I imagine it's
non-trivial, but getting something running might be reasonable.  I don't
know if there would be any licensing restrictions; I'm afraid (???) the
ZODB has some funny license for use only with Zope.  I don't know if a
Java Zope would still be Zope or what any licensing snafus would do.

Also, DC has never sounded enthusastic about Java though it's been
mentioned in terms of "strategic direction".  I don't really understand
what the scoop on that is.

That's all.  Good post!-)

= Joe "Just trying to understand Zope 101 before jumping off the deep
end" Grace =



"smoerk@gmx.de" wrote:

> Did anyone try to port Zope to Java (using JPython)?
>
> But why do I think it's nice to have a Java-Zope?
>
> - using Java classes with Zope
> - running servlets and/or running Zope as servlet
> - performance could benefit from JIT compilers or compile Zope as
> native binary (gcj)
>
> - portability? not sure if Java is more portable than Python ;)
>
> Smoerk
>
> _______________________________________________
> Zope maillist  -  Zope@zope.org
> http://www.zope.org/mailman/listinfo/zope
>
> (Related lists - please, no cross posts or HTML encoding!
>
> To receive general Zope announcements, see:
> http://www.zope.org/mailman/listinfo/zope-announce
>
> For developer-specific issues, zope-dev@zope.org -
> http://www.zope.org/mailman/listinfo/zope-dev )