I’m looking for an application framework for future work at my company and am considering Turbine, Stuts and a few others. (My company currently uses IIS/ASP/SQL Server and will move to apache/Java app server, Tomcat first and Resin later as performance dictates, and Oracle.) Turbine seems to have the most features including Torque (DB abstraction) and a personalization engine that are important to me. However, as the push versus pull MVC paradigms (http://java.apache.org/turbine/pullmodel.html) recently discussed on the Turbine list concluded, Turbine’s preferred UI language, Velocity, is a push model that does not allow me to develop tag-like APIs for my UI/HTML designers the way struts does, a pull MVC model. I believe Turbine allows raw JSP that would allow me to use Turbine AND struts where appropriate although I’m not sure that’s the best answer either.

 

I’ll let all know the results of the research my staff and I pursue in the following weeks, but I’d welcome any feedback from users of these frameworks from architect, business layer development, UI layer development and ops perspectives. We will hopefully be contributors to some of these efforts in the future.

 

Thanks,

Eric

 

Eric Brown

[EMAIL PROTECTED]

 

-----Original Message-----
From: Eric Brown
Sent: Friday, December 08, 2000 7:04 PM
 Subject: Application Framework Evaluation Critieria

 

Here are the relevant evaluation criteria Todd, Mark, Farooq and I discussed today:

 

Priority

Issue

ASP

Straight JSP

Enhydra

Struts

Turbine

XML/XSL

1

Separate UI from business logic

 

 

XXX

X

XXX

X

1

Database abstraction layer

 

 

XXX

 

XXX

 

1

Reliable, Stable and scaleable

XXX

XXX

XXX

?

?

?

1

Growth path

X

XX

XX

XXX

XXX

XX

1

Error validation and reporting

 

 

?

X?

?

 

1

Error message separation

 

 

?

?

?

 

1

Reasonably Fast

XXX

XXX

?

?

?

X?

2

Very Fast

XX

XX

?

?

?

?

2

Personalization Engine

 

 

 

 

X

 

2

Source code availability

 

X

X

XX

XXX

X

2

Longevity -- Been around

XXX

XX

XX

X

X

X

2

Code reusability

 

 

XXX

XXX

XX

XX

2

Documentation

XXX

XXX

XX

X

X

XX

2

HTML form rich API

 

 

?

X?

?

 

2

Early compilation

 

 

XXX

?

?

XX

2

Vendor Freedom

X

XXX

XX

XXX

XXX

XXX

2

MVC Pull model

 

 

?

XXX

?

 

3

MVC Push model

 

 

?

 

XXX

XX

3

Strict API enforcement

 

 

XXX

 

XXX

XXX

3

API Extensibility

 

 

XXX

XXX

X

XX

3

Internationalization

 

 

?

X?

X?

X

3

File Upload API

?

 

?

 

X?

 

 

I’ve tried to note what I know exists in each framework. The legend is as follows:

X – Feature exists

XX – Feature exists and is reasonably good

XXX – Feature exists and is great

? – Feature might exist, unsure

X? – Feature exists but quality is unknown

 

ASP – IIS, ChiliSoft, Perl::ASP

Straight JSP – See www.javasoft.com

Enhydra – See www.enhydra.org

Struts – See jakarta.apache.org

Turbine – See java.apache.org

XML/XSL – M$ Implements on ASP, Cocoon (java.apache.org), Resin (www.caucho.com)

 

Other priorities relevant to web server, internal process, etc., but not to application framework:

Priority – Issue

1 – Staff Training Resources

1 – Must run in J2EE environment (Tomcat 3.2)

1 – Portability, ability to migrate from NT to UNIX easily

1 – Security

2 – Easy Deployment

2 – Logging/audit system

2 – Ability to debug

2 – Search

3 – Voice/WML/Alternate presentation format support

3 – Reporting system

4 – Content Management (other than Perforce)

 

Eric Brown

[EMAIL PROTECTED]

 

Pri Issue                           ASP     JSP     Enhydra Struts  Turbine XML/XSL

1   Separate UI from business logic                 XXX     X       XXX     X

1   Database abstraction layer                      XXX             XXX    

1   Reliable, Stable and scaleable  XXX     XXX     XXX     ?       ?       ?

1   Growth path                     X       XX      XX      XXX     XXX     XX

1   Error validation and reporting                  ?       X?      ?      

1   Error message separation                        ?       ?       ?      

1   Reasonably Fast                 XXX     XXX     ?       ?       ?       X?

2   Very Fast                       XX      XX      ?       ?       ?       ?

2   Personalization Engine                                          X      

2   Source code availability                X       X       XX      XXX     X

2   Longevity -- Been around        XXX     XX      XX      X       X       X

2   Code reusability                                XXX     XXX     XX      XX

2   Documentation                   XXX     XXX     XX      X       X       XX

2   HTML form rich API                      ?       X?      ?      

2   Early compilation                               XXX     ?       ?       XX

2   Vendor Freedom                  X       XXX     XX      XXX     XXX     XXX

2   MVC Pull model                                  ?       XXX     ?      

3   MVC Push model                                  ?               XXX     XX

3   Strict API enforcement                          XXX             XXX     XXX

3   API Extensibility                               XXX     XXX     X       XX

3   Internationalization                            ?       X?      X?      X

3   File Upload API                 ?               ?               X?     

Reply via email to