Service Oriented Architecture (SOA) is new development approach of software by composing services distributed on the web. To implement SOA, building tasks (service discovery, selection, composition, development, and test) are orderly performed based on workflow in business process. The challenge for the composition is on how to consider Quality of Service (QoS) among several of the discovered service sets. Once the building is performed on the consumer side, service built information, i.e selected service path, will be reused for the redundant tasks because service discovery, selection, composition, development and test are very time-consuming. The problem of reuse of built information for the redundant tasks is how to manage it at service execution time if providers change the services. If the built information is properly not managed on the consumer side, service failure must be happened during execution time due to the change. The Service-Oriented Dynamic Reconfiguration Framework [16] has been proposed to reconfigure when the system failure or overload is detected during execution time of the services. However, it has some problems in terms of reconfiguring time of the changes. Reconfiguration in the framework is delayed until failure or overload is detected during execution time. The changes of service performed by providers will not be applied in real-time to the system. Furthermore, the reconfiguration framework is too abstract. Although it focuses on the consistency of services, it does not propose how to check the consistency of services concretely after the changes. The framework suggests abstractly what to do, but it does not propose concretely how to do.
The other solution is to reconfigure the service by developers. If the change notification is received from the registry right after provider change their services, developers could reconfigure the service. However, this approach also has several problems. It is impossible for developers to monito...