jSNMP Enterprise provides application developers a cross-platform means of
communicating with SNMP devices and services.
It is written entirely in Java and is completely portable. jSNMP
provides complete SNMP v1/v2c/v3 support including trap/inform handling and
authentication and privacy password alteration (see
A traditional Java SNMP SDK, Java SNMP API, or SNMP Java library requires the user to manually construct SNMP request
packets. The jSNMP interface, however, allows the user to communicate
with network devices by specifying the Object Identifier (OID) of interest rather than
worrying about the intricacies of SNMP, such as the Basic Encoding Rules
(BER) or Protocol Data Unit (PDU) format.
jSNMP has been optimized for minimizing network traffic and maximizing
efficiency, allowing for a high degree of scalability. In addition, the
package has been optimized for use with multiple simultaneous connections,
allowing for a 3-tier model.
To support a 3-tier model, jSNMP includes the tools necessary to create
distributed network management applications using RMI and CORBA. The core jSNMP
engine can be run as an RMI server. Client applications can be written to use
either the RMI interface or a remote version of the easy-to-use jSNMP
interface. Either way, lightweight clients, running in or out of browsers,
can be created using a single back-end jSNMP service.
Running jSNMP as an RMI server provides a number of distinct benefits.
All communication with managed devices flows through the service. This
reduces the load placed on the devices, and allows the service to perform
several optimizations. For instance, requests bound for the same managed
device can be packaged together in one PDU, even if the requests came from
different clients. Also, values are cached for a user-defined period of
time. If a request is received within the defined time window, a cached
value is returned. This removes the need for additional network traffic.
Better security, easier administration, and improved trap handling are also
possible in a 3-tier model.
The use of a robust RMI server, distributed capabilities, and high-level
SNMP Java interfaces, combine to create a powerful combination that will save
SNMP developers both time and money.
Since SNMP OIDs are difficult to remember,
developers may prefer to make a SNMP request with the name associated
with an OID instead of the OID's dotted decimal notation
(e.g., ifAdminStatus.1 instead of 184.108.40.206.220.127.116.11.1.7.1).
jSNMP Enterprise includes the powerful Java MIB compiler jMIBC, which
takes a series of MIB files and produces a dictionary that is used by
the jSNMP Enterprise
classes to translate OIDs to/from
common names, to retrieve an OIDís status, access, type,
abstract type, and description, and to translate OID enumerated values.
Release Notes - includes known issues, last minute changes, and other information in the current release
Changes - changes since the last version
jSNMP Enterprise User's Guide (PDF) - the
main source of information on jSNMP Enterprise; includes information
on installation, the Java SNMP, RMI and CORBA interfaces, example programs, and
more; requires Adobe Acrobat Reader
jSNMP Enterprise FAQ (PDF) - answers to
common jSNMP questions; requires Adobe Acrobat Reader
API Documentation - the jSNMP Enterprise APIs, in Javadoc format
jMIBC User's Guide (PDF) - the main source of information on jMIBC; includes information on installation, use, and more; requires Adobe Acrobat Reader
MIBs and jMIBs - jSNMP Enterprises' collection of MIBs and associated jMIBC dictionary files
Example SNMP Java Applications and Applets - the jSNMP Enterprise package examples, in Java source code
Source License - the jSNMP Enterprise source license
Accessible through Java, RMI, or CORBA
Speed on par with traditional C/C++ implementations
Reduces network traffic by combining requests from multiple clients into a single request and eliminating duplicate requests
User-specified caching threshold for requests
Eliminates data copying in ASN.1 encoding and decoding