Web Site Evolution - Wiley Online Library

5 downloads 1564 Views 99KB Size Report
KEY WORDS: Web sites; code analysis; testing; Web services; data mining; reverse ... enhancing Web sites to make them more accessible, reliable and usable;.
JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION: RESEARCH AND PRACTICE J. Softw. Maint. Evol.: Res. Pract. 2004; 16:1–4 (DOI: 10.1002/smr.280)

Issue overview

Web Site Evolution Cornelia Boldyreff1 and Paolo Tonella2,∗,† 1 Department of Computer Science, University of Durham, Durham, U.K. 2 ITC-irst, Centro per la Ricerca Scientifica e Tecnologica, Povo (Trento), Italy

SUMMARY Web sites are becoming increasingly important for companies and organizations. Crucial information as well as economic transactions are managed by Web sites, so that their reliability, usability and overall quality are central issues. The advent of new technologies, such as Web services, makes the domain of Web applications a very dynamic one, where the evolution is rapid and unavoidable. Moreover, existing systems are also eligible for migration to the Web, thus requiring specific reengineering processes and methods. This special issue is focused on the recent achievements produced by software engineering research that has been conducted on Web sites. Reverse engineering, restructuring, testing and dynamic analysis are well-established disciplines that have been investigated in the new domain of the Web. Moreover, migration of legacy code to the Web poses technical problems related to domain analysis, adoption challenges and performance assessment. This issue provides an overview of the most promising results achieved in these c 2004 John Wiley & Sons, Ltd. fields. Copyright  KEY WORDS :

Web sites; code analysis; testing; Web services; data mining; reverse engineering; performance models; legacy systems

1. INTRODUCTION This issue of the Journal of Software Maintenance and Evolution: Research and Practice hosts extended versions of selected papers presented at the 4th International Workshop on Web Site Evolution, Montreal, Canada, October 2002 (WSE 2002). WSE is the reference event for researchers and practitioners working in the field of Web site analysis, restructuring, migration, testing and evolution in general. The theme of WSE 2002 was ‘Migrating to Web Services’. It was chosen because of the increasing industrial and research interest that surrounds the opportunities resulting from Web services.

∗ Correspondence to: Paolo Tonella, ITC-irst, Centro per la Ricerca Scientifica e Tecnologica, 38050 Povo (Trento), Italy. † E-mail: [email protected]

c 2004 John Wiley & Sons, Ltd. Copyright 

Received 9 July 2003 Accepted 31 July 2003

2

C. BOLDYREFF AND P. TONELLA

The potential of the Web as a vehicle for offering a variety of services is becoming more apparent as Web sites evolve their contents from static information to more dynamic and interactive forms. A number of new standards and commercial products are emerging, offering a basis for developing Web-based services from dynamic composible resources, extending both the range and scope of services that can be made available through the Web. The goal of WSE 2002 was to bring together members of the Web design, software engineering and information technology communities to discuss techniques for migrating to Web services. Architectural styles and tool support for service-based Web sites are currently quite diverse. Expertise in constructing service-based Web pages is quite limited and experience accounts are lacking. The explosion of nontraditional computing platforms for browsing the Web, such as PDAs, WAP-enabled phones and Internet appliances, is forcing Web professionals to rethink the separation of form from content and the range and scope of services offered via the Web. Studies in the analysis of and migration toward Web services are thus highly topical. In addition to the 2002 theme, the other more traditional areas covered by the works presented at WSE 2002 include: • • • • •

Web quality determination and improvement through process and product control; enhancing Web sites to make them more accessible, reliable and usable; analyzing and reverse-engineering Web site content and structure; making Web site content available in multiple formats for multiple platforms; applying traditional software engineering activities such as architecture, metrics and testing to Web sites; • case studies of large-scale Web site reuse, reengineering and evolution.

2. SELECTED PAPERS Papers included in this special issue can be grouped according to two main topics: Web services and static/dynamic analysis. Papers in the first category contributed to the main theme of WSE 2002, investigating the new challenges posed by Web services. Papers in the second category belong to the traditional main stream of WSE, dealing with novel approaches to analysis, reengineering and testing that are required by the special nature of Web applications. Lavery et al., in their paper ‘Modelling the evolution of legacy systems to Web-based systems’, consider the opportunities offered by Web services for the migration of existing, legacy systems, reporting their experience with legacy information systems found in higher education institutions. They propose an incremental approach to the evolution of existing systems, based on the analysis and modeling of such systems. Initial, informal models are transformed into more formal domain and requirement models in a systematic way, according to a meta-process which is presented in the paper. Results from its application to a case study are also discussed. Lessons learned indicate that the development of a thesaurus is extremely effective for the sharing of domain knowledge. The ontology derived from the thesaurus was the basis for the development of the value-added Web-based services that integrate the systems available from the different participating institutions. c 2004 John Wiley & Sons, Ltd. Copyright 

J. Softw. Maint. Evol.: Res. Pract. 2004; 16:1–4

WEB SITE EVOLUTION

3

The paper by Tilley et al., ‘On the business value and technical challenges of adopting Web services’, analyzes the added value and the difficulties associated with a Web-service-based architecture by means of an example migration problem. Although probably not a revolution, Web services represent an identifiable advancement in the area of middleware. They have the potential to play a major role in the development of modern software systems, by providing a standard, open, unifying integration platform, which is not dependent on specific vendors. At the same time, the technology has not yet reached a satisfactory level of maturity. In the considered case study, it was apparent that separation of functional components into identifiable services would give a measurable business value, but the technical challenges, learning curve and infrastructural requirements involved would be considerable. One of the major difficulties/challenges in the migration toward Web services is definitely represented by performance. Litoiu investigates this issue in his paper ‘Migrating to Web services— a performance engineering approach’. In particular, two fundamental performance metrics, latency and scalability, are considered, and their values in the new Web service context and using traditional middleware are compared. Migration to Web services should be accompanied by careful assessment of the performance penalties that are expected to be paid. Performance models can be used to support the migration decisions related to the new architecture or the new deployment topology. If not mitigated by proper analysis and related corrective actions, the migration process is deemed to fail. The lessons learned while migrating an existing system, which are reported in the paper, can help practitioners facing similar tasks. The other three papers included in the special issue deal with the static and dynamic analysis, as well as testing, of Web applications. Di Lucca et al. describe a process and a support tool, called WARE, for the reverse engineering of Web applications. WARE guides users in the reconstruction of UML diagrams which provide distinct views of the Web application under analysis. The process is semi-automatic and follows four main steps consisting of a static analysis of the source code, a dynamic analysis, focused on dynamically constructed pages, a clustering step, to identify highly connected regions in the recovered model, and finally an abstraction phase, leading to the final UML diagrams. Reverse engineering of a Web application model is a prerequisite of the testing method proposed by Tonella and Ricca in ‘Statistical testing of Web applications’. Information about the accesses to Web pages performed by the users, such as that recorded in log files, is exploited to construct a usage model of the Web application. Such a model encodes the statistics related to the navigation patterns followed by the users. Correspondingly, statistical testing of the Web application becomes possible. The user’s navigation paths can be reproduced in the testing environment, thus allowing for an estimation of the reliability during realistic usage. A second use of the statistics encoded in the usage model is in the prioritization of the test cases, so that testing can concentrate on the most likely paths identified in the recorded navigation sessions. Dynamically collected information stored in log files is also analyzed in the paper by El-Ramly and Stroulia, ‘Analysis of Web-usage behavior for focused Web sites: a case study’, for a different purpose. Assuming that patterns recognized in the past navigation are an indication of the user’s interest, the content of the selected Web page can be dynamically adapted so that the information recognized as most interesting becomes more visible and easily accessible. Such dynamically generated recommendations may support Web site users in finding the searched information quickly. Experimental results indicate that the proposed technique, sequential-pattern mining, can effectively predict Web usage behavior. c 2004 John Wiley & Sons, Ltd. Copyright 

J. Softw. Maint. Evol.: Res. Pract. 2004; 16:1–4

4

C. BOLDYREFF AND P. TONELLA

AUTHORS’ BIOGRAPHIES

Paolo Tonella received his laurea degree cum laude in Electronic Engineering from the University of Padua, Italy in 1992 and his PhD degree in Software Engineering from the same University in 1999, with the thesis ‘Code analysis in support to software maintenance’. Since 1994 he has been a full time researcher of the Software Engineering group at ITC-irst, Trento, Italy. He participated in several industrial and European Community projects on software analysis and testing. His current research interests include reverse engineering, object-oriented programming, Web applications, code analysis and testing.

Cornelia Boldyreff is a Reader in Software Engineering in the Department of Computer Science at the University of Durham. She is research co-ordinator of the Software Engineering and Distributed System Grouping and leader of the Software Evolution Group within the Research Institute for Software Evolution at Durham. Her academic specializations within distributed systems engineering are design, process improvement and reuse. Since 1995, Dr Boldyreff has pioneered research on Web evolution.

c 2004 John Wiley & Sons, Ltd. Copyright 

J. Softw. Maint. Evol.: Res. Pract. 2004; 16:1–4