www.wikidata.de-de.nina.az
Der POA Portable Object Adapter wurde erstmals in der CORBA Spezifikation 2 2 spezifiziert und ist der Nachfolger des Basic Object Adapter BOA Der Adapter kontrolliert im Server Aufrufanforderungen Aufrufe an Objekte und leitet diese an die Implementierung weiter Damit wird eine Trennung des CORBA Objekts als Schnittstelle zu der gewunschten Funktionalitat von der tatsachlichen Implementierung erreicht Fur die Implementierung wurde der Begriff Servant eingefuhrt Die Trennung zwischen Objekt und Implementierung erlaubt eine sehr feine Steuerung des Zugriffs auf der Serverseite die fur den Client Aufrufer vollig unsichtbar ist POA im Corba Kontext Inhaltsverzeichnis 1 Aufgaben 2 Eigenschaften 3 Anwendung 4 WeblinksAufgaben BearbeitenInstanziierung der Serverobjekte Servants nach Bedarf uber Servant Manager Verbinden der Servants mit Objektreferenzen Active Object Map Generierung und Interpretation von Objektreferenzen Weiterleiten von Anfragen an die passenden Servants Aktivieren Deaktivieren der ServantsEigenschaften BearbeitenPOA bilden einen Baum mit dem RootPOA als Wurzel Der RootPOA ist der einzige POA der nach der Initialisierung des ORB vorhanden ist Hier ein Beispiel in Java zur Beschaffung des RootPOA org omg CORBA ORB orb org omg CORBA ORB init new String 0 new Properties org omg CORBA Object obj orb resolve initial references RootPOA org omg PortableServer POA poa org omg PortableServer POAHelper narrow obj Jeder POA bietet Methoden zur Erzeugung neuer POA Instanzen die dann Kinder dieses POA werden Jeder POA pflegt eine Active Object Map in der die Objekte mit ihrem zugehorigen Servant eingetragen werden Jedes Objekt kann genau einmal in der Map eingetragen aktiviert sein Die Motivation zur Erzeugung neuer POA liegt in der Vielzahl unterschiedlicher Policies die einem POA bei der Erzeugung mitgegeben werden konnen Die Policies des RootPOA passen nicht immer fur den konkreten Anwendungsfall Parallel zu den POA existieren POA Manager POA Manager konnen die ihnen zugeordneten POA in verschiedene Zustande active hold discard versetzen und damit Aufrufe an die POA passieren speichern oder verwerfen lassen Es gibt mindestens einen POA Manager der des RootPOA und nie mehr Manager als POAs Bei der Erzeugung eines neuen POA kann ein existierender POA Manager mitgegeben werden oder auch ein neuer erzeugt werden Anwendung BearbeitenMussen schwergewichtige Objekte erzeugt werden wird die Erzeugung dieser Objekte vom Servant Manager ubernommen der die Objekte erst dann erzeugt wenn tatsachlich ein Aufruf erfolgt Damit lasst sich der Start eines Servers beschleunigen Mussen sehr viele Objekte erzeugt werden bietet sich ein einziger Servant default servant an der alle Anfragen beantwortet Dieser Ansatz ist aus Flyweight bekannt Ebenso gibt es die Moglichkeit einen Servant Locator zu verwenden der fur jeden Aufruf einen neuen Servant erzeugt In beiden Fallen ist ein Eintrag in die Active Object Map nicht notwendig Sprengt die Anzahl der Serverobjekte die Ressourcen des Servers kann dieser die Servants aktivieren deaktivieren und die notwendigen Daten in einem externen Speichermedium Datenbank Datei ablegen Der Servant Manager wurde dann die Objekte erneut erzeugen falls benotigt Mussen Objektreferenzen uber einen langeren Zeitraum Monate gultig sein wird ein POA benotigt der solche Referenzen ausgibt die auch einen Neustart uberleben Lifecycle Policy Weblinks BearbeitenFAQ zu POA und CO OMG Spec The Portable Object Adapter PDF Datei 578 kB CORBA Programming with J2SE 1 4 Abgerufen von https de wikipedia org w index php title Portable Object Adapter amp oldid 152762972