The data for the above described relationship model is provided by a task that discovers all the CORBA resources and creates entries for them in the management platform database. This discovery task is based on the NetView Generalized Topology Manager (GTM) component, which includes an API and a set of abstract data objects.
In order to enable the implementation of a purely CORBA-based discovery application we wrapped the GTM API in a set of CORBA interfaces. From the point of view of a client, the instances of these classes can be treated like any other CORBA object and are used to create entries in the NetView database. To create a model of the CORBA resources, the discovery application provides the following information:
The object references are needed to determine the relationships between the services and the connections. Object references are represented by proxy objects inside a SOMObjects process. A proxy is an object inside a client's address space that forwards all local method calls to the corresponding target object on the server. In order to determine the server relationships it must be known what proxy objects exist inside a server and on which servers the target objects of the proxies reside. The information about a proxy's target is contained in the stringified object reference corresponding to both the proxy and its target. The calls and the services that run on them are discovered by accessing the CORBA Implementation Repository. A subclass of the SOMObjects server object acts as a registry for all the objects and the proxies inside the server. In addition to the already mentioned role of the server object in method dispatching, it also offers functions to create and delete objects inside the server (Like the factory objects from the CORBA lifecycle service). By subclassing from SOMDServer and overriding the appropriate methods we achieved that the creation and deletion of objects is registered and that the information about objects and proxies inside the server can be obtained by clients. Other potential information sources with valuable information to a discovery application are naming services for discovering registered objects and trader services for discovering registered services.