Thursday, August 9, 2012

Developing with an Application Platform that Supports Simple Network Management Protocol (SNMP)

Simple Network Management Protocol (SNMP)Many developers are looking for a smarter way to build applications that utilize the SNMP protocol. The Magic xpa Application Platform supports Simple Network Management Protocol (SNMP) and works with Microsoft Windows SNMP Agent, the Net-SNMP Agent in UNIX environments, and the Native SNMP Agent for IBM i (System i/iSeries/AS400). SNMP is a standard in the application layer of the Internet protocol suite for management of various nodes on an IP network.

SNMP enables network administrators to manage network performance, find and solve network problems, and plan for network growth. For developers, SNMP is the standard that you can use to communicate with application monitoring and other monitoring tools. The SNMP architectural model involves a set of network management stations and network elements. The purpose of the network management stations is to host management applications that control and monitor network elements. The network elements are devices that serve as gateways, hosts, terminal servers, etc. These various network elements have management agents that execute management functions requested by the network management stations. SNMP, as a protocol, includes the message format used to communicate between the stations and the elements. 

In general, application monitoring can be applied for any of these five broad requirements: 

Fault The most obvious use of application monitoring is to detect faults which can be major errors related to one or more elements within the architecture. The Magic xpa Application Platform can be configured to send only specific error codes to the monitor, or the entire range of errors. Normally, you would want to report only significant error conditions that affect the operational integrity of the application or quality of the users' application experience.

Performance External monitors may want to track application performance. Performance monitoring is useful in detecting sub-optimal software performance, as measured by average wait time, number of pending requests, number of currently processing requests, and so on. Performance problems usually correlate to increased user requests. When the load outstrips the ability of the application and systems to perform the required function within expected response times, a degraded quality of user experience occurs. Application monitoring can provide us with useful metrics for performance optimization related to both applications and the network itself. 

Security You may want to employ SNMP for certain types of security monitoring such as authentication failures. 

Configuration By monitoring certain configuration settings, you can ensure that key configuration variables affecting application performance and stability stay within specified limits. For example, if the Maximum Connection property is set to 10 for a specified DBMS and the SNMP Database Connections Utilization Threshold is set to 50, the Magic xpa Application Platform sends a trap message to the Network Management Station (NMS) when 5 connections (50% of 10) to the DBMS have been opened. 

Accounting Another application for application monitoring is accounting, for administration of things like usage fees and maintenance fees. SNMP is used when a third party application tracking these fees utilizes SNMP to monitor the activity to be accounted for. Since the Magic xpa Application Platform can easily track these elements within the application itself or through another Magic xpa application, SNMP is only likely to be used in rare instances where an enterprise wide IT policy has introduced SNMP as an accounting standard, especially in environments where there is a mix of Magic and non-Magic applications being accounted for.  

Application monitoring via SNMP can be implemented using applications such as IBM Tivoli. For example, IBM Tivoli Business Application Management (BAM) products help ensure the availability and performance of your business-critical applications, including portal and Service Oriented Architecture (SOA)-based technologies. SNMP is just one of the hundreds of incorporated technologies in the Magic xpa Application Platform that make it a highly open environment for developing and deploying applications. As you take advantage of these open standards, you are doing so in a way that leverages metadata rather than requiring you to program for the details of the SNMP protocol directly. This gives you the interoperability, forward-migration and service-oriented characteristics you need to build applications that are future-proof.

Glenn Johnson is a Senior Vice President at Magic Software Enterprises, Inc. Active in the software industry since 1984, he frequently speaks at industry conferences and writes for numerous publications.