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]

Reply via email to