254 lines
15 KiB
HTML
254 lines
15 KiB
HTML
|
<?xml version="1.0" encoding="UTF-8"?>
|
||
|
<!DOCTYPE html
|
||
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
|
<html lang="en-us" xml:lang="en-us">
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||
|
<meta name="security" content="public" />
|
||
|
<meta name="Robots" content="index,follow" />
|
||
|
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
|
||
|
<meta name="DC.Type" content="task" />
|
||
|
<meta name="DC.Title" content="Configure your agent platform" />
|
||
|
<meta name="abstract" content="Provides a brief overview of the agent platform, and then provides detailed configuration steps for modifying the platform preferences file. Before you begin using the Intelligent Agents console in iSeries Navigator, you first need to configure the agent platform." />
|
||
|
<meta name="description" content="Provides a brief overview of the agent platform, and then provides detailed configuration steps for modifying the platform preferences file. Before you begin using the Intelligent Agents console in iSeries Navigator, you first need to configure the agent platform." />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzahxagentsetup.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzahxagentservices.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzahxagentstartplatform.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzahxagentsecure.htm" />
|
||
|
<meta name="DC.Relation" scheme="URI" content="rzahxagentstartplatform.htm" />
|
||
|
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
|
||
|
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1998, 2006" />
|
||
|
<meta name="DC.Format" content="XHTML" />
|
||
|
<meta name="DC.Identifier" content="rzahxagentconfigure" />
|
||
|
<meta name="DC.Language" content="en-us" />
|
||
|
<!-- All rights reserved. Licensed Materials Property of IBM -->
|
||
|
<!-- US Government Users Restricted Rights -->
|
||
|
<!-- Use, duplication or disclosure restricted by -->
|
||
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
||
|
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
|
||
|
<link rel="stylesheet" type="text/css" href="./ic.css" />
|
||
|
<title>Configure your agent platform</title>
|
||
|
</head>
|
||
|
<body id="rzahxagentconfigure"><a name="rzahxagentconfigure"><!-- --></a>
|
||
|
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
|
||
|
<h1 class="topictitle1">Configure your agent platform</h1>
|
||
|
<div><p>Provides a brief overview of the agent platform, and then provides
|
||
|
detailed configuration steps for modifying the platform preferences file.
|
||
|
Before you begin using the Intelligent Agents console in <span class="keyword">iSeries™ Navigator</span>,
|
||
|
you first need to configure the agent platform.</p>
|
||
|
<div class="section"><p><strong>Agent platform overview</strong></p>
|
||
|
<p>To manage agents using the
|
||
|
intelligent agents console, you must first define, secure, and start an agent
|
||
|
platform that the console will connect to. An agent platform is nothing more
|
||
|
than a set of Java™ Virtual Machines, or agent pools, that run the
|
||
|
services and agents of the platform. The <span class="uicontrol">ableplatform.preferences</span> and <span class="uicontrol">able.preferences</span> files
|
||
|
are used to define a platform.</p>
|
||
|
<p>In its simplest form, with security turned
|
||
|
off, <span class="uicontrol">ableplatform.preferences</span> defines:</p>
|
||
|
<ul><li>The location (system and port) of each Pool.</li>
|
||
|
<li>The services that will run in the platform.</li>
|
||
|
<li>The agents that are allowed to run in the platform.</li>
|
||
|
</ul>
|
||
|
<p>Once the agent platform is set up, the services that run on or across
|
||
|
the platform allow an agent to receive a unique name, look up other agents
|
||
|
in a directory, log history or requests, pass messages to one another, or
|
||
|
control the state of an agent. For a conceptual overview of the distributed
|
||
|
platform and more information about the available agent services, see the
|
||
|
following concept article: Agent platform.</p>
|
||
|
<p><strong>Define the agent platform</strong></p>
|
||
|
<p>To
|
||
|
begin configuring your platform, you must define your agent pools, agent services,
|
||
|
permitted agents, and add Kerberos security principals by modifying the following
|
||
|
file: <span class="uicontrol">ableplatform.preferences</span>.</p>
|
||
|
<p>The default
|
||
|
location of <span class="uicontrol">ableplatform.preferences</span> is <span class="uicontrol">QIBM/ProdData/OS400/Able</span>.</p>
|
||
|
<div class="note"><span class="notetitle">Note:</span> Multiple
|
||
|
platforms can be configured, and you need to ensure that your platform does
|
||
|
not reside at the same location as an existing platform using the same port.
|
||
|
See the Start the agent platform topic for more details.</div>
|
||
|
<p>The following
|
||
|
code samples taken from <span class="uicontrol">ableplatform.preferences</span> provide
|
||
|
examples of how to modify the platform preferences:</p>
|
||
|
<div class="note"><span class="notetitle">Note:</span> When you open
|
||
|
the file and begin making changes to the content, understand that small errors
|
||
|
and misspellings will cause the agent platform to fail, and there is currently
|
||
|
no easy way to debug your mistakes. Avoid commenting out properties that are
|
||
|
unused, commenting out an unused property can cause the platform to fail.
|
||
|
For example, if you choose to run the platform with security turned off, do
|
||
|
not comment out the principal properties through the file.</div>
|
||
|
</div>
|
||
|
<ol><li class="stepexpand"><span><span class="uicontrol">Define agent pools</span></span> <div class="p">A platform
|
||
|
is nothing more than a set of distributed Java Virtual Machines. Each JVM is called
|
||
|
an agent pool, and each JVM or pool can host multiple services and agents
|
||
|
(an agent pool does not have to host service, it could be used to run just
|
||
|
agents). You must define the location of each of your Java Virtual
|
||
|
Machines (agent pools) in the preferences file by specifying the IP address
|
||
|
(fully qualified system name) and port. Also, specify an Alias (any unique
|
||
|
name) for each agent pool. When security is turned on, you must associate
|
||
|
a service principal with each agent pool; for more information about using
|
||
|
Kerberos service principals, see the Secure your agent environment topic.
|
||
|
The following is an example of how a set of agent pools could be defined:<div class="note"><span class="notetitle">Note:</span> By
|
||
|
using the code examples, you agree to the terms of the <a href="codedisclaimer.htm">Code license and disclaimer information</a>.</div>
|
||
|
</div>
|
||
|
<pre>#----------------------------------------------------------------------
|
||
|
# Java Virtual Machines
|
||
|
#----------------------------------------------------------------------
|
||
|
AgentPool.1.Alias = Pool1
|
||
|
AgentPool.1.IpAddress = systemname.ibm.com
|
||
|
AgentPool.1.Port = 55551
|
||
|
AgentPool.1.Principal = servicePrincipal1
|
||
|
|
||
|
AgentPool.2.Alias = Pool2
|
||
|
AgentPool.2.IpAddress = systemname.ibm.com
|
||
|
AgentPool.2.Port = 55552
|
||
|
AgentPool.2.Principal = servicePrincipal1
|
||
|
|
||
|
AgentPool.3.Alias = Pool3
|
||
|
AgentPool.3.IpAddress = systemname.ibm.com
|
||
|
AgentPool.3.Port = 55553
|
||
|
AgentPool.3.Principal = servicePrincipal2
|
||
|
#----------------------------------------------------------------------</pre>
|
||
|
</li>
|
||
|
<li class="stepexpand"><span><span class="uicontrol">Define agent services</span></span> <p>Define
|
||
|
the agent services that you want to run on the platform, and specify the alias
|
||
|
of the agent pool you want them to run in. Each agent service must point to
|
||
|
a factory; the factory is a Java Class that creates the agent service.
|
||
|
The Persistence service is used to restart a platform to its previous state.
|
||
|
Specify to turn persistence on or off. If you turn persistence on, you must
|
||
|
specify a Database, Table and Schema so that persistence has a location to
|
||
|
store backed up data on. You can also specify a value for the PersistenceRetry
|
||
|
property. If the persistence service fails and you specified a value of 5000
|
||
|
for the PersistenceRetry property, it will attempt to retry every 5000 milliseconds.
|
||
|
The following code example shows how three different services, Directory,
|
||
|
Logging, and Persistence could be defined:</p>
|
||
|
<pre>Services=Agent-Directory-Service,Agent-Logging-Service,
|
||
|
Persistence-Service
|
||
|
|
||
|
Agent-Directory-Service.AgentPool = Pool1
|
||
|
Agent-Directory-Service.Factory =
|
||
|
com.ibm.able.platform.RMIVerifiableDirectoryServiceFactory
|
||
|
Agent-Directory-Service.Persistence = off
|
||
|
Agent-Directory-Service.PersistenceDatabase = *LOCAL
|
||
|
Agent-Directory-Service.PersistenceTable = qahadir
|
||
|
Agent-Directory-Service.PersistenceSchema = QUSRSYS
|
||
|
Agent-Directory-Service.PersistenceRetry = 5000
|
||
|
|
||
|
Agent-Logging-Service.AgentPool = Pool1
|
||
|
Agent-Logging-Service.Factory =
|
||
|
com.ibm.able.platform.RmiAgentLoggingServiceFactory
|
||
|
Agent-Logging-Service.Persistence = off
|
||
|
Agent-Logging-Service.PersistenceDatabase = *LOCAL
|
||
|
Agent-Logging-Service.PersistenceTable = qahalog
|
||
|
Agent-Logging-Service.PersistenceSchema = QUSRSYS
|
||
|
Agent-Logging-Service.PersistenceRetry = 5000
|
||
|
Agent-Logging-Service.Properties = history-log-max : 100</pre>
|
||
|
<div class="note"><span class="notetitle">Note:</span> You can specify to control performance by adding a history-log-max
|
||
|
property to the Logging service. If you specify history-log-max=100, each
|
||
|
agent will keep only its 100 most current history logs.</div>
|
||
|
<pre>Persistence-Service.AgentPool = Pool1
|
||
|
Persistence-Service.Factory =
|
||
|
com.ibm.able.platform.RmiPlatformPersistenceServiceFactory
|
||
|
<span class="uicontrol">Persistence-Service.Properties</span> =
|
||
|
persistence-driver : com.ibm.db2.jdbc.app.DB2Driver,
|
||
|
persistence-protocol : jdbc,
|
||
|
persistence-subProtocol : db2,
|
||
|
blob-type : BLOB,
|
||
|
persistence-dbFlushTime : 1000,
|
||
|
persistence-dbResetAll : off</pre>
|
||
|
<p>The Persistence service provides backup and recovery for your
|
||
|
agent platform. To use persistence with agent services running on or across
|
||
|
your platform, you need to define several Persistence-Service.Properties:</p>
|
||
|
<ul><li><strong>persistence-driver</strong> <p>Defines the JDBC driver that the persistence
|
||
|
service will use. By default the persistence-driver is set to use the native DB2<sup>®</sup> driver.</p>
|
||
|
</li>
|
||
|
<li><strong>persistence-protocol and subProtocol</strong> <p>Defines the database protocol
|
||
|
that the persistence service will use. By default the protocol is set to jdbc
|
||
|
and the subProtocol is set to db2.</p>
|
||
|
</li>
|
||
|
<li><strong>blob-type</strong> <p>Defines the blob type associated with the JDBC driver
|
||
|
you are using. The default for DB2 is set to BLOB, but if you choose to
|
||
|
use a different database like CloudScape for example, you would define blob
|
||
|
type as blob-type : LONG VARBINARY.</p>
|
||
|
</li>
|
||
|
<li><strong>persistence-dbFlushTime</strong> <p>Specifies the rate at which you want
|
||
|
the persistence service to flush data to the database in milliseconds.</p>
|
||
|
</li>
|
||
|
<li><strong>persistence-dbResetAll</strong> <p>If you specify to turn this property <span class="uicontrol">on</span>,
|
||
|
when you restart the platform all previously persisted data will be cleared
|
||
|
from the database.</p>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
<li class="stepexpand"><span><span class="uicontrol">Define permitted agents</span></span> <p>You
|
||
|
must define all of the agents that you want to allow access to the platform
|
||
|
and the agent services running on or across the platform. The following is
|
||
|
an example of how an agent could be defined. More details about each agent
|
||
|
property are listed after the following example:</p>
|
||
|
<pre>Agent.1.Alias=Agent1
|
||
|
Agent.1.AutonomyLevel=Medium
|
||
|
Agent.1.ClassName=
|
||
|
com.ibm.able.platform.examples.EServerTemplateAgent
|
||
|
Agent.1.ConstructorArgs=String:agentName
|
||
|
Agent.1.EligiblePrincipals=principalAlias1, principalAlias2
|
||
|
Agent.1.EligibleAgentPools=pool1, pool2, pool3
|
||
|
Agent.1.InitArgs=
|
||
|
Agent.1.LastChangedDate=January 11, 2003 11:11am
|
||
|
Agent.1.Type=Tester1
|
||
|
Agent.1.Vendor=IBM1
|
||
|
Agent.1.Version=1.1</pre>
|
||
|
<ul><li><strong>Alias</strong> <p>Provide a unique name for your agent. This name will be
|
||
|
used by the agent console.</p>
|
||
|
</li>
|
||
|
<li><strong>AutonomyLevel</strong> <p>Specify the agents initial autonomy level. A user
|
||
|
can change this setting from the console. Determine the level of independence
|
||
|
you want to associate with your agent, and set the automation level accordingly.
|
||
|
The higher you set the automation level, the less your agent will request
|
||
|
permission to take an action. If you set an agent to <span class="uicontrol">High automation</span>,
|
||
|
it will perform most actions without requesting a response first. If you are
|
||
|
concerned about an agent's behavior, you may want to lower the automation
|
||
|
level, (increasing the frequency by which the agent requests permission to
|
||
|
take action), by changing the setting to <span class="uicontrol">Medium automation</span>.</p>
|
||
|
</li>
|
||
|
<li><strong>ClassName</strong> <p>Specifies the the actual agent Java Class.</p>
|
||
|
</li>
|
||
|
<li><strong>ConstructorArgs</strong> <p>Allows you to provide arguments in the properties
|
||
|
file that you want to pass to your agent.</p>
|
||
|
</li>
|
||
|
<li><strong>EligiblePrincipals</strong> <p>When security is turned on, you must define
|
||
|
who has authority to start an instance of your agent by associating one or
|
||
|
more user principal aliases with each agent; for more information about using
|
||
|
Kerberos service principals, see the Secure your agent environment topic.</p>
|
||
|
</li>
|
||
|
<li><strong>EligibleAgentPools</strong> <p>Specify the alias of one or more agent pools
|
||
|
that you want to use to run your agents on the platform.</p>
|
||
|
</li>
|
||
|
<li><strong>InitArgs</strong> <p>Allows you to pass in any Init arguments to your agent
|
||
|
from the preferences file.</p>
|
||
|
</li>
|
||
|
</ul>
|
||
|
</li>
|
||
|
<li class="stepexpand"><span><span class="uicontrol">Secure your agent platform</span></span> <p>After
|
||
|
you have defined your agent pools, agent services, and permitted agents, you
|
||
|
may want to configure security on the platform. For more information on Kerberos
|
||
|
principals, trustlevels, and how they are used and defined to secure the agent
|
||
|
platform, see: Secure your agent environment.</p>
|
||
|
</li>
|
||
|
</ol>
|
||
|
<div class="section"><p>After you have defined your agent pools, agent services, and permitted
|
||
|
agents, and optionally set up security, you need to Start the agent platform.</p>
|
||
|
</div>
|
||
|
</div>
|
||
|
<div>
|
||
|
<div class="familylinks">
|
||
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzahxagentsetup.htm" title="Before you can begin managing your agents with the Intelligent Agents console, you will need to configure your agents and agent services (the agent platform) to run on or across the systems in your environment. A secure environment requires Kerberos and additional platform configuration.">Set up your agent environment</a></div>
|
||
|
</div>
|
||
|
<div class="relconcepts"><strong>Related concepts</strong><br />
|
||
|
<div><a href="rzahxagentservices.htm" title="Agent Services live on your system or across your distributed platform, and are responsible for the life cycle, security, and behavior of your agent.">Agent platform</a></div>
|
||
|
<div><a href="rzahxagentstartplatform.htm" title="After you define the agent platform and optionally secure your platform, you will need to start all the Java Virtual Machines associated with your agent services using iSeries CL commands.">Start the agent platform</a></div>
|
||
|
</div>
|
||
|
<div class="reltasks"><strong>Related tasks</strong><br />
|
||
|
<div><a href="rzahxagentsecure.htm" title="It is strongly recommended that you use Kerberos user and service principals to authenticate users, agent pools, and agent services to one another on or across a secure platform or distributed platform.">Secure your agent environment</a></div>
|
||
|
</div>
|
||
|
</div>
|
||
|
</body>
|
||
|
</html>
|