|
|
Munindar Singh
Agents and Service-Oriented Computing
Web services have become an important paradigm for information
technology architectures and applications. Because of their ubiquity
and importance to industry, Web services are a great application area
for agent techniques and a great substrate for developing serious
agent-based systems. Agents are a natural fit because of their
consideration of openness: autonomy, heterogeneity, and dynamism.
This tutorial will present the key concepts, architectures, theories,
techniques, and infrastructure of Web services with an emphasis on
composition. To this end, it will introduce ontologies, transactions,
processes, orchestration, and choreography, and standards for them.
It will overlay conventional techniques with key agent
technologies---communications, commitments, protocols, contracts,
consistency maintenance, and organizations. Attendees will go away
with a solid understanding of Web services, the challenges they face,
relevant agent techniques, and the opportunities for applying those
techniques to address challenges in Web services.
This tutorial is self-contained. It is accessible to Web programmers,
advanced developers, and students. It is based on a book titled
Service-Oriented Computing authored by Munindar P. Singh and Michael
N. Huhns, which will be published by Wiley this summer.
For more information, please see Here
Motivation and Intended Audience
Web services are becoming increasingly important and the basic
infrastructure for Web services is becoming quite common. There is an
increasing recognition that agents and multiagent systems can be
applied in service computing and service computing can facilitate
agent-based systems.
This tutorial will address sophisticated approaches support
describing, discovering, and engaging Web services, leading up to
service composition. Key topics include semantics, transactions,
business processes, quality of service, compliance, and trust. The
approaches studied are either based on, or complementary to, agents
and multiagent systems.
The intended audience includes those with an interest in how agents
and multiagent systems relate to service computing. Typical attendees
for past tutorials have been researchers and practitioners from
industry and government, advanced developers, graduate and senior
undergraduate students, and university faculty.
Detailed Outline
The services metaphor is catching on rapidly for the development of
complex Web applications. Because of the heterogeneity and autonomy
of web-sites, it is only natural that we model them as independent
services. These services can be engaged through well-defined
protocols. Protocols, in this sense, replace programming interfaces
as an abstraction for programming.
The first generation of the work on Web services has concentrated on
the basic infrastructural needs, such as directory services,
description languages, and invocation standards. The whole point of
having Web services is that they be composed into more complex and
more valuable services. Present techniques that are popular within
the Web community address the challenges of composition only to a
limited extent. Some of the most important higher-level abstractions
are not studied within the community; instead classical programming
techniques are lifted for Web services. These techniques, such as
procedure calls, were developed for traditional closed systems.
A lot more can and should be said about Web services, especially when
we view them from the perspective of composition. For example,
services in general are not invoked but are engaged, meaning that the
interactions one has with them are quite unlike method invocations and
are better modeled as parts of extended conversations. Similarly,
discovering the right service is more than simply looking up a
directory with a method signature.
Some of the key techniques for service composition were developed in
the areas of databases, distributed computing, artificial
intelligence, and multiagent systems. These are generally established
bodies of work that can be readily adapted for service composition.
Some additional techniques, although inspired by these areas, must be
developed from scratch, so as to address the essential openness and
scale of Web applications that previous work did not need to address.
Both classes of key techniques should be incorporated into our best
practices for service design and composition. In many cases, they can
be applied on top of the existing approaches.
This tutorial seeks to discuss the key concepts in service
composition. Its intent is to explain the true purposes of service
composition, to evaluate existing approaches, and to present existing
techniques from other areas that can be adopted for service
composition, and lastly to introduce emerging techniques for
addressing challenges that are unique to service composition.
- Introduction
Basic concepts of Web services
Web services architectures and standards
Motivations and challenges for composition
- Web Services Architectures and Standards
Basic concepts
The services triangle architecture
WSDL
SOAP
UDDI
Upgrading the services triangle architecture
- Description: Modeling and Representation
Conceptual modeling of information and processes
Ontologies and knowledge sharing
Relevant standards: RDF, RDFS, and OWL
Inferencing and tools
Matchmaking
- Engagement Basics
Peer to peer computing
Messaging
Distributed transactions
Business processes
Relevant standards: WS-Tx, WS-C, BTP
Evaluation of current architectures and standards
- Advanced Engagement
Exception handling,
Relevant standards: BPEL4WS, WSCI, ebXML
Relaxed transactions
Monitoring and compliance
- Collaboration
Describing compositions
Agents
Protocols
Commitments and contracts
Planning
Negotiation
Consistency maintenance
Relevant standards: FIPA, OWL-S, PSL
- Discovery and Selection
Distributed credentials
Quality of service
Application-level trust
Reputation mechanisms
Referral systems
- Synthesis
Engineering composed services
Status and trends
Biography
Munindar is a full professor in the department of computer science at
North Carolina State University. From 1989 through 1995, he was with
the Microelectronics and Computer Technology Corporation (MCC).
Munindar's research interests include multiagent systems and Web
services, where he specifically addresses the challenges of trust,
service discovery, and business processes and protocols in large-scale
open environments.
Munindar is widely published and has over 150 articles to his name.
Munindar's 1994 book Multiagent Systems, was published by
Springer-Verlag. He coedited Readings in Agents, which was published
by Morgan Kaufmann in 1998. Munindar is editing the Practical
Handbook of Internet Computing to be published by CRC Press in 2004
and is coauthoring a new text, tentatively titled, Service-Oriented
Computing.
Munindar was the editor-in-chief of IEEE Internet Computing from 1999
to 2002 and continues to serve on its editorial board. He is also a
member of the editorial boards of the Journal of Autonomous Agents and
Multiagent Systems and the Journal of Web Semantics, and serves on the
steering committee for the IEEE Transactions on Mobile Computing.
Munindar's research has been recognized with awards and sponsorship
from the National Science Foundation, DARPA, IBM, Cisco Systems, and
Ericsson.
Munindar obtained a B.Tech. in Computer Science and Engineering from
the Indian Institute of Technology, Delhi in 1986 and a Ph.D. in
Computer Sciences from the University of Texas at Austin in 1993.
|