SERVICE ORIENTED COMPUTING AND COORDINATION MODELS Natallia Kokash Vincenzo D’Andrea University of Trento, Italy University of Trento, Italy University of Trento, DIT, Via Sommarive, 14 38050 Povo (TN) University of Trento, DIT, Via Sommarive, 14 38050 Povo (TN) kokash@dit.unitn.it dandrea@dit.unitn.it Abstract. In this paper we briefly describe the challenges related to Service- oriented computing (SOC). SOC is a novel architectural approach to building complex applications in terms of composition of simple services. A number of challenges arise from the need of coordinating the composed services. We describe approaches based on service orchestration and on service choreography. We also introduce coordination models used in the field of parallel and distributed systems, and we sketch the potential for application of these ideas in SOC. Finally we discuss the problems related to service discovery; i.e. how to find suitable parts for a composition. 1 Introduction New organizational models and technology advancement are creating a fertile ground for a novel model of software, based on loosely coupled, distributed and independent services. Services have standardized interfaces that allow assembling elementary services into complex ones [1]. The most prominent realization of service oriented architectures is currently in the area of web services, that is services that operate via the web infrastructure. When several services are involved in pursuing a common goal, the issue of coordination of these independent entities becomes relevant. In the realm of web services there are two main approaches to service coordination: orchestration and choreography. Orchestration is characterized by the presence of a central role, the overall process is described from a single point of view and services actions are all relative to the central view. Choreography is characterized by the coexistence of a multiplicity of views, all active and equal. These two notions are connected to different languages and tools for approaching services coordination  two relevant initiatives in this field are BPEL4WS [5] and WS-CDL [7]. Besides a general introduction to service coordination, in this work we also discuss the application of coordination models to service collaboration. Our starting point is the classification of coordination models in terms of data- and control-driven models [14]. In data-driven coordination models the state of the overall process is characterized in terms of states of the individual processes and by the values being exchanged. In this case, coordination and computation are not necessarily separated. The opposite is the case of control-driven coordination models: in this case the separation between computation and