29.10.2013 Aufrufe

Schriftliche Ausarbeitung - Alexander Willner | Masterarbeit

Schriftliche Ausarbeitung - Alexander Willner | Masterarbeit

Schriftliche Ausarbeitung - Alexander Willner | Masterarbeit

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!