WebSphere* 2.0.3.x to 184.108.40.206 API Migration Tool
Original Publication Date: 2002-Oct-21
Included in the Prior Art Database: 2003-Jun-18
Two programs are disclosed that migrates JavaServer** Pages (JSPs) and Servlets. The JSP migration tool performs the JSP syntax migration automatically by identifying the JSP .91 tags in the input JSP file, translating each to JSP 1.1 tag, and writing out to a new JSP file. The JSP migration tool can process any JSP files. It has no dependency on the position of the JSP tags. The tool, however, assumes the input JSP file is a working JSP application and it contains valid JSP tags. A high level architecture is shown in the left figure below. The input is the JSP file containing the JSP .91 tags. The outputs consists of a migrated JSP file that contains the translated JSP 1.1 tags and a migration summary report. The migration summary report shows the deprecated JSP statement, line number in the original input file, and the replacement JSP statement. Three design goals are discussed. The most important requirement and design goal was to produce migrated JSP files so that the look and function are preserved from the original JSP file when executed. This requirement can be verified with a side-by-side comparison test run that uses two systems; one system runs the original JSP .91 file and a second system runs the migrated JSP 1.1 file. To preserve the original JSPs look and function, the difference between the input JSP file and the new output JSP file needs be limited to the JSP tags. All the texts preceding and following the translated JSP tag are left unchanged. This includes the number of characters including blank characters and line spacing. The migration summary report provides the deprecated JSP statements identified in the input JSP file along with its line statement number and its replacement statement. The second important design goal was to create a framework such that the migration code for a JSP tag is encapsulated and plug-able with minimal change to the existing system. One class per JSP tag paradigm was employed. This strategy allows the tool to be developed incrementally and in a team environment. The tool can be operational without having to complete the migration class code for all JSP tags. As the additional JSP tags’ migration classes become ready, it can be plugged-in and tested. The tool can be shipped incrementally for beta testing.