Warning: include_once(/var/www/html/pmwiki-2.2.86/cookbook/soap4pmwiki/soap4pmwiki.php): failed to open stream: No such file or directory in /var/www/html/fields/dbp13/local/config.php on line 4

Warning: include_once(): Failed opening '/var/www/html/pmwiki-2.2.86/cookbook/soap4pmwiki/soap4pmwiki.php' for inclusion (include_path='.:/opt/php/lib/php') in /var/www/html/fields/dbp13/local/config.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/fields/dbp13/local/config.php:4) in /var/www/html/pmwiki-2.2.86/pmwiki.php on line 1250
Datenbankpraktikum SS 2013 - Datenvisualisierung - Kommunikation

Kommunikation mit dem Backend

Dominik Lips

Die Kommunikation mit dem Backend erfolgt über XMLHTTPRequest die vom Browser an den Server geschickt werden. Ein beispielhafter Ablauf sieht wie folgt aus (die Beschriftungen über den Pfeilen sind die wichtigen Ausschnitte aus dem HTTP-Protokoll):

Zeitlicher Ablauf der XMLHTTPRequest zum Server

Zuerst wird ein POST-Request zum Server geschickt der im messagebody die Parameter der zu erstellenden Suche enthält. Wurde das Suchobjekt erfolgreich erstellt, antwortet der Server mit dem Statuscode 201 und im Location-Header befindet sich die URL des neuangelegt Objektes. Dieser Request erfolg synchron. Das bedeutet das der Programmfluss im Client stoppt bis die Antwort des Server zurückgekommen ist. Dies ist nötig, da für den nächsten Schritt, das Abfragen der Daten, die zurückgelieferte URL bekannt sein muss. Anschließend kann mit dem Laden der Daten für die Diagramme begonnen werden. Dazu werden drei XMLHTTPRequest parallel und asynchron abgeschickt. Sie enthalten jeweils im Querystring der URL einen Parameter der die gewünschte Representation (Highcharts, GoogleMaps, GoogleGlobe) angibt. In den Antworten vom Server stehen jeweils im messagebody die angeforderten Daten im JSON-Format. Ist eine der Antworten vom Server angekommen, wird jeweils eine Callback-Funktion ausgeführt welche die Daten im Model ablegt. Das parsen der JSON-Zeichenkette wird automatisch von jQuery übernommen, da zum Abschicken der XMLHTTPRequest die Methode $.getJSON() verwendet wird.


Page last modified on August 23, 2013, at 07:01 PM