<Disclaimer> I am very new to Zope and have just begun evaluating it, and it's XML capabilities in particular. </Disclaimer> First, I am very impressed with the Zope architecture and am happy to see XML being integrated into the process. I will defer specific comments on the XML roadmap but use the opportunity raise a more general question. There is a fair amount of XML capability in the Python XML-SIG, but there is even more capability in various Java/XML packages and with the use of JPython these packages can be integrated seamlessly with the XML-SIG packages - no glue code required. If Zope could run under JPython then a very large amount of XML/XSL/DOM capability would be automatically available. As an experiment I tried making the Zope python packages under JPython instead of CPython, and I only experienced one minor hitch so far, most everything compiled straight from the make files. That of course leaves the problem of all the parts of Zope which are written in C, and I have no idea how much of a problem it is porting that to Java (or constructing a JNI interface). But it might be worth comparing the effort required to get Zope working on JPython to the effort to port existing XML/XSL and other existing Java packages to Zope (Python or C-Extensions) Aside from the porting effort I realize that there are speed issues, but for some of us portability and the simple extensibility offered by the JPython /Java combination outweigh speed considerations. Hope this wasn't too off-topic, Michael ************************************************ Michael Rose Center for Tele-Information, Technical University of Denmark mailto:rose@tele.dtu.dk http://www.cti.dtu.dk/personal/rose Multimedia in the Home - http://mmhome.cit.dk 'and what is the use of a computer' thought Alice 'without pictures or conversation' with apologies to Lewis Carroll *************************************************
At 10:34 AM 7/21/99 +0200, Michael Rose wrote:
There is a fair amount of XML capability in the Python XML-SIG, but there is even more capability in various Java/XML packages and with the use of JPython these packages can be integrated seamlessly with the XML-SIG packages - no glue code required. If Zope could run under JPython then a very large amount of XML/XSL/DOM capability would be automatically available.
Yes, nice as the Python libraries are, there is probably more Java software than python software right now. Still I wouldn't discount the python libraries, there's a lot of very cool stuff there; it's true that Python comes with "batteries included". If you have a specific gripe about xml support under Python I think that you'll find the xml-sig folks to be very receptive.
As an experiment I tried making the Zope python packages under JPython instead of CPython, and I only experienced one minor hitch so far, most everything compiled straight from the make files. That of course leaves the problem of all the parts of Zope which are written in C, and I have no idea how much of a problem it is porting that to Java (or constructing a JNI interface). But it might be worth comparing the effort required to get Zope working on JPython to the effort to port existing XML/XSL and other existing Java packages to Zope (Python or C-Extensions)
I hate to rain on your parade, but I believe that getting all of Zope running under JPython would be a *large* undertaking. Just take a look at ZODB ;-) But don't let that stop you from trying, I'd love to be proved wrong. Getting parts of Zope running under JPython is not hard. In fact, a long time ago, I posted patches (to the bobo list, I think) to get the Zope ORB to run under JPython. IIRC I also got ZopeHTTPServer running under JPython, but despite being a long running process it was dog slow. Running Zope under JPython would be cool, but I don't think that it would be a very practical way to beef up its xml capabilities. OTOH, I can imagine lots of other cool things you could do, like extend ZPublisher to publish collections of Java Beans... Good luck! -Amos
Michael Rose wrote: I have just started using Zope as well and am still pleasantly surprised (still working on my first useful page). Zope on JPython is so compelling to me that I feel like that's the project for me. As I come up to speed on Java and Python, I'd like to take a crack at getting Zope onto JPython. I do have a question for the Digicool folks though, especially since this would seem to be a long-term project given all the C code and the comments on the size of the project. If a project like this were occurring, would DigiCool be happy to roll in the changes so that they didn't get lost? I can imagine being open to such a project, but I feel like if there isn't a serious commitment, JPython support might eventually just be wasted. (On the other hand, that seems unlikely given the increasingly compelling nature of Java both on the server and as a state of the art VM in speed and reliability.) I don't really understand the nature of servlets with respect to Zope, but I can't imagine having the choice between them would be too bad.
Aside from the porting effort I realize that there are speed issues, but for some of us portability and the simple extensibility offered by the JPython /Java combination outweigh speed considerations.
Ahh, speed. :-) This issue is actually (if I'm reading the tea leaves properly) a driver for moving Zope to JPython. According to a presentation at JavaOne by the originator of JPython, JPython is currently on par (or thereabouts, I don't exactly remember) with Python, and the prospects for increased speed above (C)Python are on the horizon. I don't have PowerPoint, so I can't extract the details right now, but the following link has PowerPoint slides for the JavaOne presentation if anyone is interested in peeking: http://www.jpython.org/jpython-talk-1.ppt One of the key points to me was that the Java VM technology has advanced so far so fast that it's outstripping previous VMs dramatically. I don't remember if the speedups already included the HotSpot 1.0 JVM, but the HotSpot 2.0 JVM is supposed to be another 30+% faster, so I believe that'll make JPython that much faster than (C)Python. Anyway, I think the wonderful dovetailing of Java and JPython would make Zope even more incredible than it already is and that's what I'm hoping for (since those are my three platforms of choice: Java, Zope, (J)Python). If the project gets formal, I'd love to contribute as I can! Cheers, = Joe "enjoying Zope for the first time" Grace =
participants (3)
-
Amos Latteier -
Joe Grace -
Michael Rose