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 email@example.com firstname.lastname@example.org Zeeshan Ahmed Department of Information Technology Education University Lahore, Pakistan email@example.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 . 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  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 . 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 . 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 . 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 . 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 . 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  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.  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  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  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.  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.  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  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  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  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  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  I. Davis. (2008 December 09). What Are The Benefits of MVC? (1st  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