Abstract
Service-oriented computing changes the face of modern software
by decomposing its application logic. Now business systems can be assembled from loosely-coupled service components
developed by various organizations and spread across the world. Service-Oriented Systems (SOSs) incorporate services running on different platforms and hosted by service providers outside of enterprise boundaries. This conceptually new approach to software development poses multiple questions to software engineers. The behaviour of incorporated web services may vary over time, as well as business rules underlying the system. The SOSs should be reactive to any changes in external services, such as service failures or performance decrease.
Therefore, discovery of relevant service components and selection of business partners that guarantee good Quality of Service (QoS) are among the prime issues.
In this thesis, I investigate the problem of developing dependable SOSs from available web services.
Firstly, I introduce an approach for conceptual modeling of SOSs, which prescribes a sequence of activities for transforming abstract business processes into service-based workflows. The approach is an extension of the Eriksson-Penker business process modeling framework. Service discovery, risk analysis and QoS-aware selection are parts of the design process. A case study is given to analyze the use of the proposed modeling method.
Secondly, I investigate techniques for efficient web service discovery. Our work is primarily concerned with the problem of finding and selecting web services with desired behaviour and good quality. I start from presenting an algorithm for web service interface matching. Using this algorithm, I compare the performance of three lexical metrics on two uniform collections of web services. Then I present a system which allows service clients (human developers and autonomous SOSs) to exchange experience about web services they use. The system monitors web service executions on the client side and, given client requests, recommends web services previously invoked by clients with similar interests. The system is able to implicitly collect clients' feedback about service executions and take it into account while producing recommendations. Moreover, the recommendation strategy and similarity algorithms for matching client requests can be configured to meet the needs of each particular community of clients. I evaluate the performance of the system in terms of precision and recall.
Finally, I consider the impact of web service quality characteristics on the overall quality of SOSs. We apply risk analysis to evaluate consequences of service failures and insufficient QoS on SOSs and organizations providing composite web services.
I demonstrate how risk analysis can be used for effective web service selection manually by developers at design time and automatically by self-reconfigurable SOSs at runtime. We also evaluate the proposed method experimentally by comparing it with one of the state-of-the-art service selection algorithms.