|
|
Web services
by Stephan Reiff-Marganiec
In the three lectures of this part we will consider the potential of service oriented architectures. The first lecture will set a background by looking at current practice and the vision that can be found behind service oriented architectures. We will also draw on details from the telecommunications world, where services have been in use for a long time.
The remaining two lectures will be centred on personalised applications achieved through policies. We will introduce the concept of policies, and see how these can be used to express user requirements (we will also discuss their more traditional usage briefly). User-oriented policies have been employed in the context of telecommunications systems, and we will explore this before venturing into the ongoing research of applying policies to achieve just-in-time applications using generic services. |
by Luciano Baresi
This tutorial introduces dynamic web services as a solution to cope with the dynamism and flexibility required by many modern software systems. Current technologies (WSDL, WSBPEL, etc.) have proven insuffcient in addressing these issues; however, they remain a good starting point for the analysis of the current situation and for building for the future. The core part of the tutorial analyzes ---by looking at available technologies and prominent research proposals--- the deployment and execution of these applications within three separate phases: a composition phase, to discover available services and implement the desired behavior, a monitoring phase, to understand if a given service is be having correctly (with respect to both functional and non functional requirements), and a recovery phase, to react to anomalies by means of suitable replanning or recovery strategies. In conclusion, the tutorial summarizes the main topics, presents a list of still-to-be-solved problems, and highlights possible directions for future research.
1. INTRODUCTION The service oriented approach is becoming a popular paradigm for the integration of highly heterogeneous systems. The most visible advantage provided by serviceoriented architectures (SoAs) is that they allow for the flexible coordination between business partners that wish to integrate their components (services) across business boundaries. However, the main novelty, with respect to component based systems, is the new and unprecedented level of dynamism these systems can tackle. The contexts in which they can operate can be extremely unstable and evolving. Therefore, the number and quality of the services available for integration can be extremely unpredictable, and preclude ---at times--- the apriori identification of all the components in a system. Moreover, the dynamic nature of SoAs requires that available functionality be sometimes discovered at runtime, and that their quality parameters be negotiated dynamically. Such degrees of dynamism preclude us from analyzing if a system can be considered trustworthy before its deployment, and require that we consider methods and tools that can help enforce trust during runtime. To this end, the deployment and execution of service centric systems can be characterized by three separate phases; a composition phase, a monitoring phase, and a recovery phase. The first addresses the fact that available services must be composed to implement the desired process or meet the predefined goal. Nonfunctional requirements play an important role during this phase and impose that the execution environment be capable of dealing with them. The monitoring phase adds specialpurpose probes to detect anomalous conditions. For example, the system must able to understand if a given service does not answer (within a given timeframe), does not match a contract set in the process definition (be it functional or nonfunctional), or if it responds with an error message. In many cases, these systems cannot be simply shut down, since trust in the system would suffer as a consequence. In contrast, the systems must be able to react to anomalies by means of suitable replanning or recovery strategies that handle the deviations from the original plan, compensate anomalous situations, and continue the execution to meet the original goal. To this end, the tutorial presents available technologies, and introduces the different solutions that can be used to build selfhealing systems by analyzing (1) the dynamic composition of services, (2) the monitoring of their execution, and (3) the compensation of anomalous situations. Finally, the tutorial identifies future directions for applied research in the area.
2. GOALS AND OBJECTIVES Besides a general introduction to the problem, the tutorial will provide participants with: . A detailed definition of the domain, along with example applications and challenging problems; . An organized and hierarchical presentation of the many initiatives and standards in the WS# jungle; . A survey of existing methodologies for the dynamic composition of Web services, their monitoring, and the resolution of anomalous situations; . A proposal for a layered solution towards selfhealing services; . A thorough discussion of future research directions.
3. OUTLINE Part I: Introduction, overview, and motivations. This part introduces the tutorial, presents the main faults that can arise in SoAs, and highlights the driving elements behind the proposed solutions.
Part II: Existing technologies. This part classifies the too many WS# technologies and concentrates on the main ones (UDDI, WSBPEL, WSCDL, etc.). Its goal is to help the audience understand what is already available, what is missing, and how current technologies attempt to solve the problems previously identified.
Part III: Advanced research proposals. This part builds on the previous section and explains how the presented research proposals, methods, and tools provide solutions to the problems highlighted in Part I, and that are not currently solved by existing technologies.
Part IV: A complete approach. This part presents a complete and homogenous solution to the problem of deploying selfhealing Web services.
Part V: Conclusions and future work. This last part summarizes the main elements presented during the tutorial, concludes the presentation with a list of still to be solved problems, and highlights possible directions for future research by proposing a possible roadmap for their accomplishment. |
|
|