# From Service Composition to Mashup Editor: A Multiperspective Taxonomy
## 4 Taxonomy for Services Composition
### User Perspective
#### 4.2.3 Semi-Automatic Web Service Composition  
The third approach is the semi-automatic service composition, which aims to provide end-users with an enhanced service creation environment. This environment offers support for the automated processing of the composition, where the end-user operates in a more-or-less manner. This approach has gained more interest as the automated service composition approach presents serious limitations. The semi-automatic composition comes to resolve the situation by involving the end-user in the composition process by addressing particular issues; for instance, the difficulty of selecting a relevant service among the many available. The semi-automatic composition has taken several forms that has evolved over time. A current evolution of the semi-automatic composition is what is now commonly called Mashups [73]. This latter evolution incarnates the emergence of Web 2.0 and, more specifically, its user-generated content (UGC) aspect. More generally, based on existing related works, we can see the emergence of a multitude of methods for semi-automatic composition that are identified and explained hereafter. Generally, from the user perspective, semi-automatic service composition includes composition frameworks with graphical or textual interfaces, semantic-based tools such as tagging techniques, or even social features such as sharing or rating services (both basic and composed). These characteristics are detailed in the next section (Section 5). However, beyond the simple and direct user involvement (participation) through selecting and scheduling services and still from the user perspective, we have identified three major ways of considering the user in the composition process. In fact, some systems focus on an individual end-user, tracking their interests or preferences to use them later to define the best service that they might need. An alternative way is to consider the user as part of a community. Consequently, the system tracks the interest of this community in order to build a list of preferences used to help in the composition process. A third emerging way is a social-network-oriented approach that is based on leveraging the social aspect of how end-users operate in the service composition environment [74]. These three approaches are detailed in the following. User-Centric Approach  
This first approach aims at building a profile of the user or involving them in the indecision points by providing tools and interfaces to facilitate the service composition process. In this approach, we can find numerous user-driven composition tools such as in [75], where semantic service discovery facilities are provided based on user preferences. A similar approach is presented in [76], where the author introduces a system called Koala (currently Co-Script). This system, materialized by a \"sidebar\" in the Firefox browser, learns from the user behavior when browsing a Web page, and transforms this behavior into a series of actions. This system's objectives are (i) to parametrize the following abstract actions and make them executable and (ii) to allow end-users to share their composed actions. The script can also be modified by other users or adapted to their profiles. Even if this approach's goal is to provide the end-user with support tools for service composition, we may notice that it does not take advantage of the whole information available about how users use services in a semi-automatic service composition environment. Community-Centric Approach  
The second kind relies on the knowledge produced in communities or in specific domains. A community can be involved in the process of composition in two ways. The first one is tagging or annotating basic and composite services in order to provide advanced descriptions of services (semantics, classification). This first way allows for an improvement in the discovery and selection operations, which could be leveraged to support users forward and downstream the composition process itself (what we name \"a priori or posterior support\").