INTEGRATING AGENT TECHNOLOGIES INTO ENTERPRISE
SYSTEMS USING WEB SERVICES
Eduardo H. Ram
´
ırez
Tecnol
´
ogico de Monterrey, Campus Monterrey
Eugenio Garza Sada 2501, Col. Tecnol
´
ogico, Monterrey, N.L. M
´
exico
Ram
´
on F. Brena
Tecnol
´
ogico de Monterrey, Campus Monterrey
Eugenio Garza Sada 2501, Col. Tecnol
´
ogico, Monterrey, N.L.M
´
exico
Keywords:
Software agents, Web Services.
Abstract:
In this work we present a decoupled architectural approach that allows Software Agents to interoperate with
enterprise systems using Web Services. The solution leverages existing technologies and standards in order to
reduce the time-to-market and increase the adoption of agent-based applications. Insights on applications that
may be enhanced by the model are presented.
1 INTRODUCTION
Software Agents (Jennings and Wooldridge, 1996)
and Web Services(W3C, 2003) have become key re-
search areas for a growing number of organizations
and they are expected to bring a new generation
of complex distributed software systems(Jennings,
2000). But even if Agent technology is little by lit-
tle finding its way into the mainstream, Web Ser-
vices have been adopted much more widely and
rapidly(Barry, 2003).
Several authors have pointed out some overlapping
between Agents and Web Services semantic capa-
bilities (Hunhs, 2002)(Preece and Decker, 2002), is-
sues regarding how they may be competing or com-
plementary technologies remain open(Petrie, 1996).
Because of that, research involving Agents and Web
Services is mainly focused on building improved se-
mantics(Dickinson and Wooldridge, 2003)(Hendler,
2001) communication languages and interaction pro-
tocols(Labrou et al., 1999).
We assume that in order to impact real-world orga-
nizations, a greater emphasis should be made on inter-
operability between agent-based applications and en-
terprise information systems. Moreover, we believe
that the adoption of agent technologies will grow by
leveraging existing industry standards and technolo-
gies. Therefore the problem we address is an instance
of “the legacy software integration problem”(Nwana
and Ndumu, 1999),(Genesereth and Ketchpel, 1994).
In this work we present a decoupled architec-
tural approach and design principles, called “Embed-
ded Web Services Architecture” (ESWA), that allows
agent-based applications to be integrated into enter-
prise application environments(Peng et al., 1998) us-
ing Web Services, thus allowing them to interoperate
with robust conventional systems such as:
Web-applications and Portals.
Enterprise Resource Planning (ERP)
Manufacturing Execution Systems (MES)
Workflow engines
Also, we discuss about the kind of agent-based ap-
plications we have found to be suitable for this ap-
proach and the nature of Web Services that agents can
provide.
2 SOLUTION OVERVIEW
2.1 Architecture
Figure 1: Decoupled architecture top-level view
11
H. Ramírez E. and F. Brena R. (2005).
INTEGRATING AGENT TECHNOLOGIES INTO ENTERPRISE SYSTEMS USING WEB SERVICES.
In Proceedings of the Seventh International Conference on Enterprise Information Systems, pages 11-15
DOI: 10.5220/0002552800110015
Copyright
c
SciTePress

Agent co ntai n er











Key :




(a) Component view






Key :



(b) Execution model
Figure 2: EWSA decoupled architecture
As shown in figure 1, the underliying metaphore
used to determine the design strategy was the aim
to create a “black-box” in which agents can live and
perform complex tasks. The main architectural prin-
ciple consists of decoupling agent-based applications
through the exposure of Web Service interfaces. En-
terprise applications should not be aware that a ser-
vice is provided by agents if the system offers a stan-
dard SOAP endpoint as interface. Appearing to the
world as a conventional Web service or application.
An agent based application which exposes Web in-
terfaces requires the interoperability of Web compo-
nents and agents and their respective containers, as
they are built on different programming models each
following different sets of specifications. The relevant
components and containers are:
Web container Also called the “Servlet container,
is the application that provides the execution envi-
ronment for the web components and implements
the Java Servlet API in conformity with the JSR-
154(Sun Microsystems, Inc., 2003) specification.
Web containers are usually built within web servers
and provide network services related with HTTP
request processing.
Web component Servlets are the Java standard user-
defined web components. JSR-154 defines them as
A Java technology-based web component, man-
aged by a container that generates dynamic con-
tent”(Sun Microsystems, Inc., 2003). They follow
a synchronous processing model as they are de-
signed to handle the content of the HTTP requests.
The dynamic content delivered in the request may
be HTML for web pages or XML(W3C, 2000) for
Web Services.
Agent container The execution environment for the
agents provided by the agent platform in confor-
mity with FIPA(FIPA, 2002) specifications.
Web Service agent A Java thread that periodically
executes a set of behaviours containing the agent
tasks. For the purposes of this work we could say
that an agent is a “Web Service agent” if it receives
and processes requests formulated by a human user
or an application in collaboration with a Web com-
ponent. The requests may be synchronous or asyn-
chronous.
The development of our solution implies an in-
crease of internal cohesion inside agent-based appli-
cation components. A deeper analysis on which com-
ponents exist inside the application “black-box” is
shown in figure 2(a). The cohesion gain is achieved
by the means of an embedded Web container, that al-
lows the agent-based application to process HTTP pe-
titions in a reliable way. As the agent and web con-
tainers are both started on the same Java Virtual Ma-
chine operating system process, agents and web com-
ponents may communicate efficiently by sharing ob-
ject references in a “virtual channel”. The resulting
execution model is shown in figure 2(b).
2.2 Implementation
Among FIPA platforms, JADE(Bellifemine et al.,
1999) was selected because it is considered well
suited for large scale deployments mainly due to its
thread-per-agent programming model and the support
of “virtual channels” that allow agents to interact with
regular Java components(Rimassa, 2003).
In this particular implementation the “Launcher”
program, initializes and starts an instance of the JADE
platform besides an embedded version of the Tom-
cat Web Server (Jakarta Project - The Apache Soft-
ware Foundation, 2003). The mentioned “Registry”
is nothing but a data structure that holds references to
the running Service Agents, implemented as a Single-
ton (Gamma et al., 1995).
ICEIS 2005 - SOFTWARE AGENTS AND INTERNET COMPUTING
12






JVMJVM








Key :




(a) Component view
 
 

Key :



(b) Execution model
Figure 3: Gateway architecture
Access to the agents source code is required as they
need to be recompiled to include the Web Service
capability which is encapsulated in a platform spe-
cific library. In JADE’s particular case, agents are en-
hanced with a custom behaviour class, that only re-
quires the addition of one line of code.
The architecture is applicable to FIPA platforms
other than Jade; however, it would be necessary
to port the framework components (Registry and
Launcher) using its particular libraries and program
interfaces and to add missing components provided
by the platform like virtual channels between objects
and agents.
2.3 Evaluation and comparison
Our proposal is not the first solution that allow agents
to interoperate with web based components. In fact
such an architecture was defined by developers(Berre
and Fourdrinoy, 2002) of the Jade platform and later
implemented on the WSAI Project(Whitestein Tech-
nologies, A.G., 2003) as a contribution to AgentCities
initiative(Dale et al., ).
The solution assumes the existence of two agent
containers, one standalone, that we may call the
“main container” and one contained itself within the
web container. Each container is executed in a sepa-
rate JVM system process. WSAI introduces the con-
cept of “Gateway Agent” as an agent living in the
“web container”, responsible of translating HTTP re-
quests into ACL messages. The general gateway ar-
chitecture components are shown in figure 3(a).
One of the major drawbacks of the approach re-
sides in the existence of several processes that should
synchronize using remote method invocations even
if both of them are deployed on the same machine.
Additional complexity comes from the fact that it is
able to interoperate with any running FIPA-compliant
agent platform (even non Java-based ones) without
access to its source code.
Figure 4: Mean service time for concurrent requests
We believe that in order to build enterprise-class
agent-based applications is not critical to provide
web-interoperability to an indefinite number of FIPA
platforms, therefore, we trade-off this flexibility in fa-
vor of good integration with the chosen agent plat-
form, even though the architectural principles remain
useful for them. As a result, our framework imple-
mentation is simple and provides good performance.
In a benchmark between WSAI and the EWSA de-
coupled architecture an important performance and
scalability gain was observed. A currency exchange
Web service is provided in the WSAI platform. The
service implementation is trivial as it only consist of
a simple mathematical conversion performed by an
agent. As shown in figure 4 we may notice that not
only EWSAs response times are better, but that they
increase at a slower rate with respect to the number of
concurrent requests which leads to better scalability.
The performance gain in the embedded architecture
can be interpreted as an effect of the elimination of
network calls overhead between agents and web com-
ponents.
INTEGRATING AGENT TECHNOLOGIES INTO ENTERPRISE SYSTEMS USING WEB SERVICES
13
3 APPLICATIONS
JIT IK






















Figure 5: JITIK and enterprise systems interaction
In a general we believe that the proposed integration
model is useful to allow gent-based applications to
provide knowledge-intensive services, such as:
Search and automatic classification
User profile inference
Semantic-based content distribution
Web-enabled agent systems may serve in a variety
of domains. As presented in the JITIK case study,
they are well suited to support knowledge distribution
in collaborative environments.
3.1 Just-in-time Information and
Knowledge
The proposed model have been successfully imple-
mented in JITIK (for Just-in-Time information and
Knowledge) that may be defined as a web-enabled
agent-based intelligent system capable of deliver
highly customized notifications to users in large dis-
tributed organizations(Brena et al., 2001). JITIK is
aimed to support collaboration within organizations
by delivering the right knowledge and information to
the adequate people just-in-time. JITIK was designed
to interoperate with enterprise systems in order to re-
trieve and distribute contents in a flexible way.
The JITIK agent model is shown in figure 5. Per-
sonal Agents work in behalf of the members of the
organization. They filter and deliver useful content
according to user preferences. Personal agents are
provided of information by the Site Agent who acts
as a broker between them and Service agents. For
the purposes of this work, the most relevant agents
of JITIK are the so called service agents which col-
lect and detect information and knowledge pieces that
are supposed to be relevant for someone in the or-
ganization. Examples of service agents are the Web
Service agents, which receives an process external re-
quests, as well as monitor agents which are continu-
ously monitoring sources of information and knowl-
edge (web pages, databases, etc.).
The ontology agent contains the knowledge about
the interest areas to the members of the organization
and about its structure(Brena and Ceballos, 2004).
That knowledge is hierarchically described in the
form of taxonomies, usually one for interest areas and
one describing the structure of the organization. For
example, in an academic institution, the interest areas
could be the science domains in which the institution
is specialized, and the organizational chart of the in-
stitution gives the structure of the organization.
3.2 JITIK Web Services
JITIK is an example of an agent-based application
able to provide knowledge intensive services which
may be grouped as follows:
Recommendation services A user’s profile is repre-
sented by a set of points in the taxonomies, as each
user could have many interests and could be located
at different parts of the organizational structure. As
JITIK keeps track of user interests and preferences
it is able to recommend content to users on demand.
Recommended content may be used in Portals or
Web applications.
Content search and classification One of the main
difficulties for web users is obtaining relevant in-
formation. In normal conditions people waste a
lot of time searching documents on the web, most
of the times, because the users must examine the
documents in detail to determine if they are really
relevant for the search purposes. In the context of
JITIK, a service agent that searches the most rel-
evant documents on the web can be constructed.
The knowledge that guides the search is handled by
the ontology agent where the keywords with which
the search engine is invoked are defined. The doc-
uments obtained by the search are qualified by a
fuzzy system and then the best ones are pushed to
the users.
Subscription services JITIK allows users to sub-
scribe to changes in specific areas. Also, users
may customize the media and frequency of JITIK
notifications using using simple web-based inter-
faces. Rules may be defined so as messages rela-
tive to certain topics are handled with higher pri-
orities. A rule may state that several alerts may
be sent to their cell-phone via SMS, and also de-
fine that interest-area messages be sent in a weekly
summary via email. Organization managers may
set high-level distribution rules.
Content distribution services Enterprise applica-
tions may deliver content to the system using
ICEIS 2005 - SOFTWARE AGENTS AND INTERNET COMPUTING
14
its semantic-based content distribution services.
When new content is received it is classified and
distributed to users who may be interested. Users
receive the notifications of new content as specified
by their own rules.
As shown above, the EWSA decoupled architec-
ture allows an agent-based application like JITIK to
provide enterprise communities with a number of
knowledge oriented Web Services, specially useful in
large organizations where performance and scalabil-
ity attributes become critical.
4 CONCLUSION
We have presented an architectural approach aimed
to allow integration of multi-agent systems as Web-
Services components. Besides its simplicity, the ad-
vantage of this approach is that it provides an efficient
way of interoperating agent-based subsystems with
web-centric loosely-coupled systems. We think this
solution is a good compromise given the current sta-
tus of technology, and that it allows rapid integration
of modular systems conforming to open standards.
We presented experimental evidence to support our
claim of efficiency. We presented as well a case study,
which is the application of our architecture to the JI-
TIK system, a multi-agent system to deliver informa-
tion items to a distributed community of users.
In the near future we intend to test our architec-
ture in other real-world systems integrating agents
in a web-based framework. We are currently study-
ing methodological issues to guide the development
of hybrid agents-web systems, as current agent-
development methodologies need to be strongly en-
hanced in order to fit our architecture.
REFERENCES
Barry, D. K. (2003). Web Services and Service-Oriented
Architectures: The Savvy Manager’s Guide. Morgan
Kaufmann.
Bellifemine, F., Poggi, A., and Rimassa, G. (1999). JADE
- A FIPA-compliant agent framework. In Proceedings
of PAAM’99, London.
Berre, D. L. and Fourdrinoy, O. (Jun 2002). Using JADE
with Java Server Pages. In JADE documentation.
Brena, R., Aguirre, J., and Trevi˜no, A. (2001). Just-in-
Time Information and Knowledge: Agent technology
for KM Bussiness Process. In Proceedings of the 2001
IEEE Systems, Man, and Cybernetics Conference.
Brena, R. and Ceballos, H. (2004). A Hybrid Local-Global
Approach for Handling Ontologies in a Multiagent
System. In Proceedings of the 2004 2nd Interna-
tional IEEE Conference Intelligent Systems. Varna,
Bulgaria.
Dale, J., Willmott, S., and Burg, B. Agentcities: Building a
global next-generation service environment.
Dickinson, I. and Wooldridge, M. (2003). Towards prac-
tical reasoning agents for the semantic web. In Pro-
ceedings of the second international joint conference
on Autonomous agents and multiagent systems, pages
827–834. ACM Press.
FIPA (2002). FIPA Abstract Architecture Specification.
Gamma, E., Helm, R., Johnson, R., and Vlissides, J.
(1995). Design Patterns: Elements of Reusable
Object-Oriented Software. Addison-Wesley.
Genesereth, M. R. and Ketchpel, S. P. (1994). Software
agents. Commun. ACM, 37(7):48–ff.
Hendler, J. (2001). Agents and the Semantic Web. IEEE
Intelligent Systems, 16(2).
Hunhs, M. (Jul-Ago 2002). Agents as Web Services. IEEE
Internet Computing, 6(4):93 –95.
Jakarta Project - The Apache Software Foundation (2003).
The Tomcat Web Server v. 4.1.
Jennings, N. and Wooldridge, M. (18 Jan. 1996). Software
agents. IEE Review, 42(1):17 –20.
Jennings, N. R. (2000). On agent-based software engineer-
ing. Artificial Intelligence, 177(2):277–296.
Labrou, Y., Finin, T., and Peng, Y. (March-April 1999).
Agent communication languages: the current land-
scape. IEEE Intelligent Systems, 14(2):45 –52.
Nwana, H. S. and Ndumu, D. T. (1999). A Perspective on
Software Agents Research. The Knowledge Engineer-
ing Review, 14(2):1–18.
Peng, Y., Finin, T., Labrou, Y., Chu, B., Long, J., Tolone,
W. J., and Boughannam, A. (1998). A multi-agent
system for enterprise integration. In Proceedings of
the 3rd International Conference on the Practical Ap-
plications of Agents and Multi-Agent Systems (PAAM-
98), pages 155–169, London, UK.
Petrie, C. J. (Dic 1996). Agent-Based Engineering, the web
and intelligence. IEEE Expert, 11(6):24–29.
Preece, A. and Decker, S. (Ene-Feb 2002). Intelligent web
services. IEEE Intelligent Systems, 17(1).
Rimassa, G. (Jan 2003). Runtime Support for Distributed
Multi-Agent Systems. In Ph. D. Thesis, University of
Parma.
Sun Microsystems, Inc. (2003). JSR-000154 Java(TM)
Servlet 2.4 Specification (Final release).
W3C (2000). Extensible Markup Language (XML) 1.0
(Second Edition).
W3C (Aug 2003). Web Services Glossary, Working Draft.
Whitestein Technologies, A.G. (2003). Web Services Agent
Integration Project.
INTEGRATING AGENT TECHNOLOGIES INTO ENTERPRISE SYSTEMS USING WEB SERVICES
15