Bindung des Netscape Application Servers an CORBA 

Home > Deutsch > Ressourcen > NAS und CORBA > kapitel_15
(C) Christian R. Ey
last modified:
Sun Jan 20 20:40:27 GMT+01:00 2002
-- Impressum / Contact --

Zurück Weiter


Design einer CORBA Extension

Extensions stellen eine weitere Schicht zwischen AppLogics und dem entfernten Programm (in unserem Fall ein CORBA Server) dar, sie leiten also Aufrufe vom AppLogic an das entfernte Programm weiter. Andererseits sind die CORBA-Proxies auf der Client-Seite ursprünglich für diese Aufgabe verantwortlich. Um nun beide Technologien zu verbinden, müssen die Extensions die CORBA Aufrufe von den AppLogics an die CORBA-Proxies weiterleiten. Daher müssen wir die beiden Arten von Klassen auf eine sinnvolle Art und Weise miteinander verbinden. Grafik 8 zeigt verschiedene Möglichkeiten, zwei Objekte miteinander zu verknüpfen.


Grafik 8: Verknüpfen des Extension Objektes CBank mit dem BankProxy (Quelle: Schmauch)

Von den beiden Möglichkeiten Vererbung und Delegierung wählten wir die zweite. Um die Extension Objekte zu verwalten, können wir das Object-Pooling von NAS verwenden oder die Managerklasse der Extensions diese Aufgabe übernehmen lassen. Das Object-Pooling eignet sich am Besten zur Verwaltung von wenigen, aufwendigen Objekten, die nur unter hohem Aufwand erzeugt und/oder zerstört werden können, z.B. bei Verbindungen zu Datenbanken.

Wir betrachten CORBA-Proxies jedoch als einfach zu erzeugende und zu löschende, und als in großer Anzahl vorhandene Objekte; daher erscheint uns das Verwenden der Managerklasse als angebracht.

Das funktioniert folgendermaßen: Ein AppLogic bindet sich zu Beginn an die Managerklasse der Extension, in unserem Fall der BankManager, kann sich mit ihrer Hilfe an den CORBA Server binden und erhält von dieser Klasse alle benötigten CAccount und CBank (Extension-)Objekte. Also befinden sich im Bankmanager neben der Methode zum Binden an den Bank Server auch die Verwaltung der Objektreferenzen, die zuvor von den AppLogics selbst in der Session vorgenommen wurde. Hierzu verwendet die Managerklasse entweder das Session Objekt oder nicht, in Abhängigkeit vom Design des Applikation Servers: Existiert nur ein Application Server Prozeß, kann auf das Verwenden der Session-Verwaltung verzichtet werden. Sobald es sich um mehrere Application Server Prozesse handelt, verwenden wir die Session in der Extension Managerklasse, um die Daten für alle Prozesse abrufbar zu machen. Das Session Management des NAS sorgt dann für das Verbreiten der Daten unter allen Prozessen.


Zurück Weiter, Autor: Christian Ey, http://www.inweb.de/chetan