Software User Manual Extract, Edited Version
Our SNMP agent builder iwas designed and implemented
using object-oriented methodology and
well-recognized
design patterns. One of itsthe design goals
iwas to
minimize the efforts expended in of
building SNMPsnmp agents.
Most of the hard works are has already
been done in designing the base classes and
is hidden from the users. For example,
the developer does not have to worry about
the complexities such as
SNMPv3 engine auto-discovery, encoding and decoding, dynamic row creation and deletion,
and inter-table indexing.etc, a All
thisose functionality and logic
areis already built into the core library.
All versions of SNMP, SNMPv1, SNMPv2c and SNMPv3
(USM and VACM), are all completely supported,
andso the user does not have to learn the
detailed underlying differences between
the three SNMP versions. User
can always uses a A single unified interface is used
to build SNMP agents for allspeaking different SNMP
protocols.
The Aagent builder
canhas the flexibility to create three different types
of agent: a traditional monolithic agent, a dedicated
subagent only, and a flexibleor master/ and subagent. Master/subagent architecture is
based on standard AgentX protocol. Agent eXtensibility (AgentX)
technology,is a standard protocol that
overcomes a very real needallows one to dynamically extend the managed objects in a node. Thise protocol
allows you havingpermits a single SNMP
Aagent and several
Ssubagents that canto
connect and register several managed objects simultaneously without
having to interrupting
the management service. This makesway the whole management
system can be more flexible, as each subagent can be closer to itsthe managed information and
the SNMP extensible Aagent needs to
be started only once.
For details onabout the AgentX protocol, please refer to RFC 2741.
Agent builder is built on top of Java Management
Extensions (JMXTM) technology, a standard for instrumenting manageable resources and developing
dynamic agents. Each MIB table and group is modeled as a standard
MBeans. An MBean (Managed Bean) is a Java object that
implements a specific interface and conforms to certain design patterns. It encapsulates attributes
and operations through their public methods, and
exposes them to management applications according to follows thestandard
design patterns for exposing them to management applications.
Those sStandard MBeans specify the
public operations accessible tofor SNMP clients.
A GUI-based application can
automatically generates MBeans
for theaccording to specified MIBs.
When the agent starts up, it registers all MBeans
with MBeanServer. Upon receiving an SNMP request from
a client, this server employs a quick search algorithm
is employed to find the corresponding
MBean and delegates part of the task to it.
Developers do not have to learn details about JMX
in detail, but, however, they must be aware that only
methods in the MBeans
interfaces are accessible from outside the agent. Although
MBean’s implementation classes have
moreadditional public methods, some of
them are not accessible from to SNMPsnmp managers.