• Aucun résultat trouvé

Overview of Chapters

One of the key activities in service-oriented computing is service advertisement and discovery, which allows service providers to make others aware of their service pro-visions, and service consumers to locate their required services. Service providers need to describe their service provision in such a way that it can be published in a registry that is accessible to service consumers. A broker is typically the owner of the registry to facilitate the searching and locating of services in order to identify matches between service providers and consumers. In FIPA, the agent management platform includes agent directory services which serve as white pages for agent reg-istration, and service directory services which serve as yellow pages for agents to register their services. Therefore, agents can use these directories to locate services for their needs. In WS-architecture, UDDI is the mechanism for service providers to advertise their services and for consumers to discover their required services.

Chapter 2 gives an overview of the existing architectures and technologies that support service discovery and advertisement, and discusses related issues. The au-thor‘s view is that current popular technologies for service discovery are evolved from the various technologies for objects and components. The authors classify reg-istry architectures into three different types, namely centralised, decentralised and hybrid registries. Each architecture has its advantages and disadvantages, and so the adoption of these architectures depends on the characteristics of the application.

Agents in a SOA can play different roles such as consumer, provider, and broker etc. to perform various functions. A broker agent can be designed to carry out the essential tasks to achieve effective service discovery and advertisement. In some cases, multi-agent systems have been proposed for discovery, and so agents can

coordinate themselves to discover their required services. A number of agent-based service discovery approaches are also reviewed and discussed in this chapter.

Services can be composed manually or automatically to meet design require-ments. Automating the service composition process requires a software tool with decision making capabilities to link the services together in a logical way, so that the composite services can produce the desired functions. An agent with intelli-gence and autonomy can play an important role to facilitate this process. Chapter 3 illustrates the use of agent technologies in automating the service composition process. The proposed multi-agent based QoS-aware Service Composition solution (MQSC) is a mechanism for dynamic service composition and is able to ensure end-to-end QoS of composite services. The approach includes a number of agents such as a Portal Agent (PA), Decision Agent (DA), Search Agent (SA), Registry Agent (RA), Management Agent (MA) and Execution Agent (EA) playing different roles in the system and working together as a team to compose the required services. Even though the approach emphases the process of service composition, it is able to man-age other stman-ages of the composite service life cycle including discovery, selection, deployment and execution. Three different types of agent are introduced in order to support deployment, and a number of methods such as Ant theory and Graph theory etc. have been utilised to realise service composition.

Workflow is one of the key elements in enabling services to work together. Two well-known concepts in flows, orchestration and choreography, are abstract notions that facilitate the interactions among services. They are useful in modelling work-flow, but the realisation of workflow needs a concrete representation of workflow and a suitable engine to process it. In Chapter 4, the authors distinguish between these two concepts and propose an approach to allow them to complement each other, so that the workflow modelled using these concepts can act consistently, col-lectively and seamlessly. One of most popular web service based workflow lan-guages, BPEL4WS (Business Process Execution Language for Web Services) pro-vides the syntax and a set of operators for modelling workflow. With a suitable engine the specified workflow can be executed accordingly and the relevant ser-vices will be invoked. However, the engine and the specifications do not provide facilities to cope with a change of services at runtime. The authors have proposed an approach to tackle this issue. The authors also argue for the role that agents can contribute to the realisation of flexible workflow by introducing two possible approaches, bottom-up and top-down, in combination with the concept of chore-ography to model the interactions between partners in a dynamic environment. In addition, the authors are interested in the issues associated with unplanned situations that have not been considered in the design of a workflow. This chapter gives a com-prehensive survey on the concept of flexible workflow and uses a simple example to illustrate the concepts and the related issues.

Services contain a set of interfaces to access the functions they provide. The meanings of these interfaces and their provided functions can be misinterpreted by consumers or providers due to a lack of semantic annotation [4]. The introduction of Semantic Web services (SWS) aims to overcome the deficiency of initial web service technologies in service discovery and selection. SWS are a technology with

sufficient facilities for annotating web services and reasoning over annotations in or-der to automate the process of service discovery and selection. Chapter 5 introduces the most prominent frameworks for Semantic Web services that have been adopted by the research and industry communities. OWL-S (Web Ontology Language-S) defines an upper ontology that consists of three elements (service profile, service model and service grounding) for annotating web services with OWL semantics.

The Web Service Modelling Ontology (WSMO) is proposed to provide a compre-hensive framework that can semantically enable SOA technologies. The Semantic Web Services Framework (SWSF) introduces a formal process language to improve insufficient specification models and a language for the Service Model in OWL-S.

WSDL-S and Semantic Annotations for WSDL and XML Schema (SAWSDL) both extend WSDL specifications with extra XML tags to allow XML data types, as well as the messages and operations to be represented in a systematic way. SAWSDL in-cludes additional tags that reference a domain ontology to WSDL documents. These technologies can be very useful in enabling agents to automate the process at differ-ent stages in the SOA developmdiffer-ent life cycle and to manage services at runtime.

Chapter 6 focuses on investigating various issues relating to system faults and dependability in service-oriented computing, and proposes possible solutions. A service is a software component and often exists as a group either virtually or physi-cally, and so faults occurring in one of these components at any basic SOA step have knock-on effects on others. The author regards these steps as publishing, discovery, composition, binding and execution. Failures in each step can be further classified into different types of faults in order to assist in the design of an appropriate de-pendability mechanism. The choice of type of dede-pendability mechanism is based on the types of faults, characteristics of applications, and the state mechanism in services. Fault avoidance, fault removal, fault forecasting, and fault tolerance are all mechanisms for developing a dependable system, but they are not all applicable to each step in SOA development. Fault forecasting may not be easy to conduct, when faults appear rarely in the system. In this case, artificial faults have to be introduced so that the impact of bugs on the system can be assessed. The criteria for service selection are not only based on functional requirements, but also non-functional properties. Dependability can be an important criterion for the non-functional re-quirements. There are a number of attributes and mechanisms that can be used to measure dependability properties. Evaluation of the dependability attributes of a service is usually achieved by performing fault injection experiments. The chapter also uses a case study to illustrate fault identification and removal in a web-based dependable system.

Service selection involves a process that measures service properties against the requirements from users. Service selection can be considered as a decision making problem, as it often needs to take multiple attributes, entries, and their relationships into account in order to form a model that can be used for assessment. In this as-pect, the methods for service selection can mainly be divided into two categories:

Multiple Attribute Decision Making (MADM) and mathematical programming. The criteria for service selection can be divided into functional and non-functional re-quirements. Non-functional requirements normally refer to a set of attributes that

are related to quality of service which can be represented in crisp and fuzzy forms by users to express their subjective opinions and imprecise preferences over these attributes. The QoS profile of a service and its associated values should be derived from group consensus in order to minimise the subjectivity, if there is any. The au-thors of Chapter 7 propose a quality of services aware web service selection model based on fuzzy linear programming, to identify the differences on service alterna-tives, and assist service providers and consumers in selecting the most suitable ser-vices with consideration of their expectations and preferences. The proposed model is able to handle vague preferences or linguistic opinions for QoS attributes ex-pressed by service consumers and providers in the process of selecting web services.

It can also explore the weightings of QoS attributes in order to generate optimal so-lutions. The approach is capable of realistically gaining a consensual ranking on web service alternatives. Two examples are given to illustrate the proposed model.

Trust and reputation can be considered as another set of criteria for service selec-tion. Trust and reputation have become one of the common approaches for support-ing the management of interactions among agents. The authors of Chapter 8 focus on a review of existing models in trust and reputation, and their applications to agent and service-oriented computing. These models can be classified based on three dif-ferent views namely cognitive, computational, and reputational. The socio-cognitive based models utilise the mental states of an agent to predict and assess the degree of trustworthiness of other agents or a society. The computational based approaches use decision-making or game-theoretical methods to model trust. The trust values in this category are represented in numerical values, and so mathemat-ical techniques such as probability modelling, numermathemat-ical processing and strategic solutions can be applicable. Reputation can be used as a complementary measure-ment to derive trustworthiness. One agent can evaluate another’s trustworthiness, even though they have never had direct interactions. The authors have carried out a comprehensive review and analysis on these existing approaches and report the re-sults in this chapter. The authors use peer-to-peer architectures and grid computing to demonstrate the benefits that trust and reputation models can bring.

Chapter 9 reports another aspect of QoS for service selection. It focuses on the application of service switching policies to model, measure and improve service performance in multi-tier internet services. Service performance is one of the crite-ria in QoS that can be explicitly measured, and so performance analysis becomes an important method for effective service evaluation. The available switching policies include proportional and bottleneck-aware switching policies. The adoption of the policy depends on their revenue generation which is derived from a revenue func-tion with a given set of parameters and input values. Two approaches, proactive switching and reactive switching, can be used to choose switching policy. Proactive switching is used to predict the workload and allocate appropriate resources to main-tain performance before the performance degrades. Reactive switching is based on the data generated at runtime to make appropriate responses. These approaches have pros and cons, as it depends on the nature of the environment. An agent with built-in knowledge can make appropriate decisions to maximise the revenue (utility). The

authors have conducted a comprehensive evaluation on a case study to demonstrate the benefits of performance analysis to service selection.

Finally, Chapter 10 includes a number of research directions proposed by differ-ent researchers for future work in area of agdiffer-ent-based service-oridiffer-ented computing.