Service-Oriented Architecture (SOA) is a well known paradigm for development of flexible and loose coupled software applications using services that are available in a network. The latter provide business functionality through well-defined interfaces that can be dynamically discovered. Services can be aggregated into more complex ones called composite services. Currently, there exist a lot of composition approaches that serve different goals. In order to be able to comprehensively study the web-service composition process, different approaches should be analyzed and organized into appropriate taxonomy framework. This paper presents an overview of current approaches for service composition and further analyzes them toward various aspects of the composition model.