• Aucun résultat trouvé

Software agents and services have become important paradigms for modelling dis-tributed systems. Both have a number of similar properties, but there are also some differences. Research on software agent technologies evolved from distributed AI with some influence from distributed systems, and has focused on improving reason-ing capabilities and the design of coordination mechanisms for loosely coupled sys-tems. Researchers and developers on service-oriented architectures learned lessons from CORBA, and have put great emphasis on standardising the architectures and the related specifications in order to resolve possible differences between the dis-tributed systems (services). Decision-making capabilities have not been the main issue for study in the area. As the technologies for SOA are becoming mature, the demand on autonomous services will likely increase. In this case, agent technolo-gies can play an important role for services. Agent communities can benefit from the thriving applications of service-oriented architectures, as SOAs can possibly support their development. A number of authors from the agent and service communities were invited to share their thoughts and research results with us, and this book is the result, which aims to help readers learn more about the current state-of-the-art and likely future directions in this area.

Acknowledgements

We would like express our gratitude to Shah Nazaraf for his input.

References

1. A. Arsanjani. Service-oriented Modeling and Architecture. http://www.ibm.com/developer-works/library/ws-soa-design1/, 2004.

2. T. Berners-Lee, J. Hendler and O. Lassila. The Semantic Web.Scientific American, May 2001.

3. J. Bradshaw. Introduction to Software Agents. InSoftware Agents, AAAI Press/The MIT Press, 1997.

4. K. Breitman, M. A. Casanova and W. Truszkowski. Semantic Web: Concepts, Technologies and Applications, 219–228, Springer, 2007.

5. D. Booth, H. Haas, F. McCabe, E. Newcomer, M. Champion, C. Ferris and D. Orchard. Web Services Architecture. http://www.w3.org/TR/ws-arch/, 2005.

6. B. Chaib-draa and F. Dignum. Trends in Agent Communication Language. Computational Intelligence, 2(5), 2002.

7. J.-Y. Chung and K.-M. Chao. A view on service-oriented architecture. Service Oriented Computing and Applications, Springer, 1(2), 93–95, 2007.

8. M. Colan. Service-Oriented Architecture expands the vision of Web ser-vices, Part 1. http://www.ibm.com/developerworks/webservices/library/ws-soaintro.html?S TACT=105AGX04&S CMP=LP#N10053, 2004.

9. G. Coulouris, J. Dollimore and T. Kindberg. Distributed Systems: Concepts and Design, Addison-Wesley, 2000.

10. M. R. Cutkosky, R. S. Engelmore, R. E. Fikes, M. R. Genesereth, T. R. Gruber, W. S. Mark, J.

M. Tenenbaum and J. C. Weber. PACT: An Experiment in Integrating Concurrent Engineering Systems.IEEE Computer, 26(1), 28–37, 1993.

11. T. Erl. Service-Oriented Architecture: Concepts, Technology, and Design. Prentice Hall, 2005.

12. O. Etzioni and D. S. Weld. Intelligent agents on the Internet: Fact, fiction, and forecast.IEEE Expert, 10(4), 44–49, 1995.

13. T. Finin, J. Weber, G. Wiederhold, M. Gensereth, R. Fritzzon, D. McKay, J. McGuire, R, Pelavin, S, Shapiro and C. Beck. DRAFT Specification of the KQML Agent-Communication Language, 1993.

14. S. Franklin and A. Graesser. Is It an Agent or Just a Program? A Taxonomy for Autonomous Agents. InProceedings of the Third International Workshop on Agent Theories, Architectures, and Languages, Springer-Verlag, 1996.

15. H. Haas and A. Brown. Web Services Glossary. http://www.w3.org/TR/ws-gloss/, 2004.

16. B. Henderson-Sellers and P. Giorgini. Agent-Oriented Methodologies. Idea Group Publishing, 2005.

17. R. High, S. Kinder and S. Graham. IBM’s SOA Foundation: An Architectural Introduction and Overview. http://download.boulder.ibm.com/ibmdl/pub/software/dw/webservices/ws-soa-whitepaper.pdf, 2005.

18. IBM. Getting Started with WebSphere Enterprise Service Bus V6.

http://www.redbooks.ibm.com/abstracts/sg247212.html, 2006.

19. H. Kreger and J. Estefan. Navigating the SOA Open Standards Landscape around Architec-ture. https://www.opengroup.org/projects/soa/uploads/40/20044/W096.pdf, 2009.

20. D. B. Lange and O. Mitsuru. Programming and Deploying Java Mobile Agents Aglets, 1st edition, Addison-Wesley, 1998

21. H. Nwana. Software agents: An overview. The Knowledge Engineering Review, 11(3), 205–

244, 1996.

22. H. S. Nwana, D. T. Ndumu, L. C. Lee and J. C. Collis. ZEUS: A toolkit and approach for building distributed multi-agent systems. InProceedings of the third annual conference on Autonomous Agents, 360–361, 1999.

23. OASIS. OASIS Reference Model for SOA, Version 1.0. OASIS Standard, docs.oasis-open.org/soa-rm/v1.0/soa-rm.pdf, 2006.

24. OASIS. OASIS Reference Architecture for SOA Foundation, Version 1.0. OASIS Public Review Draft 1, docs.oasis-open.org/soa-rm/soa-ra/v1.0/soa-ra-pr-01.pdf, 2008.

25. OMG. OMG SOA Modeling Language (OMG SoaML) Specification for the UML Profile and Metamodel for Services (UPMS), Revised Submission. www.omg.org/cgi-bin/doc?ad/08-11-01, 2008.

26. The Open Group. The Open Group SOA Ontology, Draft Technical Standard.

www.opengroup.org/projects/soa-ontology, 2009.

27. The Open Group. The Open Group SOA Governance Framework, Draft Technical Standard.

www.opengroup.org/projects/soa-governance, 2009.

28. The Open Group. The Open Group Service Integration Maturity Model (OSIMM), Draft Technical Standard. www.opengroup.org/projects/osimm, 2009.

29. The Open Group. The Open Group SOA Reference Architecture, Draft Technical Standard.

www.opengroup.org/projects/soa-ref-arch, 2009.

30. M. Rao and P. Georgeff. BDI-agents: From Theory to Practice. InProceedings of the First International Conference on Multiagent Systems (ICMAS 95), 1995.

31. M. Rao and P. Georgeff. Formal models and decision procedures for multi-agent systems.

Technical Note, AAII. 1995.

32. A. Sahai, A. Durante and V. Machiraju. Towards Automated SLA Management for Web Ser-vice. http://www.hpl.hp.com/techreports/2001/HPL-2001-310R1.pdf, HPL-2001-310, 2001.

33. J. Searle. Speech Acts. Cambridge University Press, 1969.

34. Y. Shoham. An Overview of Agent-oriented Programming. InSoftware Agents, AAAI Press, 1997.

35. D. Sprott and L. Wilkes. Understanding Service-Oriented Architecture. Microsoft Architect Journal, http://msdn.microsoft.com/en-us/library/aa480021.aspx, 2004.

36. M. Wooldridge. Introduction to Multiagent Systems. Wiley, 2009.

37. M. Wooldridge. Reasoning about Rational Agents. The MIT Press, 2000.

38. M. Wooldridge, N.R Jennings and D. Kinny. The Gaia Methodology for Agent-Oriented Analysis and Design.Journal of Autonomous and MultiAgent Systems, 3(3), 285–312, 2000.

Service Advertisement and Discovery

Shanshan Yang and Mike Joy

AbstractService Advertisement and Discovery is a fundamental process in service oriented computing, which also provides a precondition for other processes such as service selection and composition (these will be covered in detail in later chap-ters). This chapter provides an introductory overview of the concepts, standards and current developments related to Service Advertisement and Discovery, summarised from the perspectives of system architecture, data structures, system requirements and Web Services. The incorporation of agent-based technology into Service Ad-vertisement and Discovery is covered, and the chapter concludes with a discussion of future research challenges in this area.

2.1 Introduction to Service Advertisement and Discovery

A service is “a software system designed to support interoperable machine-to-machine interaction over a network” [73]. The purpose of a service is to “provide some functionality on behalf of its owner—a person or organisation, such as a busi-ness or an individual” [73]. The service provider is the entity that provides a particu-lar service, and the service requester (or consumer) is the entity that wishes to make use of a provider’s service. The goal of finding an appropriate service (the process of performing discovery) requires the service requester and provider to “become known to each other”, and it is necessary to ensure that service descriptions are published somewhere (in a registry) before that information is available to others.

This task is performed by another entity—a service broker [49].

Shanshan Yang

Department of Computer Science, University of Warwick, Coventry, CV4 7AL, UK e-mail:Shanshan.Yang@dcs.warwick.ac.uk

Mike Joy

Department of Computer Science, University of Warwick, Coventry, CV4 7AL, UK e-mail:M.S.Joy@warwick.ac.uk

N. Griffiths, K.-M. Chao (eds.),Agent-Based Service-Oriented Computing, 21 Advanced Information and Knowledge Processing,

DOI 10.1007/978-1-84996-041-0 2, cSpringer-Verlag London Limited 2010

Requestor Service

Provider Service

Broker Service

Service composition

Service Advertisement

Service Discovery

Fig. 2.1 Service oriented architecture

Most authors consider that a basic service oriented architecture consists of three different entities: services providers and requesters and a service broker (reg-istry) [13,31,48,53,67], and the relationships between these entities are illustrated in Figure 2.1. Dustdar and Treiber [31] identify the role of the service provider as one of providing descriptions, and that of the broker as publishing them. The requester contacts a broker in order to locate a suitable service to fulfil a given task, and when an appropriate service has been identified, the broker will additionally pro-vide information about how that service can be invoked. The broker uses aservice registry(repository) to store the necessary information about services, allowing both user searches and the publication of service descriptions. Searching for and locat-ing services, in order to identify matches between service requesters and providers, is regarded as a key issue, and servicebrokers(orregistries) play a major role in this task. Thus the role of the service broker and its registry is central to the current model of service oriented computing [28].

Discovery

Composition Selection

Fig. 2.2 Service execution workflow

Singh and Huhns’ [75] summary (Figure 2.2) of the services execution workflow identifies the activity of service discovery as the first step, followed by the other pro-cesses including service selection and composition. Some or all of these steps can be performed offline or at runtime. Service discovery deals with finding services that meet a specified description, whereas selection deals with “choosing appropri-ate services from among those that are discovered for the given description” [80].

Service composition deals with combining small services into larger ones to meet a specified goal [8, 10]. As Wu [93] remarks, “As an essential SOA activity, [service discovery] paves the way for conducting further important SOA activities such as service sharing, reusing and composing in a dynamically changing environment.”

In this chapter, we consider the first phase—service advertisement and discovery—

since in order to discover the services needed by the requester, it is necessary to specify and publish the services effectively first, which means that service adver-tisement provides a essential precondition for service discovery. We focus in par-ticular on web services, that use web technologies to implement a service-oriented architecture.

There are no generally accepted formal definitions of either Service Advertise-ment or Discovery (or synonymous phrases), and different approaches to describing them have been employed. For example, Yu et al. [95] defineservice publicationas

“to make the service description available in the registry so that the service client can find it” andservice lookupas to “query the registry for a certain type of service and then retrieve the service description.” The service description is identified as con-taining both syntactic information (such as the data formats and protocols used by the services) and semantic information (relating to the domain in which the services are employed together with generic issues such as service functionality and quality of service). Vitvar [87] describes discoveryas “tasks for identifying and locating services which can achieve a requester’s goal”, whereas Singh and Huhns [75] view discovery as “the act of locating a machine-processable description of a web service that may have been previously known and that meets certain functional criteria”.

Advertising service information is normally considered at the same time as vice discovery. Current research in service advertisement focuses on how web ser-vices are described, or specified, or published from a technical view, such as what standards people should adopt, or what architecture could be used effectively.

A number of researchers [12, 55, 58, 69] also suggest that agent technologies can be fitted into service oriented architectures, to improve the effectiveness of the ser-vice advertisement and discovery process. Agents can be members of multi-agent environments acting not only as brokers, but also as service providers and con-sumers. Details of agent based approaches will be covered after we have introduced the fundamental technologies and current developments of service advertisement and discovery.