MVC Architectural Pattern for Enterprise Information System’s Reporting Subsystem in J2EE
Reporting subsystem is a core demand of Enterprise Information Systems. They have the ability to quickly and accurately produce up to date reports. Reports are the need for the company employee, community, investors, other stakeholders or any other person who is related with that enterprise industry. Model-View-Controller (MVC) architecture is widely used software design pattern since applications are very large in size these days. More recently, it has become the recommended model for Sun Java 2 Platform, Enterprise Edition (J2EE). This paper researches the character of Model-View-Controller architecture for reporting subsystem in Java 2 Platform, Enterprise Edition and Jasper Reports then proposes the idea of layered model to improve the system’s architecture. In order to reduce the cost of view rendering by a model, build flexible and reusable software architecture.

2012 1st International Conference on Future Trends in Computing and Communication Technologies
MVC Architectural Pattern for Enterprise Information
System’s Reporting Subsystem in J2EE
Faizan Ahmad Aaima Najam
Department of Computer Science and Engineering Department of Computer Science
Beijing University of Aeronautics and Astronautics COMSATS Institute of Information Technology
Beijing, China Lahore, Pakistan
faizan.ahmad.1988@gmail.com aaimanajam@yahoo.com
Zeeshan Ahmed
Department of Information Technology
Education University
Lahore, Pakistan
zeeshanahmeed@gmail.com
Abstract— Reporting subsystem is a core demand of Enterprise request which makes Model-View-Controller architecture slow
Information Systems. They have the ability to quickly and in term of response especially from the controller part [4].
accurately produce up to date reports. Reports are the need for the
company employee, community, investors, other stakeholders or As Jasper Reports is a valuable and viable standalone
any other person who is related with that enterprise industry. reporting solution. Combined with the graphical design tool
Model-View-Controller (MVC) architecture is widely used software iReport [8] it become a powerful and flexible which provides
design pattern since applications are very large in size these days. the ability to deliver rich content into the screen, printer, PDF,
More recently, it has become the recommended model for Sun Java HTML, XLS, CSV and XML files.
2 Platform, Enterprise Edition (J2EE). This paper researches the
character of Model-View-Controller architecture for reporting This paper proposes the idea to combine the Model-View-
subsystem in Java 2 Platform, Enterprise Edition and Jasper Controller architecture with Jasper Reports in such a way that
Reports then proposes the idea of layered model to improve the decreases the workload of developer as well as the cost to
system’s architecture. In order to reduce the cost of view rendering render the complex and heavy view for each request and makes
by a model, build flexible and reusable software architecture. Model-View-Controller architecture more efficient.
Keywords— Model View Controller, Layered Architecture, A. Standard Model-View-Controller Architecture
Jasper Report, J2EE, Enterprise Information System.
Apart from making application modules reusable and
expressive the motivation behind the Model-View-Controller
I. INTRODUCTION architecture is to separate the business layer and application
Model-View-Controller architecture is widely used layer from the presentation layer to the user. The model
software design pattern since applications are very large in size consists of data and set of rules whereas controller deals with
now days. The reason behind this popularity is that it decouples immediate actions done by user by changing them into
the application object and screen presentation. It also increases instructions for the model or view. A view can be
flexibility and reusability through the way user interface reacts representation of any form of data and same data can be
to user. Different views and controllers can be substituted to presented in different kind of views.
provide alternate user interfaces for the same model. Multiple Model -The model presents data and laws that govern the
views can be activated at the same time [5]. Each view access and updates. It also represents enterprise data with
simultaneously and independently presents the same business rules that mange access and updates of data having no
information from the model. The change propagation knowledge about presentation of data.
mechanism insures that all views simultaneously reflect the
current state of the model [12]. View -The view renders the content of a model. It specifies
exactly how the model data should be presented. If the model
This paper addresses the problem which arises when data changes then view must update its presentation as needed.
Model-View-Controller architecture is implemented for the View is not dependent on the application logic that is why it
enterprise information system’s reporting subsystem [3]. remains same if there is any modification in the business logic
Especially when different users need different view (static text, in other words it maintains the consistency in its presentation
geometric shapes, images, subreports, groups, texts and images when the model changes.
coming from a data) as per their demand to grasp information
out of a same bunch of data. That challenges the skill of Controller -The controller translates the user's interactions
development team as well as increases the workload. It also with the view into actions that the model will perform. The
increase the cost to generate complex and heavy view for each controller is responsible for intercepting the requests from view
122
2012 1st International Conference on Future Trends in Computing and Communication Technologies
and passes it to the model for the required action. After the II. PROPOSED ARCHITECTURE
action has been taken on the data, the controller is responsible The following diagram shows how the Model-View-
for directing the appropriate view to the user. Controller architecture works with the Jasper Reports
environment. In current architecture while model and view are
working as standard Model-View-Controller architecture there
is a slight change in controller part. All controller needs to do is
to execute a jasper file through jasper Application
Programming Interface (API) to get the output result from
jasper reporting engine by building the connection with
database through jasper report data source. Don’t forget here
that jasper report’s environment only supports Java 2 Platform,
Enterprise Edition programming language regardless of which
Java 2 Platform, Enterprise Edition’s Model-View-Controller
framework is used [1, 2, 6]. So the proposed architecture is
Java 2 Platform, Enterprise Edition’s framework independent.
This is how controller’s work load can be decrease by
simply executing jasper file through jasper report engine with
the help of jasper Application Programming Interface (API). It
gets the formatted report as a result and throws it as a selected
view. This saves lots of work load of controller as well as
development team to communicate with database and format
the heavy reports according to the demand of each and every
Figure 1: Model View Controller Architecture user every time.
B. Jasper Reports Environment
Jasper Reports is an engine that takes an XML file and
forms a report out of that file using the data source specified in
the XML [11]. That defines exactly what appears where in the
report. Writing this file by developer is not practically a good
approach. This is where iReport comes into play [9].
iReport is a visual tool that use to create XML files for
Jasper Reports. It provides a WYSIWYG environment to
design reports. Anything that can be placed in a report (static
text, geometric shapes, images, sub reports, groups, texts and
images coming from a data) can be put together through
drag’n’drop [7, 10].
Figure 2: Jasper Report Environment Figure 3: Proposed Architecture
123
2012 1st International Conference on Future Trends in Computing and Communication Technologies
It is highly recommended that for the other subsystems of International Journal on Computer Science and Engineering (IJCSE),
enterprise information system the original Model-View- Vol. 02, No. 04, 2010, 1047-1051.
Controller architecture will be followed so that the presence of [2] S. Huang, H. Zhang, “Research on improved MVC design pattern based
on Struts and XSL,” In Information Science and Engineering ISISE
model is still required. International Symposium, 2008, vol. 1, PP. 451 – 455.
[3] D. Nightingale, “Principles of enterprise systems,” Second International
III. CONCLUSION Symposium on Engineering Systems MIT, Cambridge, Massachusetts,
June 15-17, 2009.
This paper provided the overview of Model-View-Controller [4] R. Eckstein. (2007, March 10). Java SE Application Design With MVC,
framework, Jasper Reports environment and their benefits. It Standard Edition (1st ed.) [Online]. Available: http://www.oracle.com/
also emphasis on the demand of enterprise information system technetwork/articles/javase/mvc-136693. html
for enterprise industry including the core need of reporting [5] B. Kotek. (2002, October 30). MVC design pattern brings about better
subsystem and finally proposed the Model-View-Controller organization and code reuse (1st ed.) [Online]. Available:
http://www.techrepublic.com/article/mvc-design-pattern-brings-about-
architectural pattern for enterprise information system’s better-organization-and-code-reuse/1049862
reporting subsystem in Java 2 Platform, Enterprise Edition. [6] J. Wojciechowski, B. Sakowicz, K. Dura, A. Napieralski, “MVC model
struts framework and file upload issues in web applications based on
We also discussed about the benefits and demand of j2ee platform,” In Proceedings of the International Conference on
proposed architecture which includes vast range of report’s Modern Problems of Radio Engineering, Telecommunications and
view with less development cost and less controller workload Computer Science, 2004, PP 342-345.
by no rendering cost of reports. [7] D. Heffelfinger. (2005 September 05). Getting Started With Jasper
Reports (1st ed.) [Online]. Available: http://www.theserverside.com/
By this way we can improve the performance of news/thread.tss?thread_id=36347
large scale database applications in terms of handling number [8] T. Danciu. (2004 July 18). Jasper Reports (1st ed.) [Online]. Available:
of requests, processing ability and maximum use of http://fecplanner.com/jasperreports/docs/tutorial/index.html
machinery. It will also open the scope of new business [9] E. Swenson. (2009 February 20). Reports made easy with JasperReports
opportunities for the companies and the programmers. It’s The open source JasperReports uses XML templates for your reporting
needs (1st ed.) [Online]. Available: http://www.javaworld.com/
recommended to use the multiple open source components javaworld/jw-09-2002/jw-0920-opensourceprofile.html
with framework for the better performance. This is what [10] D. Vohra. (2006 October 24). Creating a Report with JasperReports
whole paper emphasis about by providing the efficient Creating presentation-quality PDF and Excel Reports with an OSS
solution for enterprise information system’s reporting product (1st ed.) [Online]. Available: http://www.theregister.co.uk/
2006/10/24/jasperreports_tutorial/
subsystem that supports the approach of open source world
[11] J. Corporation. (2012 February 10). JasperReports Library Open Source
simultaneously. Java Reporting Library (1st ed.) [Online]. Available: http://community.
jaspersoft.com/project/jasperreports-library
REFERENCES
[12] I. Davis. (2008 December 09). What Are The Benefits of MVC? (1st
[1] P. Gupta, P. M. C. Govil, “MVC design pattern for the multi framework ed.) [Online]. Available: http://blog.iandavis.com/2008/12/09/what-are-
distributed applications using XML spring and struts framework,” the-benefits-of-m
124
Get documents about "