Evaluating Presentation Layer Development Frameworks for EJB Applications in J2EE Architecture
Total Page:16
File Type:pdf, Size:1020Kb
International Conference on Computer Science and Information Technology (ICCSIT'2011) Pattaya Dec. 2011 Evaluating Presentation Layer Development Frameworks for EJB Applications in J2EE Architecture Ohm Samkoses, Dipl. -Inform. Matthias Vianden, Prof. Dr. rer. nat. Horst Lichter gathering and analysis, multiple rounds of frameworks Abstract—For medium to large organizations, information selection with different criteria, prototype implementations, systems play an important role for information storage and retrieval. and results evaluation. The chosen frameworks for prototype They are used to support business processes such as decision-making. development should fulfill most of the requirement and the In information systems, huge amountof data needs to be manipulated prototypes implementation should reflect the solution for each and visualized. One way to handle this complexity is to use Enterprise JavaBeans (EJB) [1] in a J2EE architecture. Since EJB has requirement clearly, and must be able to work with the not been designed to work in the Presentation Layer, suitable existing system's environment: the back-end is managed by Presentation Layer Development frameworks are introduced to EJB 3.0, and IBM Websphere Application Server 7.0. enhanced thepresentation layer of the information systems. The MeDIC (Metric Definition Integration Calculation) system and XAM II. TASKS / STEPS (eXam Assignment and Management) system [2] are typical representatives of such information system. A. First frameworks selection Nowadays, many frameworks, such as Java Server Faces (JSF), First step was to narrow-down the scope of the focused Wicket, and Tapestry, exist to cover the Presentation Layer. They framework based mainly on framework popularity. Other provide a variety of features and architecture enhancements. The goal of this research paper is to evaluate frameworks for the Presentation factors were general web framework criteria [3], such as, Layer of information systems, which shared the same architecture learning curve, testability, configuration complexity, amount with the proposed architecture of the MeDIC and XAM system. of artifact produced, architecture and pattern, tools and IDE, and supports from community. This first selection aimed for Keywords—J2EE Architecture; Enterprise JavaBeans; 5-10 frameworks as an output. Presentation Layer Development Frameworks; Information System; B. Frameworks analysis I. INTRODUCTION The outputs from the first framework selection were analyzed at this step. The selected frameworks were compared Nthe proposed architecture, the Data Layer and Business to each other under five general web framework criteria: Logic Layer are managed by EJB. The Presentation Layer I configuration complexity, learning curve, testability, communicates to the Business Logic Layer via Application community and support, tools and IDE. Facade. The Presentation Layer is currently implemented using JSP/Servlet technology. However, the current design C. Requirements gathering and analysis still has several defects, for instance: code redundancy, huge All attendances were developers, who experienced using the amount of classes, and low reusability. In consequence, J2EE system based on the proposed architecture. Also requirements presentation development frameworks minimize those defects prioritization was used to identify the important factor of each and improve the efficiency of the system, which shared the requirement. similarities with the proposed architecture. The goal of this research paper is to evaluate frameworks D. Second frameworks selection for the Presentation Layer based on the proposed architecture, In the previous step, 3-4 frameworks were aimed to be including the current solution (JSP/Servlet). The steps to selected as an output. The main factor of the selection is the achieve the goal of this research paperincluderequirements requirements, the general web framework criteria were also affected, but less because the requirements represent the characteristics of the solution itself. In contradiction, even a Ohm Samkoses is a master degree candidate of Thai-German Graduate framework fulfills most of the requirements, it should not fail School of Engineering (TGGS),King Mongkut's University of Technology North Bangkok (KMUTNB), Bangkok, Thailand (phone: (+66)87-550-3738; on the general web framework criteria, which represent the e-mail: [email protected]). characteristic of high quality, efficient, productive web Dipl. -Inform. Matthias Vianden,is a research assistant of the Research framework. Group Software Construction (SWC), RWTH Aachen university, Germany (e- mail: [email protected]). E. Prototypes implementation Prof. Dr. rer. nat. Horst Lichteris a professor at RWTH Aachen university and head of the Research Group Software Construction (SWC)(e-mail: The selected frameworks wereimplemented for a proof of [email protected]). concept. For each prototype, there were five aspects need to be 37 International Conference on Computer Science and Information Technology (ICCSIT'2011) Pattaya Dec. 2011 mentioned: working environment and tools, framework's basic following seven most widely-used frameworks are selected for concepts, complete architecture after the integration of further research and analysis: framework, project structure and artifacts produced, and steps • Spring MVC (SpringSource.org) to migrate from the existing system. • Java Server Faces (J2EE and JSR Standard) F. Results evaluation • Wicket (Apache Software Foundation) All implemented frameworks were analyzed against the • Seam (JBoss) requirements. The result from the comparison against general • Struts2 (Apache Software Foundation) web framework criteria in step 2 also affects the evaluation at • Tapestry (Apache Software Foundation) this point. • Stripes (Stripes) These important steps were demonstrated and explained in detail in the following chapters of this report. • The existing system, pure JSP and Servlet III. BACKGROUND Even though, web frameworks give you many benefits,but there are several criteria that should not be neglected. For The architecture of the existing system is based on the J2EE example, testability, learning curve, community and support, architecture. Follow the J2EE approach, the system is divided tools and IDE, architecture and patterns, configuration into 3 layers: Presentation layer, Business Logic layer, and complexity, and amount of artifact produced. Data layer. The following diagram shows the comparison result of the The presentation layer composed with plain JSPs and frameworks selected from the 1st framework selection, in the Servlets. The request from the browser will be centralized to context of some part of the criteria explained in previous the Action Handler Servlet and delegates to the corresponding section. Action class. The Action class communicates with the Application Facade in the Business logic layer. The Business Layer and Data layer are managed by EJB framework. The Application Facade delegates the request sends by Actions in Presentation Layer to the corresponding Controller. The controllers are the interfaces to simplify the business logic in Management. The Entity persisted, and the results from the database render in JSP page in the presentation layer. Fig. 2Result from the output of first frameworks selection V. REQUIREMENT GATHERING AND ANALYSIS There were 5 attendances. All of theattendants are developers working in the MeDIC or the XAM project. All attendances were free to express their own opinions about the original prototype, expected characteristics of the new architecture, and prioritize all requirements. Fig. 1Architecture diagram of the existing system The purpose of this requirements meeting is to get technical feedbacks and suggestions from the users of the original On the client layer, the existing system uses the Command prototype and use those information as criteria for the 2nd pattern to encapsulate the request parameters. All requests frameworks selection and comparison. The selected pass through the Action Handler then the Action Handler frameworks will be analyzed in detail, implemented as delegates the request to the corresponding Action class. Both prototype of the existing system, and evaluated in the Action Handler and Actions are all ordinary Servlets built for following chapters. These following contents are the request delegation and communication to the business layer. requirements: One example of the problem caused by this pattern is huge amount of Actionclasses since, for each user operation, one action class needs to be created. In consequence, at least ten 1st priority (1) According to the feedback from user, convention over action classes must be created per Entity (create, retrieve, configuration framework is preferred. One factor that affect update, delete, and assign actions), this will increase the complexity is large files in the system especially, dramatically, if there are more object types in the system. configuration files such as xml files. There are very few tools/IDE, which support xml auto-completion and IV. FIRST FRAMEWORK SELECTION verification. Based on the statistic from Google Trends [4] and Zero Asynchronous JavascriptAnd XML (AJAX) is a web Turnaround's Java EE productivity report 2011 [5], these development method used on the client-side to create 38 International Conference on Computer Science and Information Technology (ICCSIT'2011) Pattaya Dec. 2011 interactive web application. With AJAX, web application