Web Services and Agents
In the latest issue of IEEE Intelligent Systems, Terry Payne writes about Web Services from an Agent Perspective and tells us why agents are different from web services. Namely:
- Agents are problem solvers.
- Agents are pro-active.
- Agents are goal-oriented.
- Agents are context-aware.
- Agents are autonomous.
Perhaps. There are some who enjoy engaging in pseudo-philosophical discussion on whether or not a piece of code is pro-active, or goal-oriented, or context-aware, etc. In the end, however, that discussion completely overlooks the real contribution of multiagent research. Multiagent research provides the higher-level algorithms for organizing complex systems. Web services provide us with the plumbing needed to get one machine to talk to another and then multiagent algorithms tell us what, exactly, those services should be. The two operate at separate abstraction levels. There should not be any confusion between the two. It's like TCP/IP versus bittorrent.
More importantly (for us), is the fact that as web services (service oriented architectures (SOA)) increase in popularity there will be a corresponding increase in the demand for the interaction algorithms and protocols developed by multiagent researchers. The budding web services ecosystem will soon demand the creation of ever more sophisticated coordination mechanisms.
Let me reiterate my point with an example. One of the most commonly used multiagent examples is the trip-planning agent. This is an agent (call it a web application if you wish) which asks you where you want to travel, when, why, and keeps a profile of your preferences. It then goes off and makes all the required purchases for you: plane, car rental, hotel, tickets to a show, conference registration, etc. We can easily envision airlines, hotels, and all the other service providers implementing a web-service backend to their website. However, this alone does not solve the problem. The agent must still figure out which specific things to buy for the user, how much to pay for them, and in what order to make the purchases (no refunds). Further, we know that the sellers themselves will also be changing prices to reflect demand. How do they make these decisions? Can two agents negotiate a deal that is better for both of them? Can we find more efficient (everyone does better) solutions by allowing more complex (multi-attribute, conditional, time sensitive) negotiations among agents? What added semantic markup do we need?
These are all very interesting questions which have not yet been fully answered. They are also the questions that multiagent systems research tries to answer. Not, “How do I make an online purchase from the Marriot hotel?”, but “What protocol and behaviors must all these agents implement in order to make trip-planning possible and incentive-compatible for all parties involved?”


Recent comments
48 weeks 6 days ago
1 year 12 weeks ago
1 year 13 weeks ago
1 year 16 weeks ago
1 year 17 weeks ago
1 year 19 weeks ago
1 year 20 weeks ago
1 year 23 weeks ago
1 year 25 weeks ago
1 year 28 weeks ago