Re: Wicket and Tapestry was: [Cayenne vs. EOF...]

From: Robert Zeigler (rdzeigl...arizona.edu)
Date: Mon Feb 14 2005 - 12:49:34 EST

  • Next message: Eric Schneider: "Re: Wicket and Tapestry was: [Cayenne vs. EOF...]"

    Eric Schneider wrote:
    > Jonathan,
    >
    > Does wicket have built-in state management similar to Tapestry? (i.e.
    > persistent page and component properties, form rewind, etc.).
    >
    > Thanks,
    > eric

    I just checked the link out briefly; it does, indeed, have built-in
    state management. I just did a quick once over of the site, but, as far
    as I can tell, here are some of the key differences between the two
    frameworks:

    1) Tapestry gives you the choice of going stateful (through the session)
    or stateless. In wicket, all applications seem to be always stateful
    (via the session). In return, it looks like the state management may be
    a bit more transparent (in most but not all aspects) in wicket than in
    tapestry.

    2) Wicket components and pages consist of an html template (appears to
    be required) + a POJO class (also appears to be required). Tapestry
    components and pages consist of an html template (components may or may
    not have a template), a .jwc or .page (xml) configuration file, and a
    java class (optional). Thus, it looks like all configuration and wiring
    of objects to pages is done in java code in wicket, ala swing.

    3) All template-backing java classes in wicket are POJO. In tapestry,
    you have to implement the IComponent interface or the IPage interface,
    which usually consists of extending one of several base classes.
    However, HLS appears to be looking into ways to change that, so, look
    for POJO page and component classes in tapestry in the future.

    Other notes:

    The quickstarter page mentions that they assume you have at least java
    1.4 installed; I'm not sure if that means that wicket requires java 1.4,
    or if just the quickstarter kit requires it, but it's something to keep
    in mind.

    They make some claim about component libraries being worlds easier to
    put together than in tapestry of JSf. I can't speak for JSF, but
    tapestry component libraries are really pretty trivial to put together,
    so I think this is an exaggeration, personally.

    Both are available under the apache 2.0 license.

    I will stress the fact that I just did a pretty quick once over of the
    wicket site, so, take the post with grain of salt. =)

    Robert

    >
    > On Feb 14, 2005, at 12:02 PM, Jonathan Carlson wrote:
    >
    > Just to mention... Wicket is a Tapestry-like web framework that
    > hasn't reached 1.0 yet, but seems much simpler to learn than
    > Tapestry while still using a pure HTML markup like Tapestry. When
    > they get the UserDoc rewritten to reflect all the changes they've
    > made, it will be hard to beat. (IMHO :-) The original creater
    > worked at Sun on the Swing toolset (don't hold it against him :-)
    > and is a good documenter.
    >
    > http://wicket.sf.net
    >
    > - Jonathan
    >
    > P.S. No, I'm not a Wicket developer, but I'm a Tapestry-approach
    > admirer who has been very pleased with how quickly I've become
    > productive with Wicket.
    >
    >
    >
    > >>> michael_gentr..anniemae.com 2005-02-11 9:51:07 AM >>>
    > Just to beat on the drums some more, Cayenne is my new EOF. With
    > the 1.1 version, Cayenne really became capable of replacing EOF
    > (optimistic locking, etc) for my needs. The GUI modeler is useful
    > (compare to open source ORM frameworks). The framework and modeler
    > are under active development. Plus, you have the source code. Let
    > me repeat: You have the source code! I've been able to step through
    > the code in the Eclipse debugger to figure out what was going on
    > (usually my mistake, but sometimes you catch a Cayenne bug and when
    > you report the problem, which you can do with great precision, it
    > gets fixed -- quickly). The mailing lists are great. There is an
    > energy here that is missing with EOF/WO.
    >
    > I've started using Tapestry a bit, too. I'm by no means an expert,
    > but it seems to be WO-like. Has some nice things compared to WO,
    > but lacks some things in WO, too (can't reuse bindings is a big
    > annoyance). Cayenne works great inside Tapestry. Cayenne +
    > Tapestry + Tomcat: Free. Having the source code: Priceless.
    >
    > /dev/mrg
    >
    > -----Original Message-----
    > *From:* Dov Rosenberg [mailto:dov.rosenber..onviveon.com]
    > *Sent:* Thursday, February 10, 2005 7:52 PM
    > *To:* cayenne-use..bjectstyle.org
    > *Subject:* Re: Cayenne vs EOF: How to questions?
    >
    > That is good to hear. How dramatic of a change is it to move from
    > EOF to Cayenne? Are you using Tapestry as well? Have you come across
    > anything that has given you pause about Cayenne?
    >
    > Thanks in advance
    >
    >
    > --
    > Dov Rosenberg
    > Conviveon Corporation
    > http://www.conviveon.com
    >
    >
    >
    >
    > On 2/10/05 6:37 PM, "Bryan Lewis" <brya..aine.rr.com> wrote:
    >
    >
    > On the first question, I'm currently converting several old apps
    > from WebObjects 4.5 to Cayenne and have had no trouble keeping our
    > old flattened relationships. See the user's guide:
    >
    > http://objectstyle.org/cayenne/modelerguide/modeling-object-layer/flattenedrel.html
    >
    >
    >
    >
    >
    > ----- Original Message -----
    >
    > *From:* Dov Rosenberg <mailto:dov.rosenber..onviveon.com>
    >
    > *To:* cayenne-use..bjectstyle.org
    >
    > *Sent:* Thursday, February 10, 2005 5:52 PM
    >
    > *Subject:* Cayenne vs EOF: How to questions?
    >
    >
    > A few questions on the capabilities of Cayenne as compared to Apple
    > EOF
    >
    >
    >
    > 1. Does Cayenne support flattened relationships like EOF? If so,
    > what is the equivalent?
    > 2. I understand that Cayenne does not currently support
    > EOPrototypes to make it easier to switch between databases, what is
    > the Cayenne preferred method for supporting multiple databases?
    > Seems like it has something to do with DataMaps. Not sure though
    > 3. How can I programmatically swap out my connection dictionary at
    > application startup? I.e. Allow me to store userid/password in
    > separate file from the cayenne.xml and update them when the app
    > starts up.
    > 4. Is there a hook for generating primary keys on the client side
    > similar to what we currently do with a DatabaseContextDelegate and
    > our own guid generator?
    > 5. Is there any Cayenne support for doing lightweight, high volume
    > SQL processing (i.e. For batch updates)? EOF has too much overhead
    > for large amounts of sql processing in batch mode. Ideally a
    > smarter version of RawRowsForSQL that doesn’t create all the
    > objects in an object graph.
    >
    > Thanks in advance.
    >
    >
    >
    >
    > **********************************************************************
    > This email and any files transmitted with it are confidential and
    > intended solely for the use of the individual or entity to whom they
    > are addressed. If you have received this email in error please notify
    > the system manager.
    >
    > www.katun.com
    > **********************************************************************
    >



    This archive was generated by hypermail 2.0.0 : Mon Feb 14 2005 - 12:49:57 EST