个人博客网站设计外文翻译
外文文献资料 收集 应用技术学院 06 计算机科学与技术 ( 0616403057) 傅晓燕 (外文文件名 JSP Splitting for Improving cution Perance) Abstract Splitting a JSP Java Server Pages page into fragments can improve the cution perance of JSP pages when the Web application server can separately cache the Web page fragments obtained by cuting the JSP fragments. If a JSP page is split into fragments according to the update frequency of each portion of the Web page obtained by cuting the JSP page, all of the split JSP fragments do not need to be cuted again when only a single cached part of a Web page expires. In addition, the fragments of a JSP page can be reused by other JSP pages. In both cases, the cution results of all of the JSP fragments split from the JSP page must be the same as from the JSP page before it was split. In this paper, we propose JSP splitting, which is a of splitting a JSP page into fragments maintaining the data and control dependences existing in the original JSP page. JSP splitting automatically detects the portions needed to maintain the data and control dependences of a JSP page for the portions that developers want to split from the JSP page. We implemented JSP splitting with a GUI tool, and confirmed that the split JSP fragments were cuted in the same as the way as the JSP page before the split. Experimental results show that the response time to access a Web page can be reduced by splitting a JSP page into fragments and setting different caching periods for the Web page fragments obtained by cuting the JSP fragments. 1. Introduction Splitting a JSP Java Server Pages page into fragments can improve the cution perance of some JSP pages when the Web application server can separately cache the Web page fragments obtained by cuting the fragments of the JSP page. The period of caching dynamic Web pages generated by a JSP engine is limited due to the dynamic nature of the content. When the cached content of a Web page generated by a JSP engine is updated, the entire JSP page must be cuted again on the application server, even though the change of the Web page might be small. Since frequent updates of cached Web pages increase the load on an application server, it is reasonable to split a JSP page into fragments and set different caching periods for the Web page fragments obtained by cuting the JSP fragments. Of course, the Web page fragments must be merged into a final Web page correctly. The Dynacache technology of IBM WebSphere Application Server allows Web page fragments to have different caching periods. Cache tag libraries provided by the Apache Jakarta Project also support different caching periods for the JSP fragments. In addition, ESI Edge Side Includes technology provides a mechanism to cache Web page fragments with different caching periods, and to merge them into a final Web page on an edge server. The application offload technology of IBM WebSphere Edge Server is another approach to improve the cution perance of JSP pages. This technology allows one or more JSP fragments to be cached and cuted on edge servers. The remaining JSP fragments are deployed on the application server and are called by the JSP fragments cuted on the edge server. Thus, some of the cution of a JSP page is offloaded to the edge server. Splitting a JSP page facilitates the reuse of JSP fragments. When a Web application consists of many JSP pages, the same portions tend to exist in many JSP pages. Examples are the frames, the banners, the headers, and etc. When a JSP page is split into fragments, the total cution result of all of the fragments must be the same as the JSP page before it was split. In addition, when the fragments of a JSP page are cuted in different servers, each fragment needs to be cuted without the other fragments. In order to satisfy these conditions, we propose JSP splitting, which is the of splitting a JSP page into fragments described in this paper. Since it is very difficult to automatically find the best way to split a JSP page into fragments for some particular purpose, we assume that the developers will select the portions that they want to split into fragments. In order to cute all of the divided JSP pages correctly, JSP splitting automatically detects any portions that must be moved or copied into a fragment with the selected portions. The detection is done based on the analysis of the data and control dependences existing in a JSP page. JSP splitting is similar to the program slicing technique that slices a program based on the data and the control dependences. However, the program slicing technique does not take into account that the sliced programs are cuted independently and that the total cution result of the sliced programs must be the same as the program before the division. In addition, since data is passed to the JSP engine during the cution of JSP pages, the source program of the JSP engine, such as Apache Tomcat, is required in order to analyze the data dependences correctly. This is impractical, because the source program of the JSP engine is very large and complex. JSP splitting avoids the analysis of the JSP engine by utilizing the characteristics of JSP. The rest of the paper is organized as follows. Section 2 explains the difficulty of splitting a JSP page into fragments. Section 3 gives details of the algorithmto split a JSP page. Section 4 describes the JSP splitting tool that is an implementation of JSP splitting and demonstrates how a sample JSP page is split by the tool. Section 5 shows the experimental results obtained by cuting the split JSP fragments with different caching periods on the IBM WebSphere Application Server. Section 6 discusses previous work in relation to our contributions. Our conclusions the final section. 2. Difficulty of Splitting a JSP Page In this paper, splitting a JSP page means that some portions of the JSP page are cut from the JSP page and saved as new JSP pages. Such newly created JSP pages are included in the original JSP page by using some mechanism such as the jsp include tag. We call the included JSP page the JSP fragment, and call the JSP page that invokes the JSP fragments the master JSP page. A master JSP page invokes JSP fragments and receives Web page fragments obtained by cuting them. Then the master JSP page merges its own Web page fragment with the Web page fragments received from the JSP fragments, and creates a final Web page. JSP fragments are not always cuted in the same server or at the same time. The application offload technology allows a master JSP page and JSP fragments to be cuted in different servers. When the ESI mechanism is used, esi include tags