Apart from the well-known OSI/TMN and Internet management architectures, a third alternative is gaining increasing attention for integrated management: the Common Object Request Broker Architecture (CORBA) (see e.g. [2], [13]) which has been standardized by the Object Management Group (OMG). Initially developed for distributed object-oriented programming, the advantages of using CORBA in the domain of network and systems management are more and more recognized.
One reason for this is the fact that today the development of management systems is perceived as a special case of developing large-scale information technology applications. The successful application of new principles from the field of software engineering like object-oriented techniques for the analysis, design and implementation of complex software systems leads to the development of modular, well-structured management applications built from "off-the-shelf" software components. This yields demand for techniques that protect developers - at least to a certain degree - from the heterogeneity of the underlying operating systems. This is particularly important for the development of powerful management software. Another issue is the fact that management architectures like the Internet (SNMP-based) framework and OSI/TMN require, apart from usual software development knowledge, additional skills in the domain of management information specification. This leads to the situation that the developers (and even their companies) of a distributed application and the programmers in charge of implementing the corresponding management modules are hardly ever identical. A consequence is that the full range of application-specific APIs useful for management are rarely exploited in depth. The requirement of additional knowledge is due to the fact that traditional management architectures introduce additional complexity by specifying the management interfaces of a managed resource in a special notation (ASN.1 or GDMO) and use dedicated protocols (SNMP or CMIP) for the communication between managing and managed systems. Even worse, these management architectures are totally incompatible; the development of mechanisms for bridging the gaps between them is still a topic of ongoing research. The handling of this heterogeneity introduced by management is often difficult and the requirements of providers of large-scale communication infrastructures are often not met in available products.
CORBA follows another approach: Initially specified for distributed object-oriented programming, this technology can be used not only for implementing distributed applications but also for their management: The notation for the definition of application objects and their associated management objects remains the same (namely OMG IDL); in addition, the access to operational and management data is also handled through the same communication mechanism, the ORB. Consequently, management becomes an integral part of distributed applications. As a consequence, the development of management software benefits from the broad spectrum of software development tools available on the market because operational and management functionality are modeled and implemented the same way. Furthermore, studies comparing the information models of the OSI/TMN and Internet management architectures with the OMG object model (e.g. [12]) reveal the suitability of CORBA for the management of end systems and distributed applications.
Despite these advantages, native CORBA-based management agents are still hard to find on the market while SNMP agents are widely used. In order to obtain CORBA-compliant management agents from existing SNMP implementations without the need of rewriting the already existing agent code, it is necessary to provide a smooth transition path. This paper will present a novel approach to this problem: it allows the migration of modular SNMP agent implementations into a CORBA environment. Such a CORBA-compliant management agent consists of multiple distributed cooperative managed objects interacting with the managing system via an ORB. The transformation process will be described and demonstrated on a concrete example, namely an agent for the management of UNIX workstations which has been developed by our research group. Furthermore, it is described how the amount of work for the transformation process can be limited through the use of standardized translation algorithms and development tools available on the market.
The structure of the paper is as follows: Section 2 describes the properties of the SNMP agent for UNIX-workstations which serves as a starting point for the transformation. The JIDM algorithm (which has recently been standardized by the Open Group and the NM Forum) for the translation of Internet MIBs into OMG IDL object descriptions is also treated because our approach relies on it. The translation of the SNMP MIB into IDL object descriptions yields an object model which obviously needs to be enhanced. The reasons and the tools which have used for the re-engineering of the agent will be described in section 3. During this phase, it is particularly important to have the opportunity of using CASE-tools supporting the cyclic process of analysis and design; it is then also possible to introduce new requirements into the object model. After this optimized object model has been established it is necessary to transform it into CORBA-compliant object interface descriptions; they form the base of the implementation which will be sketched out in section 4. Section 5 concludes the paper and gives an overview of further steps.
Our novel transformation approach has also been successfully applied to other problem domains such as the design of CORBA-based management agents for ATM switches in a joint cooperation project with a major industrial partner. Another field of application was the provisioning of CORBA-based management of the CICS TP monitor (see [8]).