You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by Ted Husted <te...@gmail.com> on 2005/10/12 14:01:58 UTC

[Clarity] Mission Statement discussions [was Re: Web Framework Consolidation]

Patrick Lightbody wrote:
> 1) Complete a statement: we need to come up with a single paragraph
> that sums up this effort. It should include the desire to work
> together, the desire for clarity in the java web space, and the desire
> to move beyond "petty" differences about implementation choices. In
> short, this mission statement, when releases as a press release to the
> entire community, should be powerful enough to get everyone excited
> about it and know for sure that this is the effort that will bring
> web development productivity back to the Java camp.

Here are some likely quotes (in order of appearance) from the "story
so far" that might be used as the basis for a draft mission statement.

* This project aims to unify WebWork, Struts, Spring MVC, Beehive, and
Spring WebFlow in to a single project that establishes clear
leadership in the web development space.

* [Clarity is providing] a clear "next" choice in the web-space for
the Struts Classic, TI, WW, Beehive, and Spring communities.

* [We are] stronger together than we would [be] competing with one
another in essentially similar (but slightly different) ways.

* [Clarity is] a full-stack product ... built from a set of
best-of-breed components that lends itself to choice.

* [Clarity] unites our respective brands/technologies.

* We must continue to support our [existing users]. Backwards
compatibility, as well as the ability to run on existing
infrastructure (JDK 1.3), is very important.

* Migration from [existing products to Clarity must] be as easy as possible.

* [Clarity] is unique opportunity to come together and leverage the
best in each of our respective products, and unite [the development
community] under a common brand.

* Clarity would be an action-based MVC framework that combines the
commonality of [various] frameworks into one that can be built upon by
all.

* Existing projects [are] "stepping stones" that will lead us all to
Clarity, feature by feature.

* [Clarity is] a "best of breeds" [project that is] adopting and
adapting the best ideas from the other [products to create] a brave,
new framework that better [meets] all of our needs.

Since this is a consolidation effort, we might also want to consider
using as background material existing mission and goal statements.
Here are some clips from the various websites.

Beehive - http://beehive.apache.org/
-------
"Our goal is to make J2EE programming easier by building a simple
object model on J2EE and Struts. Using the new JSR-175 annotations,
Beehive reduces the coding necessary for J2EE. "

Spring - http://www.springframework.org/about
------
"We believe that:

    * J2EE should be easier to use
    * It's best to program to interfaces, rather than classes. Spring
reduces the complexity cost of using interfaces to zero.
    * JavaBeans offer a great way of configuring applications.
    * OO design is more important than any implementation technology,
such as J2EE.
    * Checked exceptions are overused in Java. A framework shouldn't
force you to catch exceptions you're unlikely to be able to recover
from.
    * Testability is essential, and a framework such as Spring should
help make your code easier to test.

"Our philosophy is summarized in Expert One-on-One J2EE Design and
Development by Rod Johnson.

"We aim that:

    * Spring should be a pleasure to use
    * Your application code should not depend on Spring APIs
    * Spring should not compete with good existing solutions, but
should foster integration. (For example, JDO, Toplink, and Hibernate
are great O/R mapping solutions. We don't need to develop another
one.)"

Spring MVC
----------
"This framework is highly configurable via strategy interfaces, and
accommodates multiple view technologies like JSP, Velocity, Tiles,
iText, and POI. "

Struts - http://struts.apache.org/
------
[From the nightly build]

"The goal of the Apache Struts project is to encourage application
architectures based on the "Model 2" approach, a variation of the
classic Model-View-Controller (MVC) design paradigm. Under Model 2, a
servlet manages business logic execution, and presentation logic
resides mainly in server pages."

Struts Ti
---------
"Struts Ti is a simplified Model 2 framework for developing webapps
which allows the developer better access to the underlying
servlet/portlet environment. It serves a niche of web applications
that don't want the additional complexity of server-side components
and verbose configuration, yet want the structure and controller
features of a modern web framework. Struts Ti builds on the directions
of Struts 1.x, yet re-implements the framework to provide a clean
slate for the next generation of Struts Ti. It aims to combine the
simplicity of Ruby on Rails and NanoWeb, the refinement of WebWork 2,
the tool-friendly authoring of Beehive, and the history of Struts 1.x.

"The key word for Struts Ti is simplicity. Ideally, Struts Ti should
approach Ruby on Rails levels of easy of use, yet scale up to large
applications providing a smooth transition to JSF if desired. "

WebWork - http://www.opensymphony.com/webwork/
-------
"WebWork is a Java web-application development framework. It is built
specifically with developer productivity and code simplicity in mind,
providing robust support for building reusable UI templates, such as
form controls, UI themes, internationalization, dynamic form parameter
mapping to JavaBeans, robust client and server side validation, and
much more."

-- HTH, Ted
http://husted.com/poe

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org