|Scientific and Academic Editing French/English Translation Technical Writing|
|“The difference between the right word and the almost right word is the difference between lightning and a lightning bug”—Mark Twain|
Software User Manual Extract: Original Version
Our SNMP agent builder is designed and implemented using object oriented methodology and well-recognized design patterns. One of the design goals is to minimize the efforts of building snmp agent. Most of the hard works are already done in the base classes and hidden from users. For example,developer does not have to worry about the complex SNMPv3 engine auto-discovery, encoding and decoding, dynamic row creation and deletion, inter-table indexing etc, all those functionality and logic are already built into the core library.
All versions of SNMP, SNMPv1, SNMPv2c and SNMPv3 (USM and VACM), are completely supported, and user does not have to learn the detailed underlying differences between three SNMP versions. User can always uses a unified interface to build SNMP agents speaking different SNMP protocols.
Agent builder has the flexibility to create three different types of agent: traditional monolithic agent, subagent only, or master and subagent. Master/subagent architecture is based on standard AgentX protocol. Agent eXtensibility (AgentX) is a standard protocol that overcomes a very real need to dynamically extend the managed objects in a node. The protocol allows you having a single SNMP Agent and several Subagents that can connect and register several managed objects without having to interrupt the management service. This way the whole management system can be more flexible, each subagent can be closer to the managed information and the SNMP extensible Agent needs to start only once. For details about the AgentX, 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 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 follows the design patterns for exposing them to management applications. Those standard MBeans specify public operations accessible for SNMP clients. A GUI based application can automatically generate MBeans according to specified MIBs. When agent starts up, it registers MBeans with MBeanServer. Upon receiving SNMP request from client, a quick search algorithm is employed to find the corresponding MBean and delegate part of the task to it. Developers do not have to learn details about JMX, however, they must be aware that only methods in MBeans interfaces are accessible from outside the agent. Although MBean’s implementation classes have more public methods, some of them are not accessible from snmp managers.