Abstract
Executable composite Web services are selected by binding a given abstract workflow with the specific Web services that satisfy given QoS requirements. Considering the rapidly increasing number of Web services and their highly dynamic QoS environment, the fast selection of composite services is important. This paper presents a method for quality driven comosite Web services selection based on a workflow partition strategy. The proposed method partitions an abstract workflow into two sub-workflows to decrease the number of candidate services that should be considered. The QoS requirement is also decomposed for each partitioned workflow. Since the decomposition of a QoS requirement is based on heuristics, the selection might fail to find composite Web services. To avoid such a failure, the tightness of a QoS requirement is defined and a workflow is determined to be partitioned according to the tightness. A mixed integer linear programming is utilized for the efficient service selection. Experimental results show that the success rate of partitioning is above 99%. Particularly, the proposed method performs faster and selects composite services whose qualities are not significantly different (less than 5%) from the optimal one.
복합 웹 서비스 선택은 서비스의 기능만을 명시한 추상 워크플로우에 바인딩 정보를 추가하여 주어진 QoS 요구사항을 만족하는 복합 웹 서비스를 구성하는 과정이다. 웹 서비스의 급격한 증가와 QoS가 동적으로 변하는 웹 서비스 환경을 고려할 때 주어진 QoS 요구사항을 만족하는 복합 웹 서비스의 빠른 선택이 중요하다. 본 논문은 워크플로우 분할에 기반하여 복합 웹 서비스를 빠르게 선택하는 방법을 제안한다. 제안된 방법은 추상 워크플로우를 두 개의 서브 워크플로우로 분할하여 선택 과정에서 고려되는 후보 서비스의 수를 줄인다. 분할된 워크플로우의 QoS 요구사항은 원래의 QoS 요구사항을 분해함으로서 생성한다. QoS 요구사항의 분해는 휴리스틱에 기반하기 때문에 워크플로우 분할 시 적절한 복합 웹 서비스를 선택하지 못할 가능성이 있다. 이러한 실패를 줄이기 위해 주어진 QoS 요구사항의 제약정도를 정의하고 적절한 제약정도를 가지는 요구사항에 한해 워크플로우를 분할한다. 서비스 선택은 mixed integer linear programming을 이용하여 해결한다. 실험 결과 제안된 워크플로우 분할 방법은 99% 이상의 성공률을 보였다. 특히 워크플로우 분할 시 모든 경우에 대해서 복합 웹 서비스를 보다 빠르게 선택하였으며 이때 선택된 복합 웹 서비스의 QoS는 최적 서비스와 5%미만의 차이를 보였다.