who the heck is Bob? from reading the comments that you attribute to him i assume you mean me but my name is Robert - it even says so in my email address and my initials at the bottom of my emails don't begin with the letter 'b' either.
rjsjr > -----Original Message----- > From: Trieu, Danny [mailto:[EMAIL PROTECTED]] > Sent: Friday, December 07, 2001 12:18 PM > To: 'Struts Users Mailing List' > Subject: RE: Action an overkill ?? > > > Hello all, > > I only read up to Ted email, but I think I have enough > understanding to give > in > some though. First of all, I am not quite understand what Nathan mean by > 'user's > experience'. Second, I do not agree with Bob on having to treate the > browser base > application the same as window base application. From my experiences of > doing web > application for the pass 2+yrs, the applications that we built with high > concerntration > of JavaScript on the presentation tiers has always created more problems > then its benefit. > Whether it is incompairtabily issue to security issues, it is alway a pain > to maintain it. > As for the spreadsheet example that Bob brought up. What do you mean by > going blank? is > this mean every time you try to sort a column, you will have to hit the > database for a different > sorting orders? hmmm.... then it is realy bad design of a web > app. To solve > this problem, > there is more then one way to improve its performance without loosing any > user experience. Just to name > a few: you can user Paging, implement Collection interface as your Session > Facade to your > scrollable result set, or multiple view for you Collection that represent > all the different > sorting orders. > > In the end I totally agree w/ Ted on his last paragraph: > > > The thing to watch for is predetermining that doing something on the > > client will be beneficial before developing a base line for comparison. > > The effort spent on maintaining this one Javascript might be better > > spent on some other optimization which will have a greater overall > > effect. > > Thanks, > > danny > -----Original Message----- > From: Nathan Anderson [mailto:[EMAIL PROTECTED]] > Sent: Friday, December 07, 2001 9:42 AM > To: Struts Users Mailing List > Subject: RE: Action an overkill ?? > > > I have to agree with Robert on this issue. In the application I am > currently writing, we have decided to do some of the tasks that need to be > more interactive with JavaScript simply because it is faster and > smoother to > do it in the client then make another server call. It boils down to > improving the user's experience. If you can do something in > JavaScript that > will greatly improve the user's experience without degrading the > quality of > your application [i.e. don't rely on JavaScript to validate your > data], why > not do it? An added benefit is you will have fewer requests to > your server, > less required bandwidth, etc. > > Nathan Anderson > SUM-Ware, Inc. > > -----Original Message----- > From: Robert J. Sanford, Jr. [mailto:[EMAIL PROTECTED]] > Sent: Friday, December 07, 2001 6:29 AM > To: Struts Users Mailing List > Subject: RE: Action an overkill ?? > > > think about using an application, a spreadsheet for example, within your > favorite windowing system (beos, macos, x, win32, etc.). if you > want to sort > the data in your favorite spreadsheet and you see the entire screen go > blank, wait just a second and then have the data pop up or do you want to > have the spreadsheet just sort the data in place? > > doing something on the client isn't always about performance but about > usability and given the number of advances that we have made in the > abilities of browsers we shouldn't treat the users of browser based > applications any differently than we do standard applications if we can > possibly avoid doing so. > > rjsjr > > > -----Original Message----- > > From: Ted Husted [mailto:[EMAIL PROTECTED]] > > Sent: Friday, December 07, 2001 4:31 AM > > To: Struts Users Mailing List > > Subject: Re: Action an overkill ?? > > > > > > Which makes the answer, implement it in the Action first, where it is > > easy to do, but more because it *is* business logic, and then consider > > moving it to the client *if* that helps performance. > > > > The thing to watch for is predetermining that doing something on the > > client will be beneficial before developing a base line for comparison. > > The effort spent on maintaining this one Javascript might be better > > spent on some other optimization which will have a greater overall > > effect. > > > > "Early optimization is the root of all evil." > > > > > > -- Ted Husted, Husted dot Com, Fairport NY USA. > > -- Custom Software ~ Technical Services. > > -- Tel +1 716 737-3463 > > -- http://www.husted.com/struts/ > > > > Keith Bacon wrote: > > > > > > Edward, > > > Bravo! The fewer facilities you use on the client the > > > fewer problems you'll have. > > > But for systems with huge numbers of users the more > > > work you can off-load to the client the lower your > > > server workload, so it's always going to be trade-off. > > > Keith. > > > > > > --- "Edward Q. Bridges" <[EMAIL PROTECTED]> wrote: > > > > > > > > what if the client doesn't support javascript? > > > > > > > > what if the ordering is significant, and the client > > > > has javascript turned > > > > off? > > > > > > > > basically, it's a design question that gets answered > > > > during that phase of > > > > development. having it done in the business layer > > > > ensures that it's always > > > > done and done in the same way, without having to > > > > know anything about the > > > > client; also, the sorting is done once (probably) > > > > by a database (which are > > > > designed for, among other things, sorting data). > > > > > > > > of course, there are occasions that call for sorting > > > > on the client, and when > > > > that makes a lot of sense. but, typically having X > > > > clients do their own > > > > (potentially cpu intensive) sorting is overkill > > > > compared to one server that > > > > has been optimized for sorting doing the sorting for > > > > everyone. > > > > > > > > > > > > > > > > On Thu, 6 Dec 2001 14:10:41 -0600, Robert J. > > > > Sanford, Jr. wrote: > > > > > > > > >pardon my naivete... > > > > > > > > > >but couldn't the presentation of the table be a > > > > JavaScript based > > > > >table with buttons (or whatever) on the column > > > > headers that handles > > > > >the data sorting on the client side? > > > > > > > > > >that would allow you to dump the data down to the > > > > client in whatever > > > > >initial order is deemed appropriate by the business > > > > logic and allow > > > > >the client to perform their sorting as they desire > > > > without having to > > > > >go back to the server at all. > > > > > > > > > >rjsjr > > > > > > > > > >> -----Original Message----- > > > > >> From: Ted Husted [mailto:[EMAIL PROTECTED]] > > > > >> Sent: Wednesday, December 05, 2001 8:05 AM > > > > >> To: Struts Users Mailing List > > > > >> Subject: Re: Action an overkill ?? > > > > >> > > > > >> > > > > >> It's my personal opinion that presentation pages > > > > should be as dumb as > > > > >> possible. It should not have to "think" about the > > > > data, just render it > > > > >> as it has been given. > > > > >> > > > > >> Conversely, the business layer should be as smart > > > > as possible, and > > > > >> provide whatever alternatives the rest of the > > > > application needs to do it > > > > >> job. If the dataset needs to be ordered in a > > > > certain way, then it is up > > > > >> to the business layer to provide that ordering. > > > > >> > > > > >> It wouldn't know how to write a HTML table, but > > > > it should now how to get > > > > >> the dataset ordered in the way the HTML table > > > > wants it. Ordering data is > > > > >> business logic, shoving in the <td>'s is the > > > > presentation's job. > > > > >> > > > > >> The critical question, I think, is to ask -- "OK, > > > > what if we wanted to > > > > >> do this with something other that a JSP. Say a > > > > printed report or another > > > > >> templating system, like Velocity? Do we have > > > > everything we need on the > > > > >> business tier to make this work?" > > > > >> > > > > >> If business logic, like the alternative ways data > > > > is ordered, is > > > > >> expressed in the tag extensions, then it is not > > > > available to another > > > > >> presentation system. Like say, a report rendered > > > > as a PDF. > > > > >> > > > > >> So, IMHO, ordering is not something the Action > > > > does, or something a tag > > > > >> extension does, is something the business layer > > > > does. The Action may > > > > >> select which ordering has been requested by the > > > > client, but when the > > > > >> data comes back, it just passes it along. > > > > Ordering data is business > > > > >> logic, and custom code that does that should not > > > > be in any framework > > > > >> component, including the tag extensions. > > > > >> > > > > >> It may be that you need another set of beans > > > > between the EJBs and the > > > > >> rest of your application. Many times EJBs end up > > > > representing the > > > > >> resource layer, and only partially represent the > > > > business layer. So the > > > > >> solution here may be a JavaBean wrapper that did > > > > the sorting, so all the > > > > >> presentation page need do is call an iterator. > > > > Which ordering to use > > > > >> would be a property on this (business layer) > > > > JavaBean, that the Action > > > > >> might set to the way to the page. And submitting > > > > a request for a > > > > >> different order would probably go back to the > > > > same Action (since it > > > > >> already knows how to select an order). > > > > >> > > > > >> If the data is being cached in the session, then > > > > it would be the > > > > >> Action's job to get it back, and maybe call a > > > > method to change to the > > > > >> default sort order. But the ordering would take > > > > place on the business > > > > >> layer, the Action would just known enough to call > > > > the right method. > > > > >> > > > > >> If the data need be presented to another device, > > > > like a PDF renderer, > > > > >> the same JavaBean could be passed to that > > > > component. This provides > > > > >> resuse not only between JavaServer Pages, but > > > > between all presentation > > > > >> components. > > > > >> > > > > >> In the end, pretty much the same code is going to > > > > get written either > > > > >> way. The question is whether it can get more > > > > reuse in a tag extension or > > > > >> in the JavaBean that the tag exposes. > > > > >> > > > > >> HTH, Ted. > > > > >> > > > > >> -- Ted Husted, Husted dot Com, Fairport NY USA. > > > > >> -- Custom Software ~ Technical Services. > > > > >> -- Tel +1 716 737-3463 > > > > >> -- http://www.husted.com/struts/ > > > > >> > > > > >> > > > > >> Abhishek Srivastava wrote: > > > > >> > > > > > >> > Hello All, > > > > >> > > > > > >> > I render a table through my jsp page. The user > > > > can sort the table by > > > > >> > clicking on each of the column headers. When > > > > the user clicks on > > > > >> the column > > > > >> > header, an Action is invoked and the data that > > > > is used to > > > > >> render the table > > > > >> > is sorted accordingly and placed back into the > > > > session. Now the > > > > >> control is > > > > >> > forwarded to the jsp that renders the table > > > > with sorted data/ > > > > >> > > > > > >> > I have got some feedback that using Action for > > > > things like > > > > >> sorting a table > > > > >> > is an overkill. what is suggested that each > > > > table column should > > > > >> point to a > > > > >> > jsp which should use a custom tag library to > > > > sort the table. > > > > >> > > > > > >> > I am unable to decide which approach to take > > > > and why. > > > > >> > > > > > >> > Can someone help me on this. > > > > >> > > > > > >> > regards, > > > > >> > Abhishek. > > > > >> > > > > > >> > A ship in harbor is safe, but that is not what > > > > ships are built for. > > > > >> > John A. Shedd > > > > >> > > > > > >> > ***** ***** Abhishek Srivastava > > > > >> > *** /_ __ *** Hewlett-Packard - > > > > Solutions Organization > > > > >> > ** / / /_/ ** 19 Cunningham Road. > > > > Bangalore -560052. > > > > >> > *** / *** phone +91 80 2251554 > > > > Extn:1532 > > > > >> > ***** ***** > > > > mailto:[EMAIL PROTECTED] > > > > > > > === message truncated === > > > > > > __________________________________________________ > > > Do You Yahoo!? > > > Send your FREE holiday greetings online! > > > http://greetings.yahoo.com > > > > > > -- > > > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > > -- > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > > > > -- > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > > > > -- > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>