Rework:Protokolle:22-06-2005

From Wiki

Jump to: navigation, search

Contents

Allgemeines

Protokoll der Sitzung vom 09. Juni 2005

  • Sitzungsleitung: Marc
  • Protokollführer: Andreas

Zeit und Ort:

  • Raum: LF 230
  • Beginn: 14:20 Uhr
  • Ende: 16:15 Uhr

Anwesenheit:

  • Betreuer: Henrik
  • Teilnehmer: Marc, Andreas

Nächste Sitzung:

  • Dienstag, den 05. Juli 2005
  • bei Problemen, Fragen oder Ungereimtheiten sind weitere Treffen möglich. In diesem Falle bitte per Email anfragen.

Sitzung

Daffodil-Vortrag

Peter hält einen Vortrag zur Struktur von Daffodil.

Zusammenfassung:

  • Kommunikation in Daffodil:
    • Daffodil arbeitet mit Asynchroner Kommunikation.
    • Auf der Frontend-Seite stehen die GUI und die PLib.
    • Im Backend stehen die Services mit Agenten und dazugehörigen Requests.
    • Die Kommunikation zwischen Front- und Backend geschieht lediglich über Strings in denen XML-Daten stehen, die ihrerseits OWL-Formate einhüllen.
    • Eine Nachricht zwischen Frontend und Backend beinhaltet folgende Punkte:
      • Befehl, der ausgeführt werden soll (z.B. store.Annotation)
      • den Inhalt im XML-Format
      • eine RequestID (sehr wichtig zur Identifizierung, kann jederzeit mit GetRequestID angefordert werden)
      • Art der Nachricht (z.B. TELL für void-Methoden oder ASK für Anfragen)
      • Benötigte Sourcen: PaddleGUIFunctionality.java; Message.java
    • Ein Agent leitet die Anfrage dann an den entsprechenden Request weiter
    • Eine Antwort vom Backend ans Frontend wird an alle Dienste geleitet, die sich dafür angemeldet haben. Da diese Dienste XML-Daten erwarten, sollten wir zunächst eine eigene Klasse für Messages schreiben, um die Ausgabe fehlerhafter Nachrichten zu vermeiden.
    • Die Wrapper leiten Anfragen an externe Suchmaschinen weiter und empfangen deren Antworten. Die Formate werden jeweils umgewandelt und somit die Heterogenität aufgehoben.
  • Einen neuen Agenten erstellen
    • Kopiere AliveAgent.java, dieser erbt von RunableAgent
    • Der Request muss neu geschrieben werden. Jeder Request öffnet einen eigenen Thread, deswegen muss er durch KillRequest nach Beendigung der Arbeit explizit gelöscht werden.
    • Benötigte Sourcen sind /paddle/folderserver; FolderServerAgentRequest.java;
    • wichtige Methoden: getServiceName; getNewRequest
  • Einen neuen Service integrieren:
  1. Methoden implementieren
  2. Nachrichten definieren
  3. PLib Fallunterscheidungsmethode implementieren
  4. Service aufsetzen (macht dann Peter)
  • Starten und Stoppen von Services unter http: //daffodil:3456/Agents/ (benötigt Administratorrechte)

Präsentation der vorläufigen GUI

Andreas führt die vorläufigen Dialoge sowie eine Neufassung des JCheckBoxTree vor.

  • Absprache: Marc liefert die Ontologie aus dem Backend ins Frontend und von dort als Baumobjekt an die GUI. Explizit reicht dazu eine Übergabe des Wurzelknotens.
  • Annotationsicons aus Daffodil einbinden
  • JTree nutzen für Annotationen, Dokumente und Topics

Meilensteine

Besprechung der Meilensteine

Aufträge

  • alle: Fertigstellen des ersten Meilensteins.


Ausblick

  • Am Dienstag, den 05.07.05 wird es voraussichtlich eine Präsentation des ersten Meilensteins geben.
Personal tools