IberAgents Reference

In order to have a complete picture of the capabilities provided by IberAgents, this section describes all components in IberAgents.

Introduction

This document describes every component currently shipped with IberAgents, for reference purposes. Developer are encouraged to browse the list to see if any of them fulfills their needs, and to discover new functionalities.

It complements the documentation for features and status of the framework.

Default Components

Default components are hard-coded to start with the platform. They provide essential capabilities to the framework, and are shown here in startup order.

Package Component Type Description
com.iberagents.registry.local LocalPlatform Restartable
Configurable
The first component to start, it starts the remaining components. When the default ones are running, reads the configuration file and starts the rest.
com.iberagents.registry LocalFinder Restartable Registers components on the local node, and to the global registry. Locates local comoponents.
com.iberagents.registry.remote GlobalRegistry Service Registers and locates components on all nodes. It is started by the local finder only when this is the registry node.
com.iberagents.run Activator Component Starts and stops restartable components and agents.
com.iberagents.bean Invoker Component Used to invoke methods on components by reflection, when the method name comes from a web request or a soap message.
com.iberagents.bean.xpath Modifier Component Modifies bean objects contents according to XPath statements, used in bean edition.
com.iberagents.bean.marshal MarshalerFactory Restartable Decides which Marshaler is responsible of marshaling (serialization) for a given object. Used internally by the serializer. Developers can add custom marshalers for bean edition.
com.iberagents.bean.serial Serializer Component Converts bean objects into xml documents, and back.
com.iberagents.bean BeanArchiver Component Stores the contents of a bean into a single xml file. Used in persistence and configuration.
com.iberagents.bean Descriptor Component Low level manipulation of bean objects. Finds bean properties, instantiates objects.
com.iberagents.task AgentManager Restartable Responsible to start and locate agents, also keeps them running in the event of an unexpected error.
com.iberagents.web.process WebFinder Component Finds web components looking at the request.
com.iberagents.config Configurator Restartable Reads configuration files and sends the resulting objects to Configurable components.

Other Components

The remaining components are optional; the administrator can add or remove them in the global configuration as necessary. They are shown below in alphabetical order (by package).

Package Component Type Description
com.iberagents.bean.edit BeanEditor Component Enables the edition of bean object values from a web interface. Usually called from other components so that it manipulates internally bean values.
com.iberagents.bind Binder Restartable
Configurable
Starts and stops the internal servlet engine, and also binds to external nodes for soap communication. Is responsible of creating proxies to external services.
com.iberagents.bind.send Deliverer Agent
Configurable
Receives messages that must be sent to another node, and queues them for delivery from its own thread. Can also be configured to send messages directly.
com.iberagents.bind.receive LocalReceiver Component External messages to the local node go to this component, which is responsible for locating the target service and calling the right method.
com.iberagents.config Editor AdminComponent Lets an administrator change configuration values for IberAgents components via web.
com.iberagents.deploy Deployer Restartable
Agent
Configurable
Loads external applications, including classes, components, XSL files and a configuraton file. Checks the extension directory at regular intervals, and reloads any application that has changed.
com.iberagents.harvest WebHarvester Restartable
Configurable
Service
Collects the contents of external web pages. Uses Jakarta HttpClient to open URLs.
com.iberagents.list.edit ListEditor Component Manages lists presented as web pages. Lists are a construct used when several items (each in turn a bean object) have to be presented as a single web page, with the usual pagination capabilities.
com.iberagents.log Logger Configurable Receives logging events and shows them and / or stores them to disk. The default implementation just shows errors on console; a more refined one uses log4j as the underlying logging library.
com.iberagents.mail Emailer Service
Configurable
Very simple interface for sending email messages using the configured SMTP host.
com.iberagents.persistence.binary BinaryPersistence Restartable Part of the persistence layer, stores binary objects (i.e. arrays of bytes), usually as regular files.
com.iberagents.persistence.local LocalPersistence Restartable
Agent
Configurable
Caches persistent objects so they are not stored or read every time they are requested to do so, but at regular intervals.
com.iberagents.persistence Persistence Restartable User interface for the persistence layer. Can store, read and delete persistent objects; and perform complex database-like queries.
com.iberagents.persistence.pool ConnectionPool Restartable
Configurable
Manages a number of connections to the underlying database, and checks they are within the configured bounds.
com.iberagents.registry.remote RemoteFinder Restartable
Configurable
Locates services on remote nodes; it is also responsible for registering and unregistering on the node that contains the global registry.
com.iberagents.run Monitor AdminComponent Lets an administrator start, stop, suspend or resume running agents via web. Platform restart is also supported.
com.iberagents.security CertificateManager Restartable
Configurable
Loads digital certificates from storage and makes them available to the servlet engine. An essential part of security.
com.iberagents.soap.generate SoapGenerator Component Generates the correct xml document for a given SOAP message: objects are serialized, method calls are converted to bindings.
com.iberagents.soap.send Sender Component Sends SOAP messages to remote nodes. Uses Jakarta HttpClient to make POST requests.
com.iberagents.task AgentFinder Service Returns the descriptions of agents running on a node.
com.iberagents.user LifeCycleManager WebComponent Creates user components when a new user connects, and redirects all queries to the correct user component using a browser cookie.
com.iberagents.user.admin UserManager AdminComponent Lets an administrator create, edit and delete users (in development).
com.iberagents.user.admin SessionAdmin AdminComponent A debug component that shows all parameters in the current session.
com.iberagents.user.login Challenger Restartable Provides security services such as challenge generation and MD5 digest computation; the included implementation uses Java JSSE.
com.iberagents.user.login LoginRegistry Restartable
Agent
Keeps login information for user components, and expires them after the configured time.
com.iberagents.web.process RequestProcessor Component The interface between the internal servlet engine and the platform component discovery. When a web request (GET or POST) comes in, it locates the target component and calls the appropriate method.
com.iberagents.web.xsl XSLTransformer Restartable Performs XSL transformations, using Xalan-Java. Caches XSL transformers, and reloads the .xsl files when they change.

Configuration Components

Configuration components contain values that must be accessible to several components, as opposed to Configuration objects which are tied to a specific component. Its values can be modified at runtime by an administrator.

Package Component Description
com.iberagents.persistence.file FilePersistenceConfiguration Contains the location of files when file persistence is used.
com.iberagents.persistence.statement SQLFactory Contains pieces of SQL statements, that are composed to form statements sent to the underlying database. This is the component to change when customizing IberAgents for a particular database.
com.iberagents.soap MulticastConfiguration Controls time to wait for responses in multicast requests.
com.iberagents.soap.map MappingConfiguration Used by the soap generator to use the correct namespace mappings, and also by individual soap marshalers.
com.iberagents.task LifeCycleConfiguration Sets expiration time for user components, and how often the login registry must check for expired components. Also used by the binder to set cookie expiration time.
com.iberagents.user.admin AdminPreferences Contains the username and password for administrator access to admin components.

Other Important Objects

There are a few objects, not defined as components, which are also important for operation.

Package Object Description
com.iberagents.soap SoapServlet Servlet that receives and responds to SOAP messages and WSDL requests; uses the local receiver to locate the receiving component.
com.iberagents.web ReceivingServlet Servlet that receives web requests and passes them along to the request processor.

Updated: Dec 3 2004.
© 2004 Ibermática.
Webmaster

Valid XHTML 1.1!