Web-Based Feature Reduction System: A Case Study Hoh Peter In*, Thomas Foster*, Jason Surprise*, Sung-Oh Jung*, Dick Simmons*, and Hiroko Fujihara** *Computer Science Department Texas A&M University College Station, TX 77843-3112 +1 979 458 1547 {hohin, jungs, simmons}@cs.tamu.edu {tgf2910 ,jms8243}@labs.tamu.edu
** Hewlett Packard 3000 Waterview Parkway Richardson, TX 75080 +1 972 497 4307
[email protected]
in [2,3]. The purpose of the initial FRS is to perform automatic transactions via HTTP protocol communication with web servers [1]. The initial FRS results in reducing manual intervention when working with multiple web-based systems. It also allows the user to complete web transactions with greater ease and efficiency.
ABSTRACT Before Feature Reduction System (FRS) was developed, software engineers were required to use multiple independent web-based information-reporting systems when conducting multiple web transactions. Software engineers, interacting with many webbased systems during normal software project activities, are often required to manually enter similar, or even the same, information multiple times using graphic user interfaces. This paper presents FRS, a web-based feature reduction system, which enables software engineers to greatly reduce their manual intervention during the course of web transactions. Unlike other automatic web transaction systems, FRS is adopting a new component-based approach, called “WebComponent,” to generalize initial capabilities of script-based FRS. The on-going component-based approach to FRS results in improving greater ease and efficiency of web transactions, enabling higher-level web transaction programming (called “mega-programming”), and increasing code reusability through WebComponents.
Unlike other meta-script [2] or meta-data [3] approaches, a new FRS is adopting component-based approach as shown in Figure 1, after we completed an experiment of the initial TRS in a HP project. Each web server with intelligent wrappers is treated as a single component (called “WebComponent”) in the new FRS framework. A FRS application is developed by composing relevant WebComponents according to work flow using a boxand-line graphical user interface. For example, an integrated travel reservation system based on three web sites of hotel, airline, and rental car reservations is easily developed by linking Hotel, Airline, and Rental-car WebComponents using their input/output interfaces. Once the user enters personal information, travel information (e.g., departure/arrival cities/dates/times), and credit card information through the left side of the biggest box shown in Figure 1, all the information is fed into relevant WebComponents as their inputs. Outputs of the WebComponents become also inputs of other WebComponents. Therefore, it is not necessary for the user to enter the same information again.
Keywords FRS (Feature Reduction System), Reusable components, World Wide Web (WWW), Graphic User Interfaces (GUIs)
Travel Reservation WebComponent
1. INTRODUCTION During the process of completing normal software project activities, a software engineer may interact with many web-based systems to collect work progress, cost, schedule, defect, and testing results. Each web-based system is often developed independently by different departments even in the same company. These web-based systems may require the software engineer to manually enter similar, or even the same, information multiple times in order to complete a transaction. For example, the software engineer should enter the same defect information into a progress report system (to explain why it takes so long to finish his/her job), a testing report system (to notify what defects are identified), and a defect report system (to collect all defects for software process improvement). The result is often an unacceptably large number of redundant manual entry (or manual intervention). The manual effort of a software engineer can be reduced if data are only entered once and a system automatically enters the data for each web-based system.
Personal info travel info
Airline reservation conference Reservation
In this paper, an automatic web transaction system, called "Feature Reduction System (FRS)," is described and new insights of how to improve initial FRS are discussed. The initial FRS is a web-based feature reduction system based on scripts and their interpreter similar to meta-scrip and meta-data techniques shown
Proceedings of the 2003 Symposium on Applications and the Internet (SAINT’03) 0-7695-1872-9/03 $17.00 © 2003 IEEE
Rental car reservation Hotel reservation
credit card info
Component (C)
Transaction acknowledgement
Input/output Interaction
Figure 1. Component-based Approach to Automatic Web Transactions For future work, the component-based FRS approach is also applicable and useful to an automatic entry mechanism for wireless web transactions in order to overcome the small screen limitation of handheld devices such as cellular phones and PDAs. A simplified version of FRS running on the handheld devices enables end-users to get around cumbersome input entry. It takes some information from scheduler, memos, and personal databases and fills up the forms required to process wireless web transaction. The paper is organized as follows: brief explanation of the FRS architectures in Section 2, and conclusions in Section 3.
itinerary
2
FRS (Feature Reduction System)
Intelligent wrapper ProgressRprt Web
2.1 Initial Analysis: Three Intranet Systems Three main web-based systems are used to track software development data in Hewlett Packard. Many fields on one web site require the same or similar information. In HP, FRS interacts with three intranet systems – ProgressReport1, TestingReport, and DefectReport – which are servers that track similar development data. On the ProgressReport web server, the user can either submit a new report or search for an existing one to be edited if a login process is successfully done. On the TestReport web server, the user enters the ninth item that comes from the third item of ProgressReport. On the DefectReport web server to create, edit, view, and query defect information, the second item should be entered by combining the ninth item of ProgressReport and the first item of TestingReport. Note that as each department develops each web server independently, they cannot control the servers of other departments, and even want not to change their own servers because of possibility of new defect introduction due to the changes. FRS provides an opportunity to improve efficiency of HP’s software development process. 2.2 FRS Architecture Overview The FRS architecture shown in Figure 2 is composed of three modules such as graphical user interfaces, FRS applications, and the pre-compiler. They are explained in detail in the following subsubsection. 2.2.1 Graphical User Interfaces and Intelligent Wrappers A graphical user interface enables software engineers to enter common, yet necessary data only once. The entered data are distributed and fed into WebComponents. Another graphical user interface for WebComponent management enables WebComponent developers to define each WebComponent per web server using an intelligent wrapper technique. It also enables WebComponent users to define interactions among WebComponents. The intelligent wrapper technique provides a set of most-commonly-used, patterned extraction rules so that the Web developers can define WebComponents easily. 2.2.2 Applications written by the TRS Pre-Compiling Language FRS applications (e.g., travel reservation system) that require to intermingle several web servers for a single purpose can be written in common languages (e.g., C, C++, Java) with precompiling declarations to use WebComponents. The precompiling declarations like those of Oracle or other DBMS packages are interpreted into common languages through a precompiler for WebComponents. In this way, programmers are able to develop FRS applications easily by connecting several WebComponents through their interface definitions.
2.2.3 Pre-Compiler for WebComponents The FRS pre-compiler transforms pre-compiling declarations in the FRS applications (and/or the output of the graphical user interface of WebComponent management) into common languages automatically with users’ entered data information.
1
Note that each web-based system cannot be explained due to the proprietary constraints. Instead of directly explain these systems, some garbling system names and data are used to explain FRS capabilities.
Proceedings of the 2003 Symposium on Applications and the Internet (SAINT’03) 0-7695-1872-9/03 $17.00 © 2003 IEEE
Graphical User Interfaces
Pre-Compiler for WebComponent
FRS Applications containing precompiling declaration
Intelligent wrapper TestingRprt Web Intelligent wrapper DefectRprt Web
Figure 2. The FRS Architecture 3 CONCLUSIONS FRS, a web-based feature reduction system, is not only useful for software engineers but also for ordinary users – those who are not familiar with computers. The reason is that ordinary users may conduct their own business transactions over the Web. In many cases, they have to provide the Web with the same or similar information numerous times, meaning that they waste their time and spend more effort than necessary. The contributions of FRS are as follows. • FRS is a software application that reduces manual intervention for greater ease and efficiency when working with multiple web-based systems • The FRS pre-compiling declaration language and the precompiler provide a mega-programming environment for interplaying several web transactions. It is not necessary for programmers to do programming of how to extract and enter information from/to various web sites. Intelligent wrappers automatically do so. • WebComponents are reusable for different purposes. For example, an airline reservation WebComponent can be reusable to develop a travel agent to find the cheapest price of airline tickets as well as the travel reservation system explained in Section 1. FRS is an interesting and useful application to many web transactions to improve quality attributes such as simplicity and efficiency. We plan to investigate the proposed component-based approach to automatic web transaction to wireless web services. ACKNOWLEDGEMENTS The research of first five authors was supported by funding from HP (Hewlett Packard) under 32525-59900CS. The sixth author’s research described in this paper was carried out by HP Richardson. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise, does not constitute or imply its endorsement by HP and Texas A&M University. REFERENCES [1]
Peter Cash and Robert Ellis. FRS requirements. Productivity & Quality Team of HP RSSL, Richardson, TX, 2000. [2] Devarakonda, M., Mukherjee, A., and Kish, B. Meta-scripts as a mechanism for complex web services. Hot Topics in Operating Systems (HotOS-V), Proceedings., Fifth Workshop, 1995, pp 46-50. [3] Liechti, O., Sifer, M., and Ichikawa, T. A metadata based framework for extracting and using Web sites structures. Multimedia Computing and Systems, IEEE International Conference, vol. 2, 1999, pp 51-56.