Schriftliche Ausarbeitung - Alexander Willner | Masterarbeit
Schriftliche Ausarbeitung - Alexander Willner | Masterarbeit
Schriftliche Ausarbeitung - Alexander Willner | Masterarbeit
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Paket−Übersicht: model<br />
GridResource<br />
> + GridResource ():GridResource<br />
+ setClassUri (classType :URI):void<br />
+ getClassUri ():URI<br />
+ setDescription (text :String ):void<br />
+ getDescription ():String<br />
+ setName (text :String ):void<br />
+ getName ():String<br />
+ getDbName ():String<br />
+ getDbPrefix ():String<br />
+ setUri (text :URI):void<br />
+ getUri ():URI<br />
+ addSimpleProperty (property :GridResourceSimpleProperty ):void<br />
+ getSimpleProperty (propertyName :String ):GridResourceSimpleProperty<br />
+ getSimpleProperties ():Collection<br />
+ addResource (resource :URI):void<br />
+ getResources ():Collection<br />
+ toString ():String<br />
+ clear ():void<br />
+ getNode ():Node<br />
+ setNode (xmlNode :Node ):void<br />
product<br />
<br />
><br />
> −GridResourceFactory ():anonym<br />
+ getGridResources (document :Document ):List<br />
Builder−Pattern<br />
builder<br />
4. Design<br />
GridResourceSimpleProperty<br />
> + GridResourceSimpleProperty ():GridResourceSimpleProperty<br />
+ getName ():String<br />
+ setName (string :String ):void<br />
+ getType ():String<br />
+ setType (string :String ):void<br />
+ getUnit ():String<br />
+ setUnit (string :String ):void<br />
+ getValue ():String<br />
+ setValue (string :String ):void<br />
+ toString ():String<br />
+ clear ():void<br />
XmlDB<br />
> + XmlDB():XmlDB<br />
> + XmlDB(driver :String ,uri :URI):XmlDB<br />
+ query (query :String ):Document<br />
+ update (query :String ):long<br />
+ storeGridResource (resource :GridResource ):void<br />
+ createCollection (name :String ):Collection<br />
+ removeCollection (name :String ):void<br />
+ removeFile (name :String ):void<br />
+ listFiles ():String[]<br />
+ selectCollection (collectionName :String ):void<br />
+ updateRessources (currentResources :List ):void<br />
+ formatXML (xml :String ):String<br />
+ transformXML (inout document :Document ,stylesheet :String ):Document<br />
+ readXML(filename :String ):String<br />
Abbildung 4.3.: UML-Paketdiagramm: org.instantgrid.grdb.model<br />
4.4.2. Paket: org.instantgrid.grdb.daemon<br />
Das Paket org.instantgrid.grdb.daemon (s. Abb. 4.4) beinhaltet den GRDB-Daemon,<br />
GRDB-IP-Konnektoren und alle in diesem Zusammenhang notwendigen Schnittstellenbeschreibungen.<br />
Die Schnittstelle zur Steuerung des GRDB-Daemons ist in dem Interface<br />
GrdbDaemonInterface definiert. Das Aktualisierungsintervall und der Treiber für den Information-Provider<br />
kann gesetzt und ausgelesen werden und die Einleitung einer sofortigen<br />
Aktualisierung ist möglich. Des Weiteren können über die Schnittstelle direkt Daten<br />
aus der Datenbank abgefragt werden.<br />
Die Registrierung externer Systeme in den Aktualisierungsprozess wird über das „Beobachter-Entwurfsmuster“<br />
und die Schnittstelle GrdbDaemonListener (/I30/) implementiert.<br />
Erhält der GRDB-Daemon neue Daten vom Information-Provider, werden alle eingetragenen<br />
Klassen über den Aufruf update() informiert. Zur einfachen Erweiterung des Systems<br />
durch neue Konnektoren/Treiber für Information-Provider wird das „Adapter-Entwurfsmuster“<br />
genutzt. Die Treiberklassen müssen lediglich die abstrakte Klasse AbstractGrdb-<br />
Connector (/I40/) erweitern, die Funktion update() implementieren und die Daten in das<br />
D-GRDL-Format überführen.<br />
42