— The usual scenario of service oriented systems is characterized by several services offering the same functionalities, by new services that are continuosly deployed and by other ones that are removed. In this context it can be useful to dynamically discover and compose services at runtime. Orchestration languages provide a mean to deal with service composition, while the problem of fulfilling at runtime the information about the involved services is usually referred to as open-endedness. When designing service-based applications both composition and open endedness play a central role. Such issues are strongly related to mobility mechanisms which make it possible to design applications that acquire, during the execution, the information which are necessary to invoke services. In this paper we discuss the forms of mobility for the service oriented computing paradigm. To this end we model a service by means of the notions of interface, location, internal process and internal state, t...