In order to have a complete picture of the capabilities provided by IberAgents, this section describes all components in IberAgents.
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 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. |
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 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. |
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