MVC Architectural Pattern for Enterprise Information System’s Reporting Subsystem in J2EE by ftcom2012


More Info
									                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

                                                           Zeeshan Ahmed
                                                 Department of Information Technology
                                                        Education University
                                                          Lahore, Pakistan

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

               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

                  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:
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:
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:
  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                              
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:
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:
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.
                                                                                    [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:
      distributed applications using XML spring and struts framework,”                   the-benefits-of-m


To top