JMAPI is a set of extensible objects and methods for the development of seamless system, network, and service management solutions for heterogeneous networks. This core set of application programming interfaces (API) can be used across a diverse array of computing environments involving numerous operating systems, architectures, and network protocols, enabling the development of low maintenance, heterogeneous software from a single source. JMAPI provides the user interface guidelines, Java classes, and specifications for developing seamlessly integrated system, network, and service management applications.
JMAPI provides a universal framework for network management tools that can be accessed over the World Wide Web. Unlike the actual protocol standards SNMP and RMON, which deal directly with communicating with network hardware and software in a uniform way, JMAPI is concerned only with creating a common interface for accessing network information through these and other network protocols. JMAPI provides programming support for the following features and services:
User Interface Style Guide. Although the APIs do not impose a specific graphical view on the Java applet or application developed with JMAPI, there are style guidelines that can help. The User Interface Style Guide addresses the issue of how to develop Java/Web-based user interfaces that conform to the JMAPI standard for integrated management applications—something not all programmers are familiar with.
Administrative View Module. Administrative View Module (AVM) is an extension of the Java Abstract Window Toolkit (AWT) for rapidly developing user interfaces (UI) for distributed management applications. It provides a set of components for building sophisticated graphical user interfaces, including image buttons, multicolumn lists, scrolling windows and panels, state button, toolbar, image canvas, convenience dialogs, and busy tool. There are also power components that enable developers to quickly build complex applications. These components include tables; hierarchy browser; and charts, graphs, and meters.
Base Object Interfaces. Base Object Interfaces support the construction of objects that represent distributed resources and services that comprise the enterprise environment. These interfaces can be used to create a very basic object description of a router, hub, or switch, for example. These can be further subclassed to create more specific objects such as a Bay Networks BayStack Access Node router, a 3Com SuperStack II Entry Hub, or a GDC APEX ATM switch.
Managed Container Interfaces. Managed Container Interfaces allow management applications to perform actions on a single group of managed objects, instead of each instance of an object separately. This permits management applications to scale upwards by allowing for multiple instances to be treated as one. For example, all types of routers—from a small 3Com OfficeConnect remote access router to the high-end Cisco 7500 multiprotocol router—can be classified as "routers" for the purpose of performing the same action on all of the devices simultaneously.
Managed Notification Interfaces. Managed Notification Interfaces provide the basic foundation from which more complex event management services can be built more easily. The model provides asynchronous event notification between managed objects or management applications. Event messages can be sent to a specified database or management station.
Managed Data Interfaces. Managed Data Interfaces support mapping classes and instances of the Base Objects to a relational database. These interfaces are implemented on the appropriate subset of the Java Database Connectivity (JDBC) specification. This allows the management system to store all state information about each of the objects across the network in a standardized database format for interaction with other applications. These interfaces also support a number of commercially available relational database engines.
Managed Protocol Interfaces. By itself, SNMP version 1 offers no security. JMAPI's Managed Protocol Interfaces implement classes that provide the infrastructure to perform distributed operations securely. These interfaces are built on existing Java interfaces for both security and distribution, providing methods for the secure transmission of management information across the enterprise network. The security system is based upon the Java Security API.
SNMP Interfaces. SNMP Interfaces extend the Managed Protocol Interfaces to allow extensions of the Base Objects to contain information obtained from existing SNMP agents. SNMP is the most prevalent management protocol—JMAPI is immediately useful for supporting SNMP agents, including those for RMON.
Applet Integration Interfaces. Applet Integration Interfaces allow application developers to seamlessly integrate their Java applets into the Java Management API. Developers can also choose an appropriate level of integration for their applets. These levels include: registered applets, registered management pages, and registered links.
These components provide the overall structure for creating managed network environment of heterogeneous networks. They do not include specific objects, or protocol and system services specific to each type of device to be managed. This is the responsibility of network equipment vendors.