You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Adam Czysciak <ad...@gmail.com> on 2005/07/05 08:27:03 UTC
Rewinding - why such a design?
Hi,
At the beginning - hello everyone, I'm new here. And - starting with
question. Probably it was already here many times, so please point me
the URL to the archivized message so we don't spam the group:)
My question is directed rather to Howard himself - why do we need
rewinding in Tapestry? Well, I've read this part of "Tapestry in
Action", so it's not "please explain me what it is". Just wondering - why?
This causes so many Stale Exceptions. As for me, it conflicts with
the idea of components design. A simple example - three components, one
for displaying item, second for adding subitems, third for displaying
subitems. Everything in one form, put one by one. What happens if I add
new subitem? You know the answer. Well, I can easily solve it as
everyone suggests everywhere, by performing actions in form submit,
after it's all rewinded... But the huge problems appears if a Page has
the form, and subcomponents are form elements (well, maybe it's such a
special case?) and due to our components-design we want to split the
actions.
What is the most unclear to me - ... Howard mentions he was basing on
WebObjects. I'm 2 years now using WebObjects, and there things simply
work! Of course I don't blame Howard - he did a great job with Tapestry!
But my question is - what caused the problems he couldn't jump over with
such a basic fields? This Stale exceptions, using special Conditionals
in Forms? I don't get it (yet)...
--
Greets!
Adam Czysciak
adam.czysciak@gmail.com
Sun Certified Programmer for the Java 2 Platform, SE 5.0
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
RE: Rewinding - why such a design?
Posted by Patrick Casey <pa...@adelphia.net>.
I've never worked with WO, so I can't really offer an insight into
the relative merits of the two. One thing I will note though is that the
very first "real" work I did with my tapestry app was to add a persistence
layer so I wouldn't have to deal with the rewind cycle.
Intellectually, I understand where Howard is coming from (server
side state *is* expensive), but from a my personal standpoint it's a price
I'm more than willing to bear for code and debugging simplicity. The rewind
process is just inherently "frail". You can take steps to minimize the
frailness, use some of Mind Bridges components, use a data squeezer, etc.
IMHO though, those sorts of robust approaches should be the default.
If a user is really performance limited, they can use the rewind
approach and save some memory on the back end. For the vast majority of
users though, a more memory intensive but developmentally robust approach is
what they're looking for. It's my biggest concern with Tapstry and the
reason that last night at a 4th of July BBQ I was able to recommend
Hibernate whole-heartedly, but could only suggest he "take a look at"
Tapesry.
--- Pat
-----Original Message-----
> From: Geoff Hopson [mailto:geoff.hopson@gmail.com]
> Sent: Tuesday, July 05, 2005 11:39 AM
> To: Tapestry users
> Subject: Re: Rewinding - why such a design?
>
> All the responses don't really address the questions raised by Howards
> comments. I would be interested in hearing opinion from the Tapestry
> crowd as to why Tapestry addresses these issues better than WO, as an
> education to me and many others.
>
> On 05/07/05, Geoff Hopson <ge...@gmail.com> wrote:
> > As a WO developer of many years and a recent Tapestry convert, I would
> > appreciate it if you would itemise :
> > - why WO doesn't work so well in a J2EE environment
> > - why WO consumes more memory
> > - what are the scalability problems?
> >
> > If you could contrast that with how Tapestry does it better, that
> > might help a few more folks from the WO world appreciate Tapestry and
> > understand why certain decisions have been made the way they have.
> >
> > Best wishes
> > Geoff
> >
> >
> > On 05/07/05, Howard Lewis Ship <hl...@gmail.com> wrote:
> > > WO takes a very different approach to maintaiing state on the server,
> > > one that doesn't work so well in a J2EE env. and consumes much memory,
> > > leading to scalability problems.
> > >
> > > I prefer Tapestry's approach. Further, MB's new If and For components
> > > will make the whole process much more transparent.
> > >
> > >
> > > On 7/5/05, Adam Czysciak <ad...@gmail.com> wrote:
> > > > Hi,
> > > >
> > > > At the beginning - hello everyone, I'm new here. And - starting
> with
> > > > question. Probably it was already here many times, so please point
> me
> > > > the URL to the archivized message so we don't spam the group:)
> > > >
> > > > My question is directed rather to Howard himself - why do we need
> > > > rewinding in Tapestry? Well, I've read this part of "Tapestry in
> > > > Action", so it's not "please explain me what it is". Just wondering
> - why?
> > > >
> > > > This causes so many Stale Exceptions. As for me, it conflicts
> with
> > > > the idea of components design. A simple example - three components,
> one
> > > > for displaying item, second for adding subitems, third for
> displaying
> > > > subitems. Everything in one form, put one by one. What happens if I
> add
> > > > new subitem? You know the answer. Well, I can easily solve it as
> > > > everyone suggests everywhere, by performing actions in form submit,
> > > > after it's all rewinded... But the huge problems appears if a Page
> has
> > > > the form, and subcomponents are form elements (well, maybe it's such
> a
> > > > special case?) and due to our components-design we want to split the
> > > > actions.
> > > >
> > > > What is the most unclear to me - ... Howard mentions he was
> basing on
> > > > WebObjects. I'm 2 years now using WebObjects, and there things
> simply
> > > > work! Of course I don't blame Howard - he did a great job with
> Tapestry!
> > > > But my question is - what caused the problems he couldn't jump over
> with
> > > > such a basic fields? This Stale exceptions, using special
> Conditionals
> > > > in Forms? I don't get it (yet)...
> > > >
> > > > --
> > > > Greets!
> > > > Adam Czysciak
> > > > adam.czysciak@gmail.com
> > > > Sun Certified Programmer for the Java 2 Platform, SE 5.0
> > > >
> > > >
> > > > --------------------------------------------------------------------
> -
> > > > To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> > > > For additional commands, e-mail: tapestry-user-
> help@jakarta.apache.org
> > > >
> > > >
> > >
> > > --
> > > Howard M. Lewis Ship
> > > Independent J2EE / Open-Source Java Consultant
> > > Creator, Jakarta Tapestry
> > > Creator, Jakarta HiveMind
> > >
> > > Professional Tapestry training, mentoring, support
> > > and project work. http://howardlewisship.com
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> > > For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> > >
> > >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
Re: Rewinding - why such a design?
Posted by Geoff Hopson <ge...@gmail.com>.
I guess it falls on Howard to clarify his statements. I would have a
crack but my knowledge of WO far outstrips my Tapestry knowledge, and
right now I am failing to see many advantages to Tapestry over what WO
gives me (other than the price).
Howard?
On 05/07/05, Mind Bridge <mi...@yahoo.com> wrote:
> Hi,
>
> I am not versed very much in WO either, and I would prefer to avoid the
> comparison for the time being as a result.
>
> As Howard mentioned, the If, Else, and For components in 4.0 eliminate the
> StaleLink exceptions in Tapestry applications. They automatically detect if
> placed in a form and store their state as Hidden fields. As a result the
> rewind is guaranteed to repeat the corresponding render. The server state
> (the session) is not loaded either -- you get the best of both worlds...
>
> 3.0 already had FormConditional and ListEdit, but you had to make an
> explicit choice whether to use them. This is now implicit as If is to
> replace Conditional and For is to replace Foreach. You do not have to worry
> about making the choice anymore.
>
> Best regards,
> -mb
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
Re: Rewinding - why such a design?
Posted by Mind Bridge <mi...@yahoo.com>.
Hi,
I am not versed very much in WO either, and I would prefer to avoid the
comparison for the time being as a result.
As Howard mentioned, the If, Else, and For components in 4.0 eliminate the
StaleLink exceptions in Tapestry applications. They automatically detect if
placed in a form and store their state as Hidden fields. As a result the
rewind is guaranteed to repeat the corresponding render. The server state
(the session) is not loaded either -- you get the best of both worlds...
3.0 already had FormConditional and ListEdit, but you had to make an
explicit choice whether to use them. This is now implicit as If is to
replace Conditional and For is to replace Foreach. You do not have to worry
about making the choice anymore.
Best regards,
-mb
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
Re: Rewinding - why such a design?
Posted by Geoff Hopson <ge...@gmail.com>.
All the responses don't really address the questions raised by Howards
comments. I would be interested in hearing opinion from the Tapestry
crowd as to why Tapestry addresses these issues better than WO, as an
education to me and many others.
On 05/07/05, Geoff Hopson <ge...@gmail.com> wrote:
> As a WO developer of many years and a recent Tapestry convert, I would
> appreciate it if you would itemise :
> - why WO doesn't work so well in a J2EE environment
> - why WO consumes more memory
> - what are the scalability problems?
>
> If you could contrast that with how Tapestry does it better, that
> might help a few more folks from the WO world appreciate Tapestry and
> understand why certain decisions have been made the way they have.
>
> Best wishes
> Geoff
>
>
> On 05/07/05, Howard Lewis Ship <hl...@gmail.com> wrote:
> > WO takes a very different approach to maintaiing state on the server,
> > one that doesn't work so well in a J2EE env. and consumes much memory,
> > leading to scalability problems.
> >
> > I prefer Tapestry's approach. Further, MB's new If and For components
> > will make the whole process much more transparent.
> >
> >
> > On 7/5/05, Adam Czysciak <ad...@gmail.com> wrote:
> > > Hi,
> > >
> > > At the beginning - hello everyone, I'm new here. And - starting with
> > > question. Probably it was already here many times, so please point me
> > > the URL to the archivized message so we don't spam the group:)
> > >
> > > My question is directed rather to Howard himself - why do we need
> > > rewinding in Tapestry? Well, I've read this part of "Tapestry in
> > > Action", so it's not "please explain me what it is". Just wondering - why?
> > >
> > > This causes so many Stale Exceptions. As for me, it conflicts with
> > > the idea of components design. A simple example - three components, one
> > > for displaying item, second for adding subitems, third for displaying
> > > subitems. Everything in one form, put one by one. What happens if I add
> > > new subitem? You know the answer. Well, I can easily solve it as
> > > everyone suggests everywhere, by performing actions in form submit,
> > > after it's all rewinded... But the huge problems appears if a Page has
> > > the form, and subcomponents are form elements (well, maybe it's such a
> > > special case?) and due to our components-design we want to split the
> > > actions.
> > >
> > > What is the most unclear to me - ... Howard mentions he was basing on
> > > WebObjects. I'm 2 years now using WebObjects, and there things simply
> > > work! Of course I don't blame Howard - he did a great job with Tapestry!
> > > But my question is - what caused the problems he couldn't jump over with
> > > such a basic fields? This Stale exceptions, using special Conditionals
> > > in Forms? I don't get it (yet)...
> > >
> > > --
> > > Greets!
> > > Adam Czysciak
> > > adam.czysciak@gmail.com
> > > Sun Certified Programmer for the Java 2 Platform, SE 5.0
> > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> > > For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> > >
> > >
> >
> > --
> > Howard M. Lewis Ship
> > Independent J2EE / Open-Source Java Consultant
> > Creator, Jakarta Tapestry
> > Creator, Jakarta HiveMind
> >
> > Professional Tapestry training, mentoring, support
> > and project work. http://howardlewisship.com
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> >
> >
>
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
Re: Rewinding - why such a design?
Posted by Juan Esteban Maya <jm...@gmail.com>.
When some one ask if tapestry is ready to production enviroment i
always mention
TSS migration to tapestry...here is the article
http://www.theserverside.com/news/thread.tss?thread_id=31313
On 7/5/05, Adam Czysciak <ad...@gmail.com> wrote:
> Geoff Hopson wrote:
>
> > If you could contrast that with how Tapestry does it better, that
> > might help a few more folks from the WO world appreciate Tapestry and
> > understand why certain decisions have been made the way they have.
> Maybe it could be under some Wiki page, let's say TapestryVsWebObjects ?
> I had a task at our company (we're in WO for 6 years now) to have a look
> at Tapestry and try to compare it to Web Objects. I'd appreciate any
> feedback on this topic. The main question was - is Tapestry ready to
> be used in production environment?
>
> --
> Greets!
> Adam Czysciak
> adam.czysciak@gmail.com
> Sun Certified Programmer for the Java 2 Platform, SE 5.0
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>
>
--
"The passion for destruction is also a creative passion!"
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
Re: Rewinding - why such a design?
Posted by Hugo Palma <hp...@digitalis.pt>.
As for that question, if your talking about 3.0 then the answer is yes.
You can find in this mailing list lot's of references to projects that
are on production with tapestry.
Cheers
Hugo
Adam Czysciak wrote:
> Geoff Hopson wrote:
>
>> If you could contrast that with how Tapestry does it better, that
>> might help a few more folks from the WO world appreciate Tapestry and
>> understand why certain decisions have been made the way they have.
>
> Maybe it could be under some Wiki page, let's say TapestryVsWebObjects ?
> I had a task at our company (we're in WO for 6 years now) to have a look
> at Tapestry and try to compare it to Web Objects. I'd appreciate any
> feedback on this topic. The main question was - is Tapestry ready to
> be used in production environment?
>
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
Re: Rewinding - why such a design?
Posted by Hugo Palma <hp...@digitalis.pt>.
Forgot about the wiki.
http://wiki.apache.org/jakarta-tapestry/SuccessStories
Cheers
Hugo
Adam Czysciak wrote:
> Geoff Hopson wrote:
>
>> If you could contrast that with how Tapestry does it better, that
>> might help a few more folks from the WO world appreciate Tapestry and
>> understand why certain decisions have been made the way they have.
>
> Maybe it could be under some Wiki page, let's say TapestryVsWebObjects ?
> I had a task at our company (we're in WO for 6 years now) to have a look
> at Tapestry and try to compare it to Web Objects. I'd appreciate any
> feedback on this topic. The main question was - is Tapestry ready to
> be used in production environment?
>
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
Re: Rewinding - why such a design?
Posted by Adam Czysciak <ad...@gmail.com>.
Geoff Hopson wrote:
> If you could contrast that with how Tapestry does it better, that
> might help a few more folks from the WO world appreciate Tapestry and
> understand why certain decisions have been made the way they have.
Maybe it could be under some Wiki page, let's say TapestryVsWebObjects ?
I had a task at our company (we're in WO for 6 years now) to have a look
at Tapestry and try to compare it to Web Objects. I'd appreciate any
feedback on this topic. The main question was - is Tapestry ready to
be used in production environment?
--
Greets!
Adam Czysciak
adam.czysciak@gmail.com
Sun Certified Programmer for the Java 2 Platform, SE 5.0
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
Re: Rewinding - why such a design?
Posted by Ahmed Mohombe <am...@yahoo.com>.
> If you could contrast that with how Tapestry does it better, that
> might help a few more folks from the WO world appreciate Tapestry and
> understand why certain decisions have been made the way they have.
+1
Ahmed.
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
Re: Rewinding - why such a design?
Posted by Geoff Hopson <ge...@gmail.com>.
As a WO developer of many years and a recent Tapestry convert, I would
appreciate it if you would itemise :
- why WO doesn't work so well in a J2EE environment
- why WO consumes more memory
- what are the scalability problems?
If you could contrast that with how Tapestry does it better, that
might help a few more folks from the WO world appreciate Tapestry and
understand why certain decisions have been made the way they have.
Best wishes
Geoff
On 05/07/05, Howard Lewis Ship <hl...@gmail.com> wrote:
> WO takes a very different approach to maintaiing state on the server,
> one that doesn't work so well in a J2EE env. and consumes much memory,
> leading to scalability problems.
>
> I prefer Tapestry's approach. Further, MB's new If and For components
> will make the whole process much more transparent.
>
>
> On 7/5/05, Adam Czysciak <ad...@gmail.com> wrote:
> > Hi,
> >
> > At the beginning - hello everyone, I'm new here. And - starting with
> > question. Probably it was already here many times, so please point me
> > the URL to the archivized message so we don't spam the group:)
> >
> > My question is directed rather to Howard himself - why do we need
> > rewinding in Tapestry? Well, I've read this part of "Tapestry in
> > Action", so it's not "please explain me what it is". Just wondering - why?
> >
> > This causes so many Stale Exceptions. As for me, it conflicts with
> > the idea of components design. A simple example - three components, one
> > for displaying item, second for adding subitems, third for displaying
> > subitems. Everything in one form, put one by one. What happens if I add
> > new subitem? You know the answer. Well, I can easily solve it as
> > everyone suggests everywhere, by performing actions in form submit,
> > after it's all rewinded... But the huge problems appears if a Page has
> > the form, and subcomponents are form elements (well, maybe it's such a
> > special case?) and due to our components-design we want to split the
> > actions.
> >
> > What is the most unclear to me - ... Howard mentions he was basing on
> > WebObjects. I'm 2 years now using WebObjects, and there things simply
> > work! Of course I don't blame Howard - he did a great job with Tapestry!
> > But my question is - what caused the problems he couldn't jump over with
> > such a basic fields? This Stale exceptions, using special Conditionals
> > in Forms? I don't get it (yet)...
> >
> > --
> > Greets!
> > Adam Czysciak
> > adam.czysciak@gmail.com
> > Sun Certified Programmer for the Java 2 Platform, SE 5.0
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> >
> >
>
> --
> Howard M. Lewis Ship
> Independent J2EE / Open-Source Java Consultant
> Creator, Jakarta Tapestry
> Creator, Jakarta HiveMind
>
> Professional Tapestry training, mentoring, support
> and project work. http://howardlewisship.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
Re: Rewinding - why such a design?
Posted by Howard Lewis Ship <hl...@gmail.com>.
WO takes a very different approach to maintaiing state on the server,
one that doesn't work so well in a J2EE env. and consumes much memory,
leading to scalability problems.
I prefer Tapestry's approach. Further, MB's new If and For components
will make the whole process much more transparent.
On 7/5/05, Adam Czysciak <ad...@gmail.com> wrote:
> Hi,
>
> At the beginning - hello everyone, I'm new here. And - starting with
> question. Probably it was already here many times, so please point me
> the URL to the archivized message so we don't spam the group:)
>
> My question is directed rather to Howard himself - why do we need
> rewinding in Tapestry? Well, I've read this part of "Tapestry in
> Action", so it's not "please explain me what it is". Just wondering - why?
>
> This causes so many Stale Exceptions. As for me, it conflicts with
> the idea of components design. A simple example - three components, one
> for displaying item, second for adding subitems, third for displaying
> subitems. Everything in one form, put one by one. What happens if I add
> new subitem? You know the answer. Well, I can easily solve it as
> everyone suggests everywhere, by performing actions in form submit,
> after it's all rewinded... But the huge problems appears if a Page has
> the form, and subcomponents are form elements (well, maybe it's such a
> special case?) and due to our components-design we want to split the
> actions.
>
> What is the most unclear to me - ... Howard mentions he was basing on
> WebObjects. I'm 2 years now using WebObjects, and there things simply
> work! Of course I don't blame Howard - he did a great job with Tapestry!
> But my question is - what caused the problems he couldn't jump over with
> such a basic fields? This Stale exceptions, using special Conditionals
> in Forms? I don't get it (yet)...
>
> --
> Greets!
> Adam Czysciak
> adam.czysciak@gmail.com
> Sun Certified Programmer for the Java 2 Platform, SE 5.0
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>
>
--
Howard M. Lewis Ship
Independent J2EE / Open-Source Java Consultant
Creator, Jakarta Tapestry
Creator, Jakarta HiveMind
Professional Tapestry training, mentoring, support
and project work. http://howardlewisship.com
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org