Hi.

I am doing research study on open source frameworks. One of its requirements
is to provide comparison analysis that which framework support which feature
(These are the feature, which could be used for selection of framework).
Because I have not worked on these framework, so I need any of you to help
me out and please fill in the below matrix. You only have to respond in
scale of 1-3.

1 = No Support
2 = Partial Support (Either through some 3rd party tool or little support)
3 = Full Support

You can only fill in the framework you have worked on.

Thanks in Advance for your support.

Comparison



*Feature*

*Struts*

*Turbine*

*Tapestry*

*WebWork*

*Velocity*

*JSF*

   1. Provide Designer/developer separation?













   1. Can be Coupled easily with Organization Code?













   1. Built-in Internationalization (I18N) Support?













   1. Provide built-in Security framework?













   1. Provide Validation and conversion support?













   1. Can Manage Component State?













   1. Support new Component's development?













   1. Provide built-in Standard components?













   1. Provide User documentation?













   1. Provide Error handling support?













   1. Built-in Testability?













   1. Increase Developer productivity?













   1. Have IDE/tool support?













   1. Is easy to learn?













   1. Is Extensible?













   1. Free Licensing?













   1. Which programming language is supported?













   1. Support Integration with other technologies?















Appendix:

*Features Definition*

1 Designer/developer separation This attribute will help us in identifying
the extent to which framework supports the separation of different roles


2 Coupling Whenever choosing an application framework, it is important to
recognize that the framework might be outgrown.  Regardless of the reason,
if there is a clear separation (loose coupling) of the framework's code and
the organization's code, it will be a fairly painless migration from the
original framework to a new framework


3 Internationalization (I18N) A web application framework must provide
support for internationalization to allow for web applications to be
localized because framework support for internationalization (I18N) can save
a considerable amount of development time and effort in handling items like
character encoding and addressing locale-specific requirements


4 Security The framework selected should have support for your
organization's security infrastructure.  However, the framework might also
provide additional security functionality that can be very useful to the
organization.


5 Validation and conversion An essential feature of any web application
framework is strong support for validation. Type conversion is a closely
related task, in the sense that successful type conversion is often a
precondition to successful validation of an inputted value.


6 Component state management Another important feature for any framework is
how well it manages the state of the components. These days most of the
frameworks support the state management of component and it leads to less
development time and cost.


7 Component development In spite of the variety of existing components
available, it probably won't be long before you find the need (or urge) to
create your own components. How successful, enjoyable and productive this
process is depends on the component development model of the framework
you're using.


8 Standard components The standard components are the well documented, out
of the box components that you get for free. They are the components that
you can confidently expect to be ported to future versions of the framework.
Most of the frameworks provide a set of standard components. By restricting
yourself to using standard components, you can avoid vendor lock-in,
component compatibility issues and license costs.


9 User documentation Reviewing documentation and sample applications will
probably reveal the framework architect's expectations and intentions as to
how exceptions should be handled.


10 Error handling The framework might favor or accommodate certain ways of
handling errors than other error-handling methods.  For example, it might be
more appropriate to pass exceptions up the hierarchy if the framework uses
declarative programming for handling errors rather than trying to handle the
exception where it took place.


11 Testability An increasingly important requirement for web applications is
that they can be easily unit tested. The testability of an application
depends directly on how free your application code is from framework
specific dependencies.


12 Developer productivity Frameworks are very productive compared to
traditional MVC frameworks largely because they allow you to write
applications with less code. How they measure up against each other also
depends on how efficiently this code can be created and modified, and how
easily and quickly errors can be detected and corrected.


13 IDE/tool support Development tools such as IDE's are tremendous
time-savers for developers.  Similarly, organizations tend to adopt and have
the infrastructure in place for a particular Version Control Systems
(example, PVCS).  A certain amount of testing of the framework and these
tools during a trial period might be necessary to make sure that they can be
integrated.


14 Ease of learning In the same way that powerful features and the promise
of greater productivity in the future will draw developers to a framework,
the perception that a framework is complex or hard to learn will put many
off.


15 Extensibility The extensibility of a framework is how easily you can
replace or add to the parts of the framework that don't meet your needs,
without affecting other parts of the framework.


16 Licensing Licensing of a framework is also very important aspect while
selecting a framework because open sources are not always available for
free, they have licensing costs. So one should consider the licensing
options before selecting any framework.


17 Language requirement Frameworks tend to target a specific programming
language.  If your organization has settled on a particular programming
language, the language and platform will be two of the major criteria in
determining what frameworks are available to you.


18 Integration with other technologies When we talk about the open source
web frameworks then one should consider the availability of long list of
other open source technologies and a framework should be able to work along
with those technologies e.g. hibernate. It could save lot of re-work and
cost. Moreover integration with Enterprise Java Beans, Web Services
Object/Relational tools, XML-RPC consumption and WAP/WML device/browser
support is very critical while deciding framework for an application.


Thanks again,

Sohaib

Reply via email to