Evolution of Web Systems * Holger M. Kienle and Damiano Distante The World Wide Web has led to a new kind of software, web systems, which are based on web technologies. Just like software in other domains, web systems have evolution challenges. This chapter discusses evolution of web systems on three di- mensions: architecture, (conceptual) design, and technology. For each of these di- mensions we introduce the state-of-the-art in the techniques and tools that are cur- rently available. In order to place current evolution techniques into context, we also provide a survey of the different kinds of web systems as they have emerged, tracing the most important achievements of web systems evolution research from static web sites over dynamic web applications and web services to Ajax-based Rich Internet Applications. 1 Introduction The emergence of the World Wide Web (WWW), or the web for short, has led to a new kind of software that is based on web technologies: web sites, web applications, web services, and possibly others. In the following, if we do not make a distinction among these, we speak of them as web systems. We have chosen this term to convey that software that is based on the web platform can be of significant complexity, em- ploying a wide range of technologies—starting from complex client-side code based on HTML5, Flash and JavaScript, to server-side code involving high-performance, cloud-based web servers and database back-ends. Web systems also have to deal Holger M. Kienle Freier Informatiker, Berlin, Germany, e-mail: hkienle@acm.org Damiano Distante Unitelma Sapienza University, Rome, Italy, e-mail: damiano.distante@unitelma.it * Parts of this chapter have been taken and adapted from other publications of the first author [65] [56] [63] [58] and the second author [13] [12] [41] [42] [11]. 1