# From Service Composition to Mashup Editor: A Multiperspective Taxonomy
## 3 Service Composition  
Creating value-added services by reusing existing ones, which is also known as service composition, has been a key facet for service delivery both for IT and Telecom worlds [13]. Numerous services need to be produced quickly because of the growing demand of customers. Developing new services from scratch to meet the growing demand would require a large number of programmers, consume a significant amount of resources, and result in a prolonged time-to-market. In this context, using the services composition approach can offer a good opportunity to fix those issues. The purpose of service composition is the reuse of existing services to create new ones. This optimizes the development cycle and deployment of innovative services. Another important goal of services composition is to provide the ability to customize services according to end-user's preferences. This approach provides end-users with personalized and user-centric services. With the generalization of the Internet, we are witnessing, in recent years, the evolution of the service composition paradigm, initially dedicated to a restricted audience of IT specialists for business application integration (software architects, developers, etc. ), toward a broader audience of Web users. We can already see the two different dimensions that the composition of services includes: organization (EAI) and end-user dimensions. From the EAI perspective, the existing conducted research aims to mainly overcome the technological constraints by defining a range of standards and protocols for information engineering under the banner of SOA principles. This dimension dominates the majority of research works on service composition. The second dimension represents the challenges in integrating the end-user in the process of composition. The end-user dimension of service composition is expanding  
Figure 3: SOA basic architecture. and becoming increasingly prominent. This development is driven by end-users' desire for customization, particularly in the Internet context that encourages sharing, creating, and commenting on content. A new concept, known as Mashups, has emerged on the Internet, and enables end-users to create and share their own services by combining existing services [14]. Next, we review the research challenges that rise in the service composition topic through the main themes of SOA and the two dimensions mentioned before. Figure 4 (based on [15]) represents an extended architecture of SOA in an information system. It schematically illustrates the different levels of SOA within which research contributions have been made. Proposed technologies (standards and protocols) and formalisms for each challenge are detailed in Section 4. Firstly, service composition involves methods, mechanisms, and tools that allow for the expression of needs, whether at the enterprise level for business specification or at the end-user level. In this regard, numerous formalisms and tools have been proposed. Some of these tools are based on formal models. Business Process Execution Language (BPEL) [16] is by far the reference in the field, but remains unsuitable for our intended end-user (non-developers). Other tools are listed in Section 4.1.2 within their corresponding category. After the expression of needs, the process of composition consists of selecting the most suitable services and then scheduling (arranging) them in the most appropriate schema in order to fit the logic of the expressed need. Once the composition schema is defined, the resulting composed service needs to be deployed. The deployment could take the form of a choreography or orchestration of services. After the deployment operation, tools and control measures are implemented to monitor the various performance indicators of the deployed service. This operation is called monitoring. The overall composition process is illustrated in Figure 5. In the following, we detail each step from the research point of view.