A Framework for Dependency Based Automatic Service Composition Abrehet M. Omer and Alexander Schill Chair for Computer Networks, TU Dresden,01062 Dresden, Germany omer@rn.inf.tu-dresden.de, alexander.schill@tu-dresden.de Abstract. Developing service based complex applications (service com- position) has become an important area of research in SOA. In spite of this, there has been little effort to understand and to manage the dif- ferent forms of dependencies that occur in applications that are built from services. Moreover, doing composition (semi-) automatically is a crucial aspect in overcoming problems arising due to dynamic nature of a runtime environment. In this paper, we argue that automation of process model creation is one of the critical tasks to achieve dynamic ser- vice composition. We propose and present a framework for performing automatic service composition by exploring and managing dependency between services making use of semantic web service descriptions. Keywords: Service composition, Service dependency. 1 Introduction In Service Oriented Architecture (SOA) the task of creating composite services from component services brings dependencies between the component services. Primarily these services are created by same or different providers and they are meant to be accessed and work independently. However, establishment of composite services necessitates interaction, communication, cooperation and co- ordination of services. The process of combining available component services to create a composite service is called service composition. A composite service can be regarded as a combination of services invoked in a predefined order and executed as a whole and that has more functionality than its components. 1.1 Overview of Composition Techniques The service composition process comprises different sub activities. In this paper three major sub-activities are considered: (1) Creation of process model, which is a model that simplifies the representations of activities and their enactment. (2) Service binding. (3) Execution (invocation) of composite service. Service compo- sition could be done statically, semi-dynamically or dynamically. In static com- position the process model is created manually and service binding is done at design time. Whereas, in dynamic composition the process model is created au- tomatically and service binding is done at runtime. All methods between these two extremes are categorized as semi-dynamic [1]. Due to shortcomings of static D. Ardagna et al. (Eds.): BPM 2008 Workshops, LNBIP 17, pp. 517–523, 2009. c Springer-Verlag Berlin Heidelberg 2009