The rapid evolution of Internet has opened a new era in the distributed systems scenery: the bigger part of the information systems currently developed is focused in Web applications. Typically, the information resources in Web systems are dynamic, distributed, and heterogeneous. Since these computing environments are opened, information resources can be connected or disconnected at any time. This ubiquity of Web and its distributed and interconnected characteristics represent a natural field for multiagent systems (MAS), spreading this kind of application. Software agents can dynamically discover, orchestrate, and compose services, check activities, run business processes, and integrate heterogeneous applications. Most of the large organizations adopt heterogeneous and complex information systems. These systems must coordinate their applications in order to provide efficient support to business processes and consistent information management. Unfortunately, the operational software underlying these systems usually does not handle multitask distributed heterogeneous applications. Currently, enterprises are strongly interested in the strategic advantages of adopting distributed infrastructures that are designed to be dynamic, flexible, adaptable, and interoperable. In this context, the demand for agent-based applications has increased, opening new types of applications that include e-commerce, Web services, knowledge management, semantic Web, and information systems in general. Interesting solutions to B2B (business to business), e-business, and also applications that require interoperability based on knowledge about applications and business processes, will definitely benefit from the MAS technology. Also, intelligent information agents are regarded as one of the most promising areas for applying agents’ technology. Intelligent information agents act in fields like collaborative systems on Internet, knowledge discovery from heterogeneous sources, systems for intelligent management of information, and so on. The Web can also be seen as a big distributed database having XML (extensible markup language) and its extensions or modifications as an underlying data model. In this context, the MAS development has received support from new tools in order to make it easier for the developer to cope with specific requirements for Web architectures. It is accepted that these improvements in the technology, mainly by the new tools that are becoming available, will lead MAS technology to be explored in its full potential. So, we can state that the application domain of MAS is going to be strongly enlarged, defining a turning point in the systems development activity. In this chapter, we provide an overview on MAS technology, discuss how this technology is impacting the Web context, and provide a sound description of the concepts that are relevant to the application developers and target users.
The adoption of agents’ technology in distributed and concurrent systems derives from the idea that cooperation, flexibility, and intelligence of agents can contribute significantly to improve the overall performance and quality of information systems. An agent-based system is composed of autonomous computational entities that possess individual capabilities and goals, and can be grouped to work cooperatively, aiming to reach the system objective. There is not a universally accepted definition to the term “software agent.” Wooldridge et al. (Wooldridge, Jennings, & Kinny, 1999) explains that this difficulty is partially due to the fact that, for each different application domain, the properties assigned to the agent concept take several important levels, therefore, it is possible to find many types of software agents with different characteristics, such as mobility, autonomy, collaboration, persistence, and intelligence. The agents’ behavior depends on, and is affected by, their properties. Based on previous studies carried by Kendall et al. (Kendall, Krishna, Pathak, & Suresh, 1999), the OMG (object management group) (2000), and Garcia et al. (Garcia, Silva, & Lucena, 2001) describe the following properties for software agents:
Key Terms in this Chapter
Software Agent: In a broad sense, and to have a working definition in a context in where the concept definition is not yet established, we assume that a software agent is an artificial agent that operates in a software environment.
FIPA (Foundation for Intelligent Physical Agents): A collection of standards that are intended to promote the interoperation of heterogeneous agents and the services that they can represent.
UML (Unified Modeling Language): An object-oriented standard modeling language with a rich graphical notation, and comprehensive set of diagrams and elements.
MAS (Multiagent System): A computational system where agents cooperate or compete with others to achieve some individual or collective task.
Web Services: Services that are made available by developers (OR industry?) for Web users or other Web-connected programs.
WSA (Web Services Architecture): A set of requirements for Web services standard reference architecture.
W3C: An industry consortium that seeks to promote standards for the evolution of the Web and interoperability between WWW products by producing specifications and reference software.
Agent Organizations: Can be understood as complex entities where a multitude of agents interact, within a structured environment aiming at some global purpose.
B2B (Business to Business): Exchange of products, services, or information between businesses instead of between businesses and consumers.
SOA (Service-Oriented Architecture): A set of components that can be invoked, and whose interface descriptions can be published and discovered.
XML (Extensible Markup Language): A flexible way to create common information formats and share both the format and the data on the World Wide Web, and intranets.