Skip to Main Content
Service-oriented architecture becomes a major computing practice in modern enterprise software systems. In several cases, the cost of the services could depend on the combination of the services utilized. In addition, there could be several constraints imposed on the service composition process. One of the important constraints is to impose an upper bound on the number of clients' usages of services in a period of time. Another important constraint is to restrict the number of service-providers that should be utilized. This constraint is normally needed to reduce the number of long-term relationships between the clients and the service-providers. In this paper, a new algorithm is introduced that tries to find the optimal set of services needed by the software designer to fit his computing requirements. It tries to minimize the overall incurred cost taking into consideration the dynamic-cost of the services occurred due to clients' usage patterns. In addition, it tries to minimize the number of service-providers utilized and maximize the overall QoS. In addition, it takes into account the constraints imposed on using the services. Genetic algorithms are adopted in tackling this problem, which are able to reach a near-optimal solution.