Web Services Composition Methods and Techniques: A Review <s> Manual/Static Composition <s> A huge amount of web services are deployed on the Web, nowadays. These services can be used to fulfill online requests. Requests are getting more and more complicated over time. So, there exists a lot of frequent request that cannot be fulfilled using just one web service. For using web services, composing individual services to create the added-value composite web service to fulfill the user request is necessary in most cases. Web services can be composed manually but it is a too tedious and time consuming task. The ability of automatic web service composition to create a new composite web service is one of the key enabling features for the future for the semantic web. There are some successful methods for automatic web service composition, but the lack of standard, open, and lightweight test environment makes the comparison and evaluation of these composition methods impossible. In this paper we propose an architecture for a light weight and scalable testbed to execute, test and evaluate automatic web service composition algorithms. The architecture provides mandatory components for implementing and evaluation of automatic web service composition algorithms. Also, this architecture provides some extension mechanisms to extend its default functionalities. We have also given reference implementations for web service matchmaking and composition. Also, some scenarios for testing and evaluating the testbed are given. We have found that the performance of the composition method will dramatically decrease as the number of web services increases. <s> BIB001 </s> Web Services Composition Methods and Techniques: A Review <s> Manual/Static Composition <s> Web services technologies are becoming a de facto standard to integrate distributed applications and systems using XML-based standards. Developing applications that support web services interfaces will not be enough to provide complete and coordinated business processes. Thus, we need a new approach to compose these web services together in order to form web services orchestration and processes definition There are two methods for web service composition. One is static composition and the other is dynamic composition. Automated web service composition is a very challenging task. This paper proposes a new dynamic web services composition algorithm to solve the composition issues related to data distribution, reliability, availability and QoS. <s> BIB002
The static means that the requester should build an abstract process model before beginning the composition; the abstract process model includes a set of tasks and their data dependency. Each task contains a query clause that is used to search the real atomic web service to fulfill the task [2] . Two possible approaches are currently investigated for the static web service composition. The first approach, referred to web services orchestration; this approach combines available web services with adding a central coordinator that is responsible for invoking and combining the single sub-activities. The second approach, referred to Web services choreography that does not assume the exploitation of a central coordinator, but it defines complex tasks via the definitions of the conversation that should be undertaken by each participant  . In static composition, the aggregation of the services is done at design time and composition is performed manually means that each web service is executed one by one in order to achieve the desired goal/requirement BIB002 . This type of composition is not is not flexible. There are many proposed manual web service composition techniques. These manual techniques are usually used for designing business processes in workflow management systems. Also different languages (e.g. BPEL4WS) are proposed for specifying composition. But as it may seem, these techniques are just usable by software developers, not by end users. In other words, manual composition of web services needs some programming experiences BIB001 . To compose services by labor force, traditionally there are two distinct design approaches: topdown and bottom-up. Bottom-up is that, at first, the potential partner WSs is identified (they are concrete executable services) and then them is connected with specific process logic. Another one, top-down design, is entirely different. It starts from specifying business process (workflow) consisted of abstract non-executable activities and subsequently, choosing a fittest concrete service for each activity. As a fatal drawback, manual composition relatively demands for much higher cost. Therefore, currently a large proportion of research efforts are dedicated to automations instead of costly and time-consumed manual composition that is trying to thoroughly eliminate human intervention. The research concerns of automatic composition are various technical aspects regarding how to automatically and efficiently generate composite services that exactly meet the expectations of requesters  . Today, a lot of techniques are proposed for manual service composition (e.g. workflow management systems). But creating composite services manually is hard and time consuming task for the user.