Sei sulla pagina 1di 3

Performance Analysis of Various Java Web Frameworks

Shivkant Dohaliya
School of Computer Science, Jaipur National University, Jaipur, Rajasthan,
India E-mail: dohaliyashivkant@gmail.com

Abstract

The market of web application frameworks is flooded with so many choices. The objective of this research
paper is to compare a few popular server-side web application frameworks and evaluate them against a set of
"performance" standards. Since web service is a future trend for the growth of internet, the tools that are used
for development is also important. Although there are many choices of web service frameworks to choose
from, developers should choose the framework that fits best to their application based on performance, time
and effort for the framework. In this project, we chose five common frameworks to review and compare them
in both qualitative and quantitative metrics based on popular surveys.

Keywords: Web Service, Framework, Performance, Java, Developer

1. Introduction
Web Frameworks are all very different and have been make development much easier. Which of these frame-
typically created for different reasons and to achieve works would be a better choice for web service application
different goals. Which Java Web Framework will you use development? This study compares five popular open
in your next project and why would you choose one over source frameworks both qualitatively and quantitatively
the other? There are many features which may sway your based on surveys and analysis. The five frameworks are
decision and of course it will depend on the type of app Spring MVC, Grails, Vaadin, Struts and JSF. More
youre building. introductions of web services are done in Section 2 and it
also describes the five frameworks that are used in this
study. In Section 3, the metrics that are used to measure
the frameworks are explained in more detail. Section 4 tells
about the result. The conclusions are in Section 5.

2. Web Service Frameworks


A web Service framework (WSF) or web framework (WF)
is a software framework. It is essential for the
development of different web applications, such as web
resources, web APIs, and web services. Web framework
can alleviate the overhead linked to everyday activities
performed during web development. For instance, various
web frameworks offer libraries for template frameworks,
libraries for easy access to database and session
administration. They frequently promote the reuse of
code. They may target development and design of
dynamic websites. They apply to static websites. Some of
the popular frame- works are Spring MVC, Grails,
Vaadin, Struts and JSF. In this section, these frameworks
Instead of developing a web service application from are going to be introduce
scratch, there are many open source frameworks that

1 |Jaipur National University (Computer Science)


2.1. Spring MVC
Since it is a binary protocol, it works well on sending
binary data without any need to extend the protocol with
The Spring MVC framework is designed as a layered
J2EE/Java framework integrating specially applied beautiful magic wand that may back you up to the
sciences. It is appropriate for a broad range of ingenuities. complexity of an application. JSF uses server pages of
After its design and expansion, Spring MVC embraced Java and can support different technologies of Face lets
numerous changes to become a full-scale framework Java and XUL.
for Internet application. It offers a useful toolkit for
development and configuration of web applications. You 3. Evaluation Metrics
can use it for your security projects. Spring is famous
among programmers for its well-developed ecosystem. It Different factors are considered when comparing the five
has numerous add-ons, such as SOAP services, REST frameworks in this project. Some metrics are to deter-
APIs, and security authentication. mine the performance and efficiency; some are to show
the transparency and abstraction. This section explains
2.2. Grails these metrics.

Grails is another useful Best Java Web Frameworks on the 3.1. Rapid Application Development
Java platform meant to multiply the productivity of Java
web developers towards convention-over-configuration,
opinionated APIs, and sensible defaults. It assimilates Whether youre using the framework for the first time, or
smoothly with JVM (Java Virtual Machine) and enables youre an expert in all things framework related, its
you to immediately become productive while providing important to be able to develop quickly to prototype an
powerful features, including asynchronous programming, idea or just try new things out. This section rates each
Compile-time meta-programming, run-time and domain- framework for the ability to produce content from scratch
specific languages. You can transparently and seamlessly with rapid results.
inter-operate and integrate with Java, Java EE containers,
and JVM. 3.2. Framework Complexity
This section is where we explore each frameworks
2.3. Vaadin construction. Here, well discuss how many moving parts
exist in each framework and how the complexity of the
Vaadin framework and elements are open source Apache framework affects you. Do you really want to learn 10
licensed Java web application projects with an active
technologies to use a framework? There are also other
worldwide community. It is a good framework for internet considerations when choosing frameworks, such as
applications and contrast to browser-plugin and whether the extra features and benefits outweigh the extra
JavaScript libraries based solution; it features server-side complexity levied against frameworks for your
architecture. Ajax technology can run on browser-side to
application.
ensure interactive and rich user experience. The Vaadin
framework can be extended with GWT..
3.3. Ease of Use
2.4. Struts
This section is all about how easy it is to pick up a
Struts is a Framework to develop the base of the web framework for the first time and play with it, learn and get
application. This framework is a set of interfaces and classes results. Think of it this way: if you gave one of these
that co-operate to solve the problems of a particular type. It frameworks to a colleague, how many questions would
functions on MVC (Model-View-Controller) pattern. Struts you have to answer for them? The quality of
2 is equipped with a net framework for numerous Java documentation is always useful, but if you have to refer to
applications. It is the result of mixed effort from various the docs, have you already lost the battle?
supporting communities. Unlike conventional functions of
the internet, it can create dynamic responses.
3.4. Documentation & Community
2.5. JSF For a good framework to continue improving, especially
when not financially backed by a larger parent company
JSF is a net utility framework of Java, and it got Oracles (ehem, like VMWare, or the confusing new brand
support. This framework may not be the best framework Pivotal), its important to have a couple things going for
for Java development, but it is easy to utilize because of
it. First, excellent documentation so that new users can
documentation supplied by Oracle. Moreover, if you want quickly attain guru level easily. Example :- NetBeans
EE environment Java, there will be no extra dependency
on JSF. Tools and rich libraries become a
2 |Jaipur National University (Computer Science)
3.5. Framework Ecosystem Grails came out on top for 5 of the 8 categories,
doing particularly well around the Rapid application
The framework ecosystem covers how extensive the development, documentation and community with
framework is in itself, its functionality, its build top marks. The only area it struggled a bit with was
infrastructure and its integration with others. Very often, the framework complexity category, mostly because
an large ecosystem can mean increased complexity, but of its reliance with Spring, GORM, Groovy and
not always. This section also depends heavily on user more adding layers and layers of abstraction.
needs.
Vaadin won 3 of the categories, and also got a 3/5 in
3.6. Throughput/Scalability one of the categories, but was typically matching Grails
blow for blow through the competition. It excelled in
its documentation and community category which is
What you choose in development will need to be excellent as well as the UX, look and feel category,
supported in production. Throughput and scaling are very which to be fair is what Vaadin is all about.
important factors as you dont want to bottleneck your
application because of a framework decision. This Spring MVC and Struts didnt do particularly well up
category takes a look at what each framework has to offer against the other frameworks. Spring did reasonably
to help you application when there are more users and well in quite a few categories, but really fell short in
requests than lines of code! the UX, Look and Feel category as well as the Rapid
Application Development category. Struts was poor
3.7. Source line of Codes across the board as was Wicket, apart from one victory
in the Code Maintenance/Updates category which
The source lines of code (SLOC) used in a framework can really put it above Spring in the rankings.
indicate the transparency and abstraction of the
framework. The main goal of a framework is to save the
developers time and effort by not having to write the 5. Conclusion
entire code from scratch. Thus the less lines of code that
is required for a framework, the more time and effort is For web applications that require communication through
saved by this framework. However, lines of code cannot the network between computers of different platforms,
be exactly accurate since some lines might be long while web service would be a good choice since it is designed
some lines are short. So the number of files and size of based on a platform-independent language XML. As
files also is a consideration. with our Great Java App Server debate, not all frameworks
are created equal. In the same way that comparing
3.8. UX Look and Feel WebLogic with Jetty doesnt exactly make sense. Also,
you might choose a combination of frameworks, rather
than just one, making use of the best aspects of each
One of the most important features! What does the end
framework.
user see, what is their experience of the application and
UI? Its pointless having the most amazing framework if
the user experience is poor. The scores in this section also
6. References
reflect how hard it is to create the UI with each framework.
[1] The Ultimate Java Web Frameworks Comparison: Spring
MVC, Grails, Vaadin, GWT, Wicket, Play, Struts and JSF
survey of ZEROTURANDO.
4. Result [2] The 10 Best Java Web Frameworks for 2017 survey of
DailyRazor..
Framework Score [3] TechEmpower Framework Benchmarks. (n.d.). Retrieved
April 08, 2016, from
Grails 34.5 https://www.techempower.com/benchmarks/
[4] Framework technologies Web Usage Statistics. (n.d.).
Vaadin 34.5 Retrieved March 07, 2016, from
JSF 31.5 http://trends.builtwith.com/framework
[5] Performance Evaluation of Web Application Frameworks.
Spring MVC 26 [6] Performance Evaluation of Java Web Services: A
Developers Perspective, Sanjay Ahuja, Je-Loon Yang,
Struts 23 Communications and Network, 2010, 2, 200-206
doi:10.4236/cn.2010.23029 Published Online May 2010
(http://www.SciRP.org/journal/cn

3 |Jaipur National University (Computer Science)

Potrebbero piacerti anche