Architecture - Overview

SNMP is acronym for Simple Network Management Protocol. Most probably you already learned that simple in this definition refers to the protocol itself. The learning curve to start using SNMP is very steep. Very often you cannot ask a question because there are too many unknowns. Very soon after intensive research on the web you will find that the best choice for Java developer is SNMP4J library. This is a well supported open source product with active forum. The author of this library is Frank Fock.

Could you use SNMP4J in you application? The answer is YES, after you learn what is SNMP, how to write MIB and generate Java class from MIB file, how to create SNMP4J agent and properly initialize it, and many - many - many other small things. Unfortunately you cannot find answers for all of your questions on the web because most of your questions are related to SNMP4J implementation. Looking through SNMP4J forum archives helps just a little bit.

You have to pay the price for the SNMP4J power, extensive functionality and flexibility. This price is your time and frustration.

The FriendlySNMP API makes SNMP4J use much easier. It hides SNMP4J complexity and exposes friendly unified API with default configuration parameters and implementations. You always have an option to override defaults. The FriendlySNMP has limitations. For example, it does not support AgentX. In a future some limitations may go away or / and some FriendlySNMP functionality may be moved into SNMP4J.