Architecting, Analyzing and Testing Service–Oriented Systems Gerardo Canfora and Massimiliano Di Penta canfora@unisannio.it, dipenta@unisannio.it RCOST - Research Centre on Software Technology - University of Sannio Palazzo ex Poste, Via Traiano - 82100 Benevento, Italy Abstract The today’s diffusion of web services and service– oriented architecture is posing the basis for radical changes in the way of developing, evolving and testing software sys- tems. This tutorial outlines some main research challenges on this topic, and provides guidelines and practical solu- tions for i) realizing service–oriented systems able to sup- port QoS-aware dynamic binding ii) helping the compre- hension of service–oriented systems and iii) testing service– oriented systems. Keywords: Web Services, Service–Oriented Architec- ture, Dynamic Binding, Program Comprehension, Service Testing 1 Introduction During the last few years, the diffusion of web services and related technologies is entailing a perspective’s change on software development. Several medium and large–scale companies are investing a large part of their budget on this area. As a result, service-oriented systems become more and more complex, introducing the need for: 1. proper architectures and approaches to support dy- namic binding; 2. methods and tools for supporting the comprehension of web services and service–oriented systems; 3. testing approaches suitable for a service–oriented sce- narios. This tutorial will deal with the aforementioned issues from both architectural and software analysis point of view. After providing an overview of the current state-of-the-art, the tutorial highlights some research issues and directions, provides practical solution, and allows the participants to interact with some tools. 2 Tutorial Organization The tutorial starts with an introduction to web services, briefly describing the most important technologies, such as WSDL, UDDI and BPEL, and providing an overview of ad- vantages and limitations of the Service Oriented Architec- ture (SOA). The first session highlights challenges related to service dynamic binding. Then, it presents and architectural so- lution and a search–based technique to enable QoS–aware composition and dynamic binding. The session concludes with a live demo of our dynamic–binding framework [3]. The second session overviews issues related to pro- gram comprehension of service–oriented systems, outlining some possible research directions for the reverse engineer- ing community. As an example, we show an approach and a tool to explore and understand web service interfaces [2]. The third session describes some testing–related issues introduced by SOA and service–related technologies. Then, the session presents approaches and tool for regression test- ing [1] and Service Level Agreement (SLA) testing. References [1] M. Bruno, G. Canfora, M. Di Penta, G. Esposito, and V. Mazza. Using Test Cases as Contract to Ensure Service Compliance across Releases. Tech- nical Report TR 002-05, RCOST, Univ. of Sannio, http://www.rcost.unisannio.it/mdipenta/papers/tr002-05.pdf, 2005. [2] M. Bruno, G. Canfora, M. Di Penta, and R. Scognamiglio. An Approach to support Web Service Classification and An- notation. In International Conference on e-Technology, e- Commerce and e-Service (EEE-05). IEEE Press, Mar 2005. [3] G. Canfora, M. Di Penta, R. Esposito, and M. L. Villani. QoS- Aware Replanning of Composite Web Services. In in Proc. of the International Conference on Web Services (ICWS 2005), Orlando, FL, USA, July 2005.