|
Network management applications differ widely in the scope of their design, implementation, and deployment. Building such applications requires the understanding of many aspects of network management as well as software technologies.
The management needs can be any of the following.
Network management, system management, or device management
Generic or customized management
The following are the types of applications that can be developed to meet the above-mentioned management needs.
Embedded applications
Operating system specific or cross-platform implementations
Standalone applications
Web-based applications and applets
Distributed applications
The application that is developed can be any of the following.
GUI or non-GUI (command line) applications
Components used in other applications
The type of management application that needs to be developed largely depends on the purpose of the application. AdventNet SNMP API comes with the necessary APIs, which can help you in developing the applications of your choice.
Network Management and Device Management
Network management is primarily concerned with managing an entire network that is made up of number of devices. Device management is considered with managing a device as an individual entity.
A management application developed for network management monitors the network and the devices in the network. A device management application is used to manage a particular device in the network. Here, the network itself is used only as a medium to monitor the device remotely. The application does not have any control over the network.
Generic and Customized Management Applications
The network management needs mandate the management application to be as generic as possible or custom-tailored for a specific network or device. A generic management application typically loads any MIB, receive any trap message, communicate with any type of device, query and poll any SNMP node, and so on. Although a generic management application has its advantages, its utility is limited. Even the simplest management operations might need to be done repetitively.
Customized applications have specific user interface and most of the complex requests can be handled in few mouse clicks. Graphical representation and automating several routine tasks are the part of the customized approach. The applications can also completely isolate the user from the underlying protocol used. One disadvantage is that they are tailor made for the associated MIB. Any change in the MIB is difficult to handle in the application.
Types of Applications
In today's heterogeneous network environment, deciding on the type of applications becomes critical. The targeted customer base predominantly dictates the choice of the type of application. Most applications fall under any one of the following categories.
Embedded applications - depend on the device. Most devices, such as switches, routers, and printers have embedded applications installed in it which can be used to manage the device.
Operating system specific or cross-platform implementations - depend on the end user. If the end users use a particular operating system, the application can be developed pertaining to that OS. On the other hand, if multiple operating systems (Windows, Unix, or Macintosh) are used, it is better to develop the application that supports cross platform. In this case, a cross-platform language, such as Java should be used.
Standalone applications - depends on customer needs and the managed device. These applications are implementation specific.
Web-based applications and applets - This has the advantage of leveraging the Internet technologies. The application can be installed in a web server and the front end can access through the browser itself. This is implementation specific.
Distributed applications - depend on users and managed devices. If the users or devices to be managed are distributed, distributed applications are required. Distributed applications can be developed using CORBA or RMI technologies.
Command-Line Applications
Command-line applications or tools are the simplest applications that can be developed for the SNMP management. Typically, these tools are used to send single request messages to the agent, receive responses, and display them in the console. These tools can also act as daemon process to receive and display traps. Command-line tools are normally used for fetching small amount of information, testing the MIB variables implemented by the agent, receiving debug information for a particular variable, testing whether a node is SNMP enabled, and so on.
The usage of the command-line tools requires the user to have a good knowledge of SNMP. The user must understand the SNMP concepts such as community, OIDs, data types, SNMP errors, etc. in order to use the tools effectively.
GUI Applications
A simple command-line application has its limitations. After some time, it becomes complicated and tedious to use. Migrating to GUI environment gives the advantage of having an intuitive application with menu bars, toolbars, drag-and-drop components, graphs, and many more features.
Using AdventNet SNMP API
AdventNet SNMP API with its hierarchy of Java packages enables developing the above-mentioned type of applications in a simpler and quicker way. The various packages available with this product allows flexible selection of the desired level of library support. You can either access detailed SNMP information using low-level API or choose higher-level Java Beans for simpler programming.
|