[Zope] j2ee & zope

Ender kthangavelu@earthlink.net
Sat, 25 Nov 2000 10:51:36 -0800


alan runyan wrote:
> 
> Ender pretty much summed everything I could say about J2EE
> and Zope.  but I can tell you why we chose EJB/BEA at our
> company rather than something like
> ZOPE/OpenMerchant/PHP/etc.
> 
> 1. we are consulting firm and we need to be able to leave a
> client.  ZOPE could (at the time, and I believe still can)
> can get pretty hairy and there just are not that many
> people who can grok high brow ZOPE.  There are plenty JAVA
> programmers, with years of experience.  The J2EE standard
> is just a set of API's Sun has set up for java programmers
> to work with.  The underlying implementation of the API
> and brand name is why you chose WBELOGIC over WEBSPHERE, or
> vice versa.

> 2. as others said in the previous posts: MessageQueueing,
> JDBC (this is significant, I still cant get the DCOracle to
> work), Transactions, Documentation (javadoc of j2ee),
> Distributed Objects (EJB's - entity beans have their place,
> but session beans usually most common approach to business
> logic), Persistence (entity beans are rarely used, ASAIS)
> and a Security model (pretty complex and confusing -- but
> acquisition and security can get pretty hairy as well).

zope doesn't have a native message queueing system, but if you after
something along the lines of MOM or JMS, you could interface to
xmlblaster.org (either corba, or xml-rpc). 

regarding db access, this is one of my sour points with zope right now ,
(and no i have gotten a working DCOracle yet either), although the
python dbi interface does mitigate somewhat programming portability
somewhat the implementation of adaptors in zope is limited by zope's
rbms access system to enforce penalties on adaptors and libraries which
are not fully thread-safe. DCOracle is the only maintained level 3
adaptor for zope right now and its a bitch to compile (why? i've never
had any problems compiling perl-oracle, aolserver/tcl->oracle,
java->oracle, where i need to track down all the shared libs in use). 

> 3. ZOPE has quite a lot of flexibility, but as far as
> implementing a exchange or large transaction heavy site, I
> just wouldnt do it.  I am pro-ZOPE all the way, but there
> has been very little (?) experience with building
> distributed systems w/ ZOPE and the community experience (I
> would imagine) leans more to Content heavy - simple
> transaction based websites.

Transactions - Zope's transaction system is pretty good IMO, and it does
support integration of external transaction aware systems. i agree with
chalu kim that whats needed are more examples of this type of
integration. i'm trying to work on some docs to hopefully flesh some of
this out, but i tend to be more productive writing code than docs:). do
you have an example of a large transaction heavy site?

> 4. Integration.  it would be nice to have ZOPE integrate w/
> J2EE (via J2EE connectors?). What I see as ZOPE's huge win
> is content management.  ZOPE is a inclusive system that
> integrates poorly w/ external systems (IMHO). you must hack
> up wget w/ custom scripts of rolling back.  (you can not
> push a button and say 'all marketing information is
> approved' - then it goes to the staging server, then what
> happens if you have created another version, and have
> packed the ZODB?) there is no way of reverting back to a
> historical version if you pack the database.  The PTK works
> fine for ZOPE.ORG, but how many businesses run their shop
> like zope.org?  I havent seen many paradigm except ZOPE.ORG
> or memepool.com that could work like the PTK is targeting
> (autonomous people posting content, how do people share
> documents/content?).

i disagree pretty strongly on integration, i feel the opposite, in fact,
one of zope's strengths is its integration ability. ldap, rdbms,
xml-rpc, smtp, pop, imap and whatever else you might care to roll in.

i think the issue your tackling here is integration with developer
tools, to provide cvs and the standard dev, test, prod environments, and
a real ide. zope's support here is sketchy and its very dependent to how
you develop a site. there is a separation here of where your code lies
and where your data lies. if you have fs code and db data than you can
use whatever traditonal tools that you're used to. if you're using ttw
development, zcvsmixin might provide some of the support you need
(although i don't recall that it did it meanigful diffs since its based
on export/import). the mounted db product can provide some support for
moving data from dev, test, prod environments. there was also a product
(i haven't looked at it) that hooked up two zope servers via xml-rpc
that might be useful for migrating content, esp if you can tie togther a
seamless export/import system. the whole ide issue is up in the air till
(IMO) till ActiveState releases the python-XPCOM bindings and then
hopefully some work can get started on getting ZopeStudio back on track.

> 5. Experience. not many people have had much experience
> (except DC) integrating ZOPE w/ large systems (anyone?).
> The reason why lots of these questions are coming up is
> because, a larger group of people are doing more with
> ZOPE.  using it in situations where people have not even
> thought about putting it.  I am fascinated by the system,
> but once you try to plop things on the filesystem and let
> ZOPE work in the background (role of CMS, not webserver)
> things start coming apart at the seams, the idea of
> versioning and rendering stuff out to the filesystem(how?)
> and then pushing it around the testing->staging->production
> environments-- there is no 'best practices' regarding using
> ZOPE as a seperate external tool (forget this all inclusive
> stuff - thats why Vignette is getting a bad reputation).

the number of people with such experience is growing, and it will only
grow as zope becomes more widely used (this is also one of the reasons
DC and hadzur(?sp) made zope opensource), and as this happens you get
more people capable of managing someone else zope's developed site or
developing a kickass zope site. 

btw. there is a good thread on zope-zeo about zope dev with regards to
best practices and dev/test/prod environments.

vignette- not to mention its also hugely expensive and lots of
functionality
bound up in expensive add on packages. 

> most of ZOPEs ideas are interesting.  and ZOPE wins in a
> lot of areas: ease of use, pre-built web interface,
> zClasses (great idea), ZODB (cool, but gets in the way
> sometimes, when you just want a filesystem), Security model
> (already there, on the web interface, a great easy-win),
> XML-RPC, and 3rd party products (LocalFS comes to mind)!
> I just would like to know how people used it when its a
> external tool, and trying to integrate it w/
> JSP/ASP/PHP/ETC.
 
you want examples of front end integration, but than you lose most of
the support for your examples of zope's benefits. 

kapil