The Landscape of Service-Oriented Systems: A Research Perspective for Maintenance and Reengineering Kostas Kontogiannis Grace A. Lewis Dennis B. Smith National Technical University of Athens Software Engineering Institute Software Engineering Institute Athens, Greece kkontog@softlab.ntua.gr Pittsburgh, PA USA glewis@sei.cmu.edu Pittsburgh, PA USA dbs@sei.cmu.edu Abstract Service orientation has been touted as one the important technologies for designing, implementing and deploying large scale service provision software systems. In this position paper we attempt to investigate an initial classification of challenge areas related to service orientation. More specifically, we partition the problems and related issues of service orientation in three domains—Business, Engineering, and Operations domain—along with the notion of Service Strategy as a binding model for these domains. A list of potential challenges for the maintenance and reengineering of service-oriented systems is presented for discussion. 1. Introduction Over the past decade we have witnessed a significant growth of software functionality that is packaged in the form of services and is accessible through a networked infrastructure. These services are delivered utilizing either open or proprietary network protocols and, are available either on closed corporate Intranets or on open protocols using the Internet. This approach to systems development is commonly referred to as service-oriented architecture (SOA), SOA-based systems, or service-oriented systems. We have witnessed a gradual evolution from the first generation of service-oriented systems which were based on monolithic components that could be reconfigured at compile time, to the second generation of service-oriented systems which are based on vertically-integrated components that can be adapted and reconfigured at installation, and to some extent at runtime, and towards the third generation of service- oriented systems that will be cross-vertically integrated, context-sensitive, and reconfigurable in an autonomic, ad-hoc manner [Fitz06] The initially slow but gradually increasing adoption of service-oriented systems is supported by both the technical and the business community. From a technical perspective, service-oriented systems are an approach to software development where services provide reusable functionality with well-defined interfaces; a service infrastructure enables discovery, composition and invocation of services; and applications are built using functionality from available services. From a business perspective, service-oriented systems are a way of exposing legacy functionality to remote clients, implementing new business process models by utilizing existing or third-party software assets, and reducing the overall IT expenditures. From either perspective, and despite their initially slow adoption and the abundance of conflicting standards that support them, service-oriented systems are becoming the solution to bridge the gap between business models and the technical solution to support and adapt changing business needs. It is clear that the SOA paradigm is having a substantial impact on the way software systems are developed. However, although significant progress is being made in several fronts, current efforts seem to evolve in many directions, without a central compass. There seem to be no clear, commonly agreed upon, overarching themes to focus research activity. As a result, there is a danger that important research needs will be overlooked, while other efforts will focus on issues of peripheral long- term significance in practice. In this position paper we attempt to provide an initial classification of research issues pertaining to the business, engineering and operation aspects of service- oriented systems, with a focus on some open research