O'Reilly logo

Mobile Agents by Wilhelm R. Rossak, Peter Braun

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

24 Chapter 2 From Client-Server to Mobile Agents
protocols, and ontologies, but does not consider agent mobility. The basic
FIPA specification for an abstract architecture (FIPA 00001) for an agent
system explicitly omits agent mobility.
In 2000 a new set of FIPA specifications, which included FIPA 00087 for
agent mobility, was released. In the appendix of the specification some
issues are discussed related to the problem of integrating MASIF and FIPA.
However, the current status of this specification is deprecated (May 2002).
Refer to Ametller et al. [2003] for more information about the FIPA standard
and agent mobility issues.
2.3 Similar but Different Concepts
2.3.1 Internet Agents, Worms, and Spiders
Internet agents, also called worms, robots, spiders, or crawlers, are computer
programs used by search engines, such as www.google.com, to search the
Web and catalogWeb pages.When star ting the search engine, the user usually
defines some keywords and the search engine answers with a more or less
useful list of Web pages that contain the given words. We do not want to
discuss whether this kind of software is worthy of being called a software
agent; we only want to assess whether it is a mobile agent.
Let’s look at the actual techniques used by common search engines.
A Web robot is a program that works on the computer system of the search
engine provider. A robot continuously loads Web pages, parses them into
words, and stores the result in a very huge database. From each Web page,
all hyperlinks are traversed to get new Web pages to archive. When a user
wants to search for Web pages, this database is queried with ver y sophisti-
cated techniques to find the relevant Web pages, that is, the Web pages with
the highest information value for the user.
Internet agents are, obviously, not mobile agents according to our defi-
nition. They are hardly agents at all. Even if accepted as agents, they would
still lack the aspect of mobility, because they work only from the computer
system they were started on and never migrate to another platform.
2.3.2 Java Applets
Java applets are Java programs bound to a Web page that is written in
HTML. When a user views such a Web page with Web browser software that
has a Java plugin installed, the applet is downloaded from the Web server
2.3 Similar but Different Concepts 25
automatically and executed on the client’s computer system. Java applets
extend the functionality of a common Web browser by offering restricted
access to thecapabilitiesoftheJavaprogramming language, such as graphical
user interfaces, complex business logic, and network access.
In this scenario a well-known mobile code technique is used: code on
demand. The code of an applet usually consists of a set of single classes that
are loaded dynamically on demand; that is, each class is transmitted only if
it is really needed on the client’s computer system. Since Java 2, several Java
byte code classes can be bundled and archived in a so-called Java ARchive
(JAR) file that is transmitted completely if at least one class from this archive
is needed.
Java applets are not mobile agents, because they are not agents at all
and have only limited mobility. Applets are not used as a representative of
the user that executes some tasks in an autonomous fashion. As mentioned
previously, they simply extend your browsers capabilities and work with an
application on demand. Applets have limited mobility, because they migrate
only once from a server to a client computer system. The migration is not
initiated by the applet itself, but by the user (browser) who loaded the corre-
sponding Web page. Applets cannot migrate several times but rather stay on
the client computer system until another Web page is loaded or the browser
software is terminated. No data is sent along with the applet, only code.
Therefore, an applet has no state and is incomplete as an agent. (Although
it is possible to send a serialized object as initial starting value for an applet,
this is rarely used in practice.)
2.3.3 Java Servlets
Finally, a technology we have mentioned before, but that has no relation to
mobile agents at all, are Java servlets. Servlets, and Java server pages as a
special form of servlets, are a very popular means to design and program
dynamic Web applications.
Java servlets are programs that are executed as part of a Web server or
an application container. They form an intermediate layer between the Web
browser or other HTTP clients and databases or other types of applications
running as part of a Web application. Servlets accept user requests using a
CGI interface and produce HTML pages as their result, which are sent back
to the Web client.
Java servlets are not mobile agents at all. They are normal Java programs
that are executed as part of an application container, and they are immobile.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required