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/dbp09/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/dbp09/local/config.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/fields/dbp09/local/config.php:4) in /var/www/html/pmwiki-2.2.86/pmwiki.php on line 1250
Datenbankpraktikum SS 2009 - Gruppe 1 - Xml-LOGIN

Aufruf einer XML-Datei am Beispiel des Einloggens

Einführung

Zu Beginn des Praktikums entwarfen die Gruppen Web-Frontend, Backend und iPhone-Backend Schnittstelle zusammen das Spielkonzept, auf dem die darauffolgenden Implementationen aufbauten. Um allen Teilnehmern des Praktikums diese Regeln bereitzustellen, haben wir sie unter folgendem Link: http://media2mult.uni-osnabrueck.de/pmwiki/fields/dbp09/index.php?n=Gruppe1.Regeln zusammengefasst.

Die nachfolgende Übersicht zeigt das Zusammenspiel zwischen dem iPhone-Frontend und dem Backend:

Die Arbeitsweise während des Praktikums hatte folgenden Ablauf: Das iPhone-Frontend fragte nach XML-Dateien, um für ihre View gewisse Komponenten darzustellen. Um ihnen diese liefern zu können, war es nötig, mit dem Backend zu kommunizieren, um zu erfahren, welche Model- und Controllerklassen zur Verfügung stehen. Darauf aufbauend entwarfen wir unsere Controller, die Templates aufrufen, welche den XML-Code an das iPhone zurückgeben.

Um uns mit Ruby in Kombination mit XML vertraut zu machen, haben wir uns in Bücher und Dokumentationen eingelesen, woraufhin ein erstes einfaches Template und der dazugehörige Controller entstanden. Mit Aufruf der URL:
http://server:port/user_sessions/create.xml?user_session[login]=loginname&user_session[password]=passwort&user_session[remember_me]=1
kann man sich vom iPhone aus in das Spiel einloggen und erhält folgende XML-Datei:


<?xml version="1.0"?>
 <success text = "YES">
	</success>

bzw. bei Misserfolg des Einloggens:

<?xml version="1.0"?>
 <failure text = "NO">
	</failure>

Aufbau und Ablauf eines Aufrufs

In der oben angegebenen URL beschreibt "user_sessions" den Namen des Controllers(UserSessionsController) und "create.xml" die Action, die für den Aufruf des Templates sorgt. Die Endung ".xml" ist hierbei erforderlich, weil in der Action zwischen einer Anfrage des iPhones, welches ein XML-Format geliefert bekommen muss, und einer Anfrage, die html verarbeitet, unterschieden wird. Die Unterscheidungen geschehen dabei auf folgende Weise:

respond_to do |format|
 format.html do
   #Webfrontend generiert passende Ausgabe
 end
 
 format.xml do
   render :template => 'Pfad zur Template-Datei im view-Ordner'
 end
end


Page last modified on August 22, 2009, at 11:49 AM