Was there all along.  Funny what you see when you open your eyes.

-- 
Norm Deane
MIS Consultant
Vanderbilt University
(615) 322-7855
[EMAIL PROTECTED] 

> -----Original Message-----
> From: Mike Jasnowski [mailto:[EMAIL PROTECTED] 
> Sent: Friday, September 12, 2003 12:44 PM
> To: Struts Developers List; [EMAIL PROTECTED]
> Subject: RE: Where is Struts 2 going?
> 
> 
> I think it?s in the sandbox area
> 
> -----Original Message-----
> From: Norm Deane [mailto:[EMAIL PROTECTED]
> Sent: Friday, September 12, 2003 2:36 PM
> To: 'Struts Developers List'
> Subject: RE: Where is Struts 2 going?
> 
> 
> Where the heck is this new Commons-Chain?  I don't see it in 
> CVS or on the website.  Sounds like the next big thing from Jakarta.
> 
> -- 
> Norm Deane
> MIS Consultant
> Vanderbilt University
> (615) 322-7855
> [EMAIL PROTECTED] 
> 
> > -----Original Message-----
> > From: Ted Husted [mailto:[EMAIL PROTECTED]
> > Sent: Friday, September 12, 2003 12:28 PM
> > To: Struts Developers List
> > Subject: Re: Where is Struts 2 going?
> > 
> > 
> > Personally, I'd like to start the work on 2.x by defining the
> > use-cases 
> > or stories that we'd like the framework to realize. Ideally, 
> > we should 
> > be able to trace each feature back to its use-case. Then, I'd 
> > suggest we 
> > build the framework up, story by story, test by test.
> > 
> > Here's some early work along those lines:
> > 
> > http://nagoya.apache.org/wiki/apachewiki.cgi?StrutsUseCases
> > 
> > Of all possible *features*, the one I would emphasize the most is
> > testability.
> > 
> > The second, which is a corollary to the first, would be
> > decoupling the 
> > core framework from http, while allowing direct access to the 
> > underlying 
> > protocol when needed.
> > 
> > Though, if we base the core around Commons Chain of
> > Responsibility, both 
> > should follow naturally.
> > 
> >  > "If every controller function can be done in Faces or
> >  > other frameworks, what do we gain by using Struts 2?"
> >  >
> >  > "Using Struts 2, our applications can cruise across
> >  > modules built from different vendors or teams. And
> >  > we could also develop modules for others."
> >  >
> >  > Could we realize this dream? I know there are many
> >  > challenging problems there. Could we think about it
> >  > in terms of defining characteristics of Struts 2?
> > 
> > Personally, I'm uncomfortable defining an open source product
> > in these 
> > terms. We're not a retail product looking for a market. We're a 
> > community of developers building the everyday tools we each 
> > need to use.
> > 
> > If the Java platform did ship with everything everyone
> > needed, then it's 
> > true that we'd have nothing to do here, and we could all 
> focus on our 
> > paying jobs. <hurrah!/>
> > 
> > But it is unlikely that such a day will ever come <sigh/>. In all
> > likelihood, there are always going to be vacuums for open 
> > source to fill.
> > 
> > If people need Struts to be an integrator, then people will
> > contribute 
> > integration code. Of course, that's already true. Stxx 
> > integrates Struts 
> > with XLST. The Velocity Tools integrate Struts with 
> Velocity. Some of 
> > Don's packages integrate Struts with Cocoon and BSF. And so on. But 
> > people didn't do this because we put it on a whiteboard. 
> > People did this 
> > because it is functionality they needed to do their jobs.
> > 
> > IMHO, the role of the Struts Committers is to ensure that generally
> > accepted best practices are followed, so that the codebase 
> > remains easy 
> > to maintain and improve. For new development, especially, 
> that means 
> > using techniques like test-driven development and technologies like 
> > Maven and IDEs that help us write cleaner code. For 
> > frameworks, it also 
> > means using patterns like Context and Chain of Responsibility 
> > to loosen 
> > coupling. But as to where the specifics of development take 
> > us, IMHO, it 
> > should be "from each according to their need".
> > 
> >  > Now we have the Struts chain. I like the ideas of the chain.
> > 
> > Amen to that brother. =:0) But, it's not *Struts* chain -- it's the
> > *Commons* Chain. The true power of this package is that it gives us 
> > common ground upon with to build *business layer* frameworks. 
> > Right now, 
> > many of us are abusing Actions because Strut is the only controller 
> > framework we got. :(
> > 
> > But Chain is opening the door to another framework -- one that lives
> > below Struts and manages all that nasty business logic -- the 
> > way Struts 
> > (and friends) now helps us with all the nasty presentation logic. :)
> > 
> > -Ted.
> > 
> > 
> > Jing Zhou wrote:
> > > I believe this topic has been discussed hundreds of times in 
> > > different subjects. One of important tasks for a new
> > version is to
> > > identify concept leaps. This is the place I would like to 
> entertain
> > > your brain - hope everyone to have a brainstorm on what are 
> > really the
> > > innovative ideas to be built in Struts 2.
> > > 
> > > To start, let's review what the innovative ideas are in 
> Struts 1.0.
> > > Struts is called a MVC framework. But that is not enough, 
> actually 
> > > there are many other frameworks also called MVC ones. What 
> > made Struts
> > > unique at its early time is its defining characteristics
> > between form
> > > beans and web forms. They are symmetrical entities.
> > > 
> > > In Struts 1.1, another concept leap is introduced, we called it 
> > > application module. With this concept, the developments of Struts 
> > > applications scale up. There are some other concept 
> leaps, someone 
> > > could add more. Struts 1.0/1.1 is recognized as a Controller in 
> > > general.
> > > 
> > > Now we have the Struts chain. I like the ideas of the chain. In
> > > particular, I see the possibility we could transform the 
> Controller 
> > > into an Integrator based on the chain and the application module.
> > > 
> > > Integrator is a higher concept than Controller in my 
> opinion. Struts 
> > > 2, as an Integrator, should be able to
> > > 1) Integrate faces components from different vendors.
> > > 2) Integrate other non-faces component easily, including
> > >    existing 1.x tag libraries.
> > > 3) Integrate expression engines from different vendors.
> > > 4) We could add more... (like portlets)
> > > 
> > > The general expectation I have with the Integrator is
> > > that application flows can smoothly move around modules while 
> > > underlying module-wide settings for a particular
> > vendor, say a
> > > PropertyResolver in one faces module, can be switched to a
> > different
> > > PropertyResolver in another module (Expression engines can
> > be switched
> > > too).
> > > 
> > > This is a whiteboard idea. I like to see the idea to be
> > unfolded. One
> > > of reasons is that a Struts user may be asked by his/her
> > boss in the
> > > future "If every controller function can be done in Faces 
> or other 
> > > frameworks, what do we gain by using Struts 2?"
> > > 
> > > "Using Struts 2, our applications can cruise across
> > > modules built from different vendors or teams. And
> > > we could also develop modules for others."
> > > 
> > > Could we realize this dream? I know there are many challenging
> > > problems there. Could we think about it in terms of defining 
> > > characteristics of Struts 2?
> > > 
> > > Jing
> > > Netspread Carrier
> > > http://www.netspread.com
> > 
> > 
> > --
> > Ted Husted,
> >    Junit in Action  - <http://www.manning.com/massol/>,
> >    Struts in Action - <http://husted.com/struts/book.html>,
> >    JSP Site Design  - 
> > <http://www.amazon.com/exec/obidos/ISBN=> 1861005512>.
> > 
> > 
> > 
> > 
> > 
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to