摘要

Service-Oriented Architecture (SOA) has been widely used in IT areas and is expected to bring a lot of benefits. However, the SOA system developers have to address new challenging issues such as computational resource failure before such benefits can be realized. This paper develops a graph-theoretic model for the SOA system and proposes metrics that quantify the resilience of such system under resource failures. It explores two service deployment strategies to optimize resilience by taking not only communication costs among services but also the computation costs of services into consideration. Among them, two types of undirected graphs are developed to model the relationships between services, including Service Dependence Graph (SDG) and Service Concurrence Graph (SCG). Then, these two graphs are integrated into Service Relationship Graph (SRG) and adopt the k-cut optimization theory to complete the service deployment. Finally, this paper verifies the effectiveness of the above methods in improving the resilience of the system through a series of experiments, which indicate that our methods perform better than the previous methods in improving resilience of the SOA system.