August 13th, 2002, 12:25 PM
Zope Vs. Java
Can anyone tell me the benefits and disadvantages of Zope vs. Java? I will build a complex web application with several services. I know about Java but lack in my knowledge of Zope. I would like some input for my decision. I desire my site to be easily maintainable, easy to change and create new sites, and be extremely secure.
August 24th, 2002, 11:02 PM
I have some experience with Java in general, though only a little with servlets and JSP. And since I just got back from a Zope class I'll add my $0.02 (I also have questions about the comparrison).
Since you know Java I'll focus on Zope.
- Administerable entirely through web interface --
you'll probably want to use a WYSIWYG editor to make
things look nice, but if you're stuck somewhere and you
need to fix a page you can always drop in to a local
Kinko's, log in through the web, and edit the page
(html, dynamic markup, Python scripts) through HTML
input forms. This is a major plus.
- Very nice security model. Like a full-blown o.s. in this respect--
you could easily give a client access to content resources
but restrict him/her from touching code. The client can access
Zope through the same web-based management screens
that you use, ie doesn't need shell access, which wouldn't
- Has a promising portal product, known as CMF, available for
free. Allows you to easily provide a site in which users
can register, get their own page with nested files and folders,
and post documents, images, etc. With considerably more
effort (but less effort than programming from scratch) you
can enforce workflow so that, for instance, documents must
be approved before they become public. Also has built in
- Quick edit-test cycle (no compile). This is part of what makes
web access appealing--you really might want to fix one small
thing in a script, for instance.
- Has a versioning feature that allows you to edit the entire
site, then click a button to make all the changes go live
at once. Not friendly to multiple users, I've heard, but
good for a solo project or projects with good division of
- Built in undo. You can back out of any screw up that's
confined to Zope (ie not in an external db).
- Some conveniences, like putting form variables into
python variables for form processing. You write less
code to peel objects.
- Python is very strong in two areas that apply here:
string processing and built-in data structures. You
script in Python (optionally: Perl). Java is a bit more
cumbersome though the functionality is there
with a few exceptions.
- Python libraries are strong, but for most things,
probably not as complete as Java's. There are
- Half-baked documentation
- Proven? Unknown.
- Performance? Some say it's a little slow.
- May be good for your own uses (very good in fact), but
your boss probably wouldn't go for it.
- Java libraries are in some places more complete.
In all, I'd say that if price, security *model*, or web access are very important to you, Zope is worth looking into. But of course,
you can do pretty much anything with either. It's just a question of how hard it would be--replicating the Zope security model, with users, roles, and permissions, for instance, would be a major undertaking.
September 6th, 2002, 03:04 AM
Zope is very good with the security aspect of things. You can create roles and then add users to certain roles. Plus you can also look up the users from an LDAP group (if you have one).
So say I am the administrator and then I have 4 people who are content managers. I can allow them access to edit the content but not the root folder. Or I can even give a person access to one specific folder.
At work we have removed the version feature, because in theory it is good. But if you start a version and then dont close it - the whole instance can get locked and no-one can edit/manage anything.
Real programmers code in binary