Dynamic Performance-based Decision Support for Service Reusability
Reuse of services in supporting new business processes, in addition to alignment of IT with business functions, is a key motivation in using Service-Oriented Architecture (SOA) for developing business solutions. In a service-oriented architecture, it is important to smooth the selection, configuration and composition of existing services to deal with the runtime changes or the evolution of End User requirements. In contrast to other traditional software systems, the dynamic behavior of service-based systems requires up-to-date quality of service (QoS) information for its proper management in the different stages of the lifecycle. Organizations need to know the performance of Web services and business processes to maintain their sustainability for reuse of services. The three key benefits of service reuse are improving agility of solutions by quickly assembling new business processes from existing services to meet changing marketplace needs, reducing cost by not developing new services for enabling similar business functions across multiple business processes, but also spanning service deployment and management in runtime environments throughout the SOA lifecycle. However currently, there are many challenges related to the sustainability and governance of service behavior during its lifecycle. Among those challenges, one can mention level of performance, persistence of the requirements and adaptability of the service. Moreover, there are some limitations of monitoring tools. They lack of anticipation in problem detection, and they are passive and neither reactive nor predictive. This thesis focuses on providing assessment and recommendations for performance and governance of information systems for suggesting service reuse during its evolution. The aim is to maintain sustainability, robustness, adaptability, reusability and evolvability of information systems. For this purpose, we evaluate the performance of service-oriented architecture. There are several existing monitoring solutions designed to support a specific layer of SOA. Particularly, BAM is a business activity monitoring tool for monitoring the flow of data for business processes. However, BAM monitoring do not provide the performance evaluation for recommending services and processes to reuse. There are very few approaches that support monitoring of SOA layers together. Furthermore, the solutions are partially dynamic with limited decision support. Therefore, we propose performance-based decision support for service-oriented architecture. It consists of four layers as specification, data management, data mining and decision layers. The specification layer identifies the requirements from the End User and process through the proposed ontology. The data layer analyzes technical indicators that are compliant to the latest quality standard, ISO 25010. Quality characteristics are related to performance efficiency, reliability and reusability. The data mining layer generates specific decisions based on service instances by applying the machine learning algorithms. It uses the proposed ontological concepts and semantic inference rules of service, business process, server and integration layers. The data mining layer returns to ontologies with these specific decisions where more refined rules have been generated from new ontological concepts. The decision layer processes these results and generates a global decision in terms of recommendations. It provides multi-viewpoints decision to reuse existing services or suggesting their composition.
To motivate the proposition of this approach, we illustrate the implementation of the proposed algorithms for all the four layers by a business process use case and data set of public repositories of shared services. Validation has been made based on the evaluation of cost, confidence, precision and support. As a result, we recommend reuse of atomic service, composite service and resource allocation provisioning. In this way, we ensure the sustainability, adaptability, reusability and evolvability of service-based systems by handling new business requirements, performance efficiency, reliability in terms of availability, maturity and risk, resource management and dynamicity issues.
Keywords: Web service; Service reuse; SOA; SBS; Performance; Ontology; Risk; Maturity; Dynamicity; Decision support