Migrating Multi-page Web Applications to Single-page AJAX Interfaces

Recently, a new Web development technique for creating interactive Web applications, dubbed Ajax, has emerged. In this new model, the single-page Web interface is composed of individual components which can be updated/replaced independently. If until a year ago, the concern revolved around migrating legacy systems to Web-based settings, today we have a new challenge of migrating Web applications to single-page Ajax applications. Gaining an understanding of the navigational model and user interface structure of the source application is the first step in the migration process. In this paper, we explore how reverse engineering techniques can help analyze classic Web applications for this purpose. Our approach, using a schema-based clustering technique, extracts a navigational model of Web applications, and identifies candidate user interface components to be migrated to a single-page Ajax interface. Additionally, results of a case study, conducted to evaluate our tool, are presented

[1]  Jesse James Garrett Ajax: A New Approach to Web Applications , 2007 .

[2]  Stan Jarzabek,et al.  An investigation of cloning in web applications , 2005, WWW '05.

[3]  Jean Vanderdonckt,et al.  Flexible reverse engineering of web pages with VAQUISTA , 2001, Proceedings Eighth Working Conference on Reverse Engineering.

[5]  Giuseppe Scanniello,et al.  Understanding cloned patterns in Web applications , 2005, 13th International Workshop on Program Comprehension (IWPC'05).

[6]  Paola Bonizzoni,et al.  An approximation algorithm for the shortest common supersequence problem: an experimental analysis , 2001, SAC.

[7]  Marc Abrams,et al.  UIML: An Appliance-Independent XML User Interface Language , 1999, Comput. Networks.

[8]  Mark Harman,et al.  7 th European Conference on Software Maintenance and Reengineering , 2003 .

[9]  Rainer Koschke,et al.  A framework for experimental evaluation of clustering techniques , 2000, Proceedings IWPC 2000. 8th International Workshop on Program Comprehension.

[10]  Giuliano Antoniol,et al.  Understanding Web applications through dynamic analysis , 2004, Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004..

[11]  Jacob Eisenstein,et al.  XIML: a common representation for interaction data , 2002, IUI '02.

[12]  Atif M. Memon,et al.  GUI ripping: reverse engineering of graphical user interfaces for testing , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[13]  Paolo Tonella,et al.  Using clustering to support the migration from static to dynamic web pages , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[14]  Dirk Draheim,et al.  A source code independent reverse engineering tool for dynamic Web sites , 2005, Ninth European Conference on Software Maintenance and Reengineering.

[15]  Kyuseok Shim,et al.  XTRACT: a system for extracting document type descriptors from XML documents , 2000, SIGMOD '00.

[16]  Arie van Deursen,et al.  An Architectural Style for Ajax , 2006, 2007 Working IEEE/IFIP Conference on Software Architecture (WICSA'07).

[17]  Giuseppe A. Di Lucca,et al.  Comprehending Web applications by a clustering based approach , 2002, Proceedings 10th International Workshop on Program Comprehension.

[18]  Giuseppe A. Di Lucca,et al.  WARE: a tool for the reverse engineering of Web applications , 2002, Proceedings of the Sixth European Conference on Software Maintenance and Reengineering.

[19]  Eleni Stroulia,et al.  User Interface Reverse Engineering in Support of Interface Migration to the Web , 2003, Automated Software Engineering.

[20]  Richard C. Holt,et al.  Architecture recovery of web applications , 2002, ICSE '02.

[21]  Massimiliano Di Penta,et al.  An approach to identify duplicated web pages , 2002, Proceedings 26th Annual International Computer Software and Applications.

[22]  Paolo Tonella,et al.  Analysis and testing of Web applications , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[23]  Giuseppe Scanniello,et al.  Identifying Clones in Dynamic Web Sites Using Similarity Thresholds , 2004, ICEIS.

[24]  Filippo Lanubile,et al.  Finding function clones in Web applications , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[25]  Vladimir I. Levenshtein,et al.  Binary codes capable of correcting deletions, insertions, and reversals , 1965 .

[26]  Giuseppe Scanniello,et al.  Reengineering Web applications based on cloned pattern analysis , 2004, Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004..

[27]  Richard C. Holt,et al.  MoJo: a distance metric for software clusterings , 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303).

[28]  Paolo Tonella,et al.  Statistical testing of Web applications , 2004, J. Softw. Maintenance Res. Pract..