Zur Erzeugung neuer Agent-Object-Instanzen bedient sich ein MO der Agent Object Factory. Hierbei handelt es sich, analog zur MO Factory auf dem MO Server, um einen Prozeß, der beim Hochfahren des JMAPI-Systems auf den jeweiligen Appliances gestartet wird. Die Agent Object Factory bietet die Methoden newAgentObj und newNamedAgentObj für das Anlegen entsprechender Agent-Object-Instanzen an.
Im allgemeinen wird es nicht immer möglich sein, sämtliche auf den Agenten durchzuführenden Operationen vollständig in Java zu implementieren. Mittels des Java Native Interface (JNI) können jedoch einzelne Methoden der Agent Objects als native methods in einer anderen Programmiersprache implementiert werden. Der entsprechende Code wird in Shared Libraries zusammengefaßt, die dann vom Agent Object mittels des im folgenden erläuterten Library Loaders bei Bedarf geladen und auf dem Agenten gespeichert werden (siehe Abbildung 6.1). Durch Verwendung von native methods wird allerdings in den sonst plattformunabhängigen Code des Java-Agenten eine Abhängigkeit von Hardware- und Betriebssystemgegebenheiten induziert. Um dennoch die Möglichkeit zu haben, plattformunabhängige Agenten einzusetzen, stellt das JMAPI Native Library Loading Interface einen Mechanismus zur Verfügung, der das automatische Laden der richtigen Bibliothek vom Managed Object Server ermöglicht (vgl. [Sun97c], [Sun97g]). Bei der Konfiguration des Agenten mit Hilfe der JMAPI-Properties-Datei (vgl. Abschnitt 9.1 und Anhang D) wird das Verzeichnis auf dem Server angegeben, von dem aus Bibliotheken für den jeweiligen Agenten zu laden sind. Hierdurch können Betriebssystemversion und Hardware-Architektur des Agenten berücksichtigt werden. Wie bereits erwähnt, werden vom Server geladene Bibliotheken auf dem Agenten für evtl. weitere Verwendung lokal gespeichert. Um sicherzustellen, daß die vom Agenten gecachete Bibliotheksversion auch der aktuellsten Version auf dem Server entspricht, werden vom JMAPI Native Library Loading Interface intern Versionsnummern verwaltet.
Der Ladevorgang läuft im einzelnen wie folgt ab ([Sun97g], [Sun97c]):
Bei der Installation einer neuer Bibliotheksversion auf dem Server wird die dort verwaltete aktuellste Versionsnummer entsprechend angepaßt.
Mit dem oben beschriebenen Mechanismus wird sichergestellt, daß die Agenten immer über die jeweils neueste Version verfügen. Ein Versions-Update ist nur auf dem Server vorzunehmen. Die Agenten ziehen die notwendigen Änderungen automatisch nach.