Design Approaches of Web Application with Efficient Performance in JAVA



Similar documents
In this chapter, we lay the foundation for all our further discussions. We start

Course Name: Course in JSP Course Code: P5

Japan Communication India Skill Development Center

Japan Communication India Skill Development Center

Glassfish, JAVA EE, Servlets, JSP, EJB

An introduction to creating JSF applications in Rational Application Developer Version 8.0

Mastering Tomcat Development

A Guide to Understanding Web Application Development Corey Benson, SAS Institute, Inc., Cary, NC Robert Girardin, SAS Institute, Inc.

Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat

Windows 2000 / NT 4.0 / 95 / 98, MS-DOS, Suse Operating Systems

Java/J2EE or Web Developer. Formal Education. Technical knowledge. Spoken Languages

Japan Communication India Skill Development Center

Performance Optimization of Teaching Web Application based SSH Framework

CrownPeak Java Web Hosting. Version 0.20

Portals, Portlets & Liferay Platform

Web-JISIS Reference Manual

Course Number: IAC-SOFT-WDAD Web Design and Application Development

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

JAVA/J2EE DEVELOPER RESUME

Java Web Programming with Eclipse

Performance Comparison of Persistence Frameworks

Japan Communication India Skill Development Center

Modeling Web Applications Using Java And XML Related Technologies

IBM Rational Web Developer for WebSphere Software Version 6.0

Application Notes for Packaging and Deploying Avaya Communications Process Manager Sample SDK Web Application on a JBoss Application Server Issue 1.

New Web Application Development Tool and Its MDA-Based Support Methodology

Net-WMS FP Net-WMS SPECIFIC TARGETED RESEARCH OR INNOVATION PROJECT. Networked Businesses. D.8.1 Networked architecture J2EE compliant

Syllabus INFO-UB Design and Development of Web and Mobile Applications (Especially for Start Ups)

CatDV Pro Workgroup Serve r

Building Web Applications, Servlets, JSP and JDBC

This document gives an outline of Tim Ward s work on mobile phone systems

SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1

Rapid Application Development. and Application Generation Tools. Walter Knesel

Tutorial: Building a Web Application with Struts

A Comparative Study of Web Development Technologies Using Open Source and Proprietary Software

DTS Web Developers Guide

Oracle Identity Analytics Architecture. An Oracle White Paper July 2010

DiskPulse DISK CHANGE MONITOR

CS Developing Web Applications with Java Technologies

An Overview of Servlet & JSP Technology

Short notes on webpage programming languages

Getting Started with Web Applications

Syllabus INFO-GB Design and Development of Web and Mobile Applications (Especially for Start Ups)

Customer Bank Account Management System Technical Specification Document

Client-server 3-tier N-tier

WEB APPLICATION DEVELOPMENT. UNIT I J2EE Platform 9

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

Web Development on the SOEN 6011 Server

Web Applications. Originals of Slides and Source Code for Examples:

EVALUATION ONLY. WA2088 WebSphere Application Server 8.5 Administration on Windows. Student Labs. Web Age Solutions Inc.

<Insert Picture Here> Michael Hichwa VP Database Development Tools Stuttgart September 18, 2007 Hamburg September 20, 2007

Curriculum Vitae E. A. Java/JEE developer

Softage Java Project Manager

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

How To Understand The Architecture Of Java 2Ee, J2Ee, And J2E (Java) In A Wordpress Blog Post

Cross Platform Applications with IBM Worklight

LICENSE4J AUTO LICENSE GENERATION AND ACTIVATION SERVER USER GUIDE

Web Container Components Servlet JSP Tag Libraries

Oracle Application Development Framework Overview

Specialized Programme on Web Application Development using Open Source Tools

Developing Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004

SSC - Web development Model-View-Controller for Java web application development

Web Applications. For live Java training, please see training courses at

Application of MVC Platform in Bank E-CRM

Creating Web Services Applications with IntelliJ IDEA

Kony MobileFabric. Sync Windows Installation Manual - WebSphere. On-Premises. Release 6.5. Document Relevance and Accuracy

HP OpenView Service Desk Version 3.0

DTWMS Required Software Engineers. 1. Senior Java Programmer (3 Positions) Responsibilities:

<Insert Picture Here> Betting Big on JavaServer Faces: Components, Tools, and Tricks

ServletExec TM 5.0 User Guide

RemoteTM Web Server User Guide. Copyright Maxprograms

Security Testing of Java web applications Using Static Bytecode Analysis of Deployed Applications

DeskNow. Ventia Pty. Ltd. Advanced setup. Version : 3.2 Date : 4 January 2007

NetBeans IDE Field Guide

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

PowerTier Web Development Tools 4

Design and Functional Specification

GRAD Analytics Advanced price and promotional analysis interface. Reactive UI providing dimensional visibility to marketing analysis.

Outline. CIW Web Design Specialist. Course Content

Building and Using Web Services With JDeveloper 11g

Installation Guide for contineo

MVC pattern in java web programming

Web Application Architecture (based J2EE 1.4 Tutorial)

Internet Technologies_1. Doc. Ing. František Huňka, CSc.

PG DAC. Syllabus. Content. Eligibility Criteria

White Paper Converting Lotus Notes Applications to the Cloud Using the CIMtrek converter Product

SSO Plugin. J System Solutions. Upgrading SSO Plugin 3x to 4x - BMC AR System & Mid Tier.

How To Develop A Web Dialog For An Org Database With A Database On A Computer (Oracle)

Comparison of Software Development Productivity by EJB Versions with Enterprise of Standardization

Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:

General principles and architecture of Adlib and Adlib API. Petra Otten Manager Customer Support

CSI 2132 Lab 8. Outline. Web Programming JSP 23/03/2012

Server Setup and Configuration

Web and Enterprise Applications Developer Track

Software Development Kit

What Is the Java TM 2 Platform, Enterprise Edition?

Crawl Proxy Installation and Configuration Guide

Transcription:

IJCSNS International Journal of Computer Science and Network Security, VOL.11 No.7, July 2011 141 Design Approaches of Web Application with Efficient Performance in JAVA OhSoo Kwon and HyeJa Bang Dept of Computer Science & Engineering, Seoul National University of Science and Technology Abstract System implementation using Client/Server based on Web by spreading fast is becoming common. This kind of Web environment introduction solved many problems such as the dependency and distribution difficulty, high cost, etc. Web application and Web Service technology has more closely and effectively developed to maximize the positive point of Web environment. Based on the positive point, in this paper, we propose and implement Web application design method to implement it effectively. And also, we need to make it possible to implement on any platform based on Java. First, we have implemented reusable SQL Servlet DATABASE search, registration, update, delete, etc fast and convenient using SQL Servlet for only SQL service. Second, it writes business logic to the JSP file with Forward Servlet to prevent restarting the Web server, so it can prevent restarting the server when compiling from adding or changing Java file. These two methods provide easiness, and shortening the developing period, scalability and flexibility have improved, and it is very effective way for the maintenance. Key words: JAVA, Web Application 1. Introduction Its early computational system had only one function which user device can access to the system in the way of connecting to the main frame terminal. Since then, the lowered price and advanced PC has come into wide use and Client/Server method appeared by developing communication technology. Since the advent of Web, many companies have chosen Web based method which can interchange not only test data in standardized environment, but voice, image, movie and multimedia. And all sort of server side languages, JavaScript and Flash made web page dynamically and it made various services possible. This kind of server based service is called Web Application defined by "Java Servlet Specification 2.3" which makes interface of online application made out of server source set. Server sources include Servlets, JSP, HTML page, Server Side Classes, etc.[1] It is very effective for the maintenance by utilizing the server sources. We need to study and implement on effective Web Application which provides convenience 2. Design In this paper, the Web Application what we wanted to build was designed based on Web environment and was used many different open library based on Java. This library classes help us use various functions easily and conveniently. The used libraries were Struts, ibatis, Ajax, etc And also, the purpose of this paper is to implement using the C/S model's good point and offering similar UI and functionality compare to C/S model aimed at the system which replacing existing 2-Tier C/S model environment system to 3-Tier model Web based system. And it was designed the purpose of convenient development, reduction of development and maintenance easiness.[2] And also, this paper proposes SQL Servlet for only SQL service and Forward Servlet for the maintenance and easiness. 2.1 Directory Structure The actual Basic structure of the Web Application and sources includes static source directory, JSP file and directory, applications and WEB-INF directory of application related class file, subdirectory servlet files and related class files, JavaBeans class directory and lib directory of library files which is used in Web application. The actual Web Application directory location and structure are as follow.[1] Figure. 1. Web Application Directory Structure Manuscript received July 5, 2011 Manuscript revised July 20, 2011

142 IJCSNS International Journal of Computer Science and Network Security, VOL.11 No.7, July 2011 The descriptions of Web Application directory structure is as follow. Properties It is an environment set file toward Web Application configuration. Basically, Web Application setting was set as default. Source It is a directory for business logic Java files which will be used for Web Application. Web Page It stores HTML, image, JavaScript file, etc to the base Doc directory of Web Application. WEB-INF This directory can't be accessed with URL and includes every implemented application such as Servlet, JSP and class files which use those applications. Classes This includes Servlet class files and related classes, JavaBean, etc. Even if this directory was not set to the classpath category, it registers to the container's classpath internally. But if it places servlet to a subdirectory then this servlet should have the directory name as the package name. lib It is a directory which stores library files used in Web Application, and the file in this directory added automatically and internally by the container. The library in this directory should be in compressed format like jar, zip. XML It is a directory which stores SQL DML statement used in Web Application written in XML format. It doesn't use SQL DML statement directly on Java code or JSP code, and it uses by reading DML statement written in XML. 2.2 Web Application Whole Process The whole process of Web Application requests user's request to the servlet through Ajax engine, and at the same time, Servlet processes the logic, and then it responds with user's XML data. The whole Web Application process looks as follows. Figure 2. Web Application Process Flow which are needed for the request and Action Servlet which will be requested. If web server receives HTTP request, it forwards the request to the Web Application. The Web Application server processes the business logic based on received HTTP request. When business logic is in progress, it requests and send data to database server in case, As soon as process is done, it send the result to the web server in XML format. Web server forwards the received and processed result to the web browser through the Ajax Engine. Web browser forwards JavaScript function called Callback by processing received XML Data. The whole flow diagram shows as follows. Figure 3. The whole process flow diagram of Web Application 2.3 Web Application client process flow diagram First, client requests for the GUI for the presentation. This screen has used expanded JSTL Custom Tag Library. Every request is done by JavaScript function, and the JavaScript function checks the parameter and validation about the request. The request from the JavaScript function forwards to Web server through Ajax Engine, and the Web Server forwards the result to Client in XML Format. Forwarded XML Data parses with defined callback function, and the parsed XML displays on the screen.[12]. The client process flow diagram shows as follows. 2.4 Web Application server process flow diagram If we take a look at the Web Application process steps like the figure, it could be called JavaScript function by user's request. The called JavaScript function will request HTTP to the Web Server through Ajax Engine. At this time, JavaScript function will decide Parameter and Service type First, the server loads the Web Application at the beginning, and then loaded Web Application will be loaded on the memory by loading stored code (codes used for the Web Application) in properties file and database to set the Web Application by LOAD class. As soon as the Web Server Client request arrives, if database use is needed after handling requested actions, Servlet will return the result in XML format after reading and processing SQL statements

IJCSNS International Journal of Computer Science and Network Security, VOL.11 No.7, July 2011 143 from XML directory using XML Controller. Figure 4. Web Application Client process flow diagram time. It processes in database by reading from XML document using each separated SQL ID and responds it by making XML format data. Then it doesn't add and create servlet anymore for the database process, and the service can be used by adding SQL DML statement in XML document, and it has an advantage of using service by adding SQL DML statement to the XML document. And also, it gives effective development of convenience. SQL servlet process flow diagram shows as follows. Figure 6. Web Application Compile Process Flow Figure 5. Web Application Web Server Process Flow Figure 7. Web Application SQL Servlet Process Flow 2.5 Web Application Compile Process Flow We Application compile process uses ANT Build. ANT is a build tool based on JAVA offered by Apache. It is possible to use on any platform due to the platform independency if ANT is used. For example, compiled classes create jar compressed file by packaging, and have functions which moves jar compressed file to a particular directory.[5] The compile process of this paper also uses ANT and it moves in lib directory to the WEB-INF directory after the compile process. 2.6 Web Application SQL Servlet Process Flow The proposed SQL Servlet is for only SQL service. It processes by reading XML document from the XML directory. It separates SQL ID (ID for SQL) by using delimiter to be able to handle multi SQL DML at the same 2.7 Web Application Forward Servlet Process Flow The proposed Forward Servlet in this paper is a servlet to process business logic in JSP. It is very effective for maintenance or change of implemented source. If it compiles when the source needed to change, web server need to be restarted. Because it could lead to service interruption, it forward the result in XML format after processing the JSP business logic which doesn't need to be compiled.

144 IJCSNS International Journal of Computer Science and Network Security, VOL.11 No.7, July 2011 Figure 8. Web Application Forward Servlet Process Flow that it can separate presentation and program implementation perfectly. Because it helps not to put messed script language code in HTML, it is very effective for maintaining JSP page. 3.2 Web Application Button Implementation Result Next is the result of implementation of web application button. It changes the button style automatically by changing CSS style instead of changing source code. Also, it improved the convenience by using various attributes. value : title <webapp:button value="button"/> 3. Web Application Implementation 3.1 System Configuration Environment Web Application was developed in following environment. Because it was implemented with JAVA, it could be implemented on other environments beside the implementation environment configured below. Web Server OS : Microsoft Window 7 WAS Server OS : Microsoft Window 7 Database Server OS : Microsoft Window 7 Java Version : JDK 1.6 WAS : Apache 2.0 WAS : Tomcat 6.0.22 DBMS : Oracle 10g Development tools : Eclipse 3.2 Language : JAVA, JSP, JavaScript, XML등 library : apache ant, struts, ibatis등 The connection between Java and Database was implemented using JDBC. Because it followed standard specification, it doesn't matter to use other database beside Oracle. Also web server, web application server and database server were implemented to work on different devices. Also, it was implemented model, view, controller by functionally separating using MVC pattern. It is effective on Web Application performance and load balancing, it guarantees independency by separating data access and transaction logic, and it is easy to expand, maintenance and reuse because it is irrelevant to the server and database. Also we have placed emphasis on C/S method functionality and offering UI. To do this, we used Custom Tag Library expended from JSTL (Java Standard Tag Library). The greatest advantage of Custom Tag Library is <webapp:button value="button" title="button sample"/> disable <webapp:button value="button" disable="true"/> styleclass <webapp:button value="button" styleclass="img_btn"/> classl <webapp:button value="button" classl="img_btnl"/> classm <webapp:button value="button" classm="img_btnm"/> classr <webapp:button value="button" classr="img_btnr"/> 3.3 The Implementation Result of Web Application Menu MDI Next screen shows the implemented result of Web Application Menu by MDI. MDI is a window programming interface to make application program able to work with many document at the same time. Nature of the Web, it can't open and work multi screen in one screen.

IJCSNS International Journal of Computer Science and Network Security, VOL.11 No.7, July 2011 145 To do this, this screen is showing the implemented result to work in one browser on each menu by applying Microsoft MDI functionality. Maximum numbers can be set by properties which are Web Application setting file, screen will be opening as many as the set. Figure 9. The MDI Implementation Result 3.5 The Implementation Result of Web Application GRID and TREE Next, it is the screen which displays Web Application in GRID and TREE form. It was implemented similar as C/S method. We have implemented ROW click, double click, cell Change, etc by implementing events in GRID and TREE property. GRID implemented source code <webapp:grid id="samplegrid" width="350" height="400" no="true"> <tr event="o,d,c"> <td width="100" column="menu_id" title="menu ID"></td> <td width="100" column="menu_nm" title="menu NAME"></td> <td width="100" column="order" title="order"></td> </tr> </webapp:grid> Figure 10. GRID implementation result 3.4 Web Application Tab Implementation Result Next, It Web displays in Application Tab form on the screen. It can separate one menu which has similar function to many function screens. ></webapp:tab> tabbox= true ></webapp:tab> styleclass="bluetab"></webapp:tab> styleclass="bluetab" tabbox="true"></webapp:tab> TREE implemented source code <webapp:tree id="sampletree" width="350" height="400" no="true"> <tr event="o,d,c"> <td width="100" column="menu_id" title="menu ID"></td> <td width="100" column="menu_nm" title="menu NAME"></td> <td width="100" column="order" title="order"></td> </tr> </webapp:tree>

146 IJCSNS International Journal of Computer Science and Network Security, VOL.11 No.7, July 2011 Figure 11. TREE Implementation Result Events - -Mouse left click : O - -Mouse double click : D - -Cell change click : C - -Multiple Events : separate with, These events can be implemented to handle the events by reconstructing in JavaScript function. Left mouse click event could be implemented by overriding grid_onclick(id, nrow) function, and double click event could be implemented by overriding gird_dbclick(id, nrow) function,, and Cell Change event could be implemented by overriding gird_cellchange (id, nrow, ncol) function. implementation by making functionality of C/S model's GRID, TAB GUI and making GUI usable on Web Application. Requesting and responding data are still exposed with simple snooping program while communicating between servers. The research for the security should be continued for the client and server communication. References [1] ORACLE, "API" http://java.sun.com, 2011 [2] H. J. Moon, I. J. Whang, S.I. Kim, Client/Server Environments and Computing Models.", Korea Information Processing Society review, Vol.4, No. 6, pp.4-15, 1997 [3] Steve Burbeck, Ph.D., Applications Programming in Smalltalk-80: How to use Model? View? Controller, 1987 [4] B.G. Choi, MVC Prime Work mplementations. J.S.P., 2003 [5] APACHE, "ANT", http://ant.apache.org, 2011 [6] MySQL, Guide to Cost-effective Database Scale-Out using MySQL, http://www.mysql.com/whymysql/mysql_power.html [7] Johnson R, Hoeller J, Expert One-on-One J2EE Development without EJB. 2004, Indianapolis: Wiley Publishing Inc [8] John Arthur, Shiva Azadegan, Spring Framework for rapid open source J2EE Web Application Development: A case study, IEEE Computer Society [9] Rod Johnson, Juergen Hoeller, The Spring Framework: Introduction to Lightweight J2EE Architecture, JavaOne conference [10] Servlet Technology, "Servlet", http://java.sun.com/products/servlet/ [11] JavaServer Pages, "JSP", http://java.sun.com/products/jsp/ [12] JSTL specification, "JSTL", http://jcp.org/aboutjava/communityprocess/final/jsr052/ [13] Struts pages, "struts", http://jakarta.apache.org/struts/ [14] The Model-View-Controller ('MVC') Design Pattern http://jakarta.apache.org/struts/userguide/introduction.html# mvc [15] Oracle10g Server Application Developer's Guide, Oracle 사, February 2008 [16] Mark C. Reynolds, Andrew Wooldridg, ed. M.H. Kim, Using Java Script, Information Public Group,1997 [17] Yong-Woo Park, Java Web Application Programming Bible, YongJin 4. Future Work In this paper, we have researched on the effective way of implementing the Web Application. And, if we use proposed SQL servlet and Forward servlet in this paper, developer doesn't have to make extra business logic such as search, update and delete and it has good effect on developing conveniently and shortening the period of development. If JAVA program source change, it could have restarting problem, it can be solved by using Forward servlet processing the business logic. We were able to increase the effectiveness of

IJCSNS International Journal of Computer Science and Network Security, VOL.11 No.7, July 2011 147 OhSoo Kwon, MS Student, Seoul University of Science and Technology Area of interest: JAVA, Android, Objective-C HyeJa Bang, Professor, She received a Bachelor of computer science in Soongsil University and Master's degree in Computer Science in North Texas University, and Ph.D degree in Soongsil Univ. She was a visiting professor in Florida State University. She has been a full professor at department of computer science in Seoul National University of Science and Technology. Area of interest: Programming Language, XML, Formal Language Theory