Thread: Zope Vs. Java

    #1
  1. No Profile Picture
    Junior Member
    Devshed Newbie (0 - 499 posts)

    Join Date
    Aug 2002
    Posts
    0
    Rep Power
    0

    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.
  2. #2
  3. No Profile Picture
    Junior Member
    Devshed Newbie (0 - 499 posts)

    Join Date
    Aug 2002
    Location
    Wichita, KS
    Posts
    1
    Rep Power
    0
    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.

    Zope Pros:
    - 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
    be appropriate.

    - 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
    search.

    - 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
    labor.

    - 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
    exceptions, though.


    Zope Cons:
    - 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.

    -- Matt
  4. #3
  5. No Profile Picture
    Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Aug 2000
    Location
    Australia
    Posts
    111
    Rep Power
    15
    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.

    wabirdman
    Real programmers code in binary

IMN logo majestic logo threadwatch logo seochat tools logo