On Tue, 22 Jul 2003, Andrew Hill wrote:
> Date: Tue, 22 Jul 2003 11:26:53 +0800 > From: Andrew Hill <[EMAIL PROTECTED]> > Reply-To: Struts Users Mailing List <[EMAIL PROTECTED]>, > [EMAIL PROTECTED] > To: Struts Users Mailing List <[EMAIL PROTECTED]> > Subject: RE: Struts MVC framework similar to that of a servlet container? > > <snip> > Struts is becoming kind of self > sufficient where everything is done through it even if it already can be > done through something else. Its like a little container itself. > </snip> > > There is a certain element of truth in that ;-) > There's also a degree of wishful thinking there too ... neither the Servlet API or Struts was never intended to solve *all* of your problems; instead, they are designed to be a foundation on top of which you can integrate a variety of solutions to the real-life variety of problems that exist. The fact that many (most?) developers prefer a "single framework" solution to architecture design decisions is what inevitably leads to monopolistic scale vendors that tell developers that, if their framework doesn't solve the problem, then the problem is only in their heads. > ...though your 'already can be done' is a little presumptuous - in most > cases struts provided the feature first and other implementations and ways > of doing it came later > The problem with many people is that they think any framework they utilize (Struts or otherwise) must provide *all* the solutions to *all* the possible problems. I don't buy into that -- there's more than one solution to most problems. That is the main reason that Struts tries (for the most part) to stay out of the model tier -- it's primary mission is elsewhere. Instead, it *welcomes* you to incorporate whatever model tier technology works best for you. In response to Ranko's original point, I think I've got a fair claim to some perspective on the issue (original author of most of the Catalina servlet container in Tomcat 4.x and 5.x, primary creator of Struts, co-spec lead for JavaServer Faces, plus a strategic role at Sun as Web Tier Architect for the J2EE platform). It is indeed possible that the functionality of an MVC framework like Struts could be standardized. However, it would be absolutely wrong to do so in an API as foudational as Servlet -- after all, building interactive web applications for human users is only one of *many* feasible uses for the World Wide Web. This is why best practices in protocol design are based on layering -- any ultimate standardization of "front controller" type MVC architecture only makes sense as a layer on top of servlets, not as part of the foundation. Servlet is an appropriate foundation for dealing with HTTP requests. Trying to encompass higher level design patterns at *that* level would be really counterproductive. The right answer is layering, and then training architects to pick the right combination of technologies at each layer to meet their needs. There is absolutely, positively, no such thing as a "one size fits all" solution to these kinds of problems. Craig McClanahan --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]