Bestimmt ist fast jeder schon mal über iGoogle gestolpert, eine personalisierte Google-Startseite. Und wer sagt schon immer zu Sudoku oder Pacman nein?! Und schwubbs schon ist iGoogle wirklich die Startseite geworden, oder noch besser – man installiert gleich Google Desktop, dann muss man nicht einmal den Browser öffnen und kann alle seine Dokumente gleich mit durchsuchen lassen…
Aber – schon mal dran gedacht was Google alles so speichert?! Schließlich ist meine schöne Startseite weg, wenn ich meine Cookies lösche und mich nicht bei Google anmelde. Und schon mal dran gedacht, das jeder Aufruf eines Google-Servers mit einem Cookie jeden Nutzer zumindest ein Stückchen identifiziert? – So viel zur Einleitung.
Google stellt jedoch keine schlechten Produkte her – und könnte man Google trauen wäre die Internetwelt auch viel schöner. Mit Google Gadgets haben JavaScript-Könner wieder mal gezeigt was man alles so machen kann. Kleine nützliche Anwendungen die mir meine Lieblingsfeeds, Wetter, Youtube-Videos, Aktienkurs, … und nicht zu vergessen Spiele nicht nur auf meine Google-Startseite, sondern auf jede Webseite bringen reizen wohl alle Nutzer. Auch toll das Google an die vielen Webmaster gedacht hat – nur war es wahrscheinlich nicht ganz uneigennützig.
Doch gehen wir etwas in die Tiefe: Gadgets nur JavaScript und HTML in einem XML-Dokument installationsfertig verpackt. Alle Features kommen erst durch die Nutzung der JavaScript API von Google (einer muss ja zeigen, wie man so etwas programmiert). Gerade erst Features wie persistentes Speichern von Einstellungen, Einbinden von Flash und Tabs, Nachladen von Inhalten, Internationalisierungsmöglichkeiten und natürlich die Auswertung per Google Analytics machen das ganze zu einem tollen Konzept. Aber gerade die bei Analytics verfügbaren Daten lassen wieder fragen: Zu welchem Preis?! Und wer weiß was schon allein durch Auswerten von Cookies etc ans Tageslicht kommt?
Für weitere Informationen diese Folien empfohlen. Ach ja, Gadgets bieten die Grundlage für OpenSocial – quasi sozialisierte Gadgets.
JSON ist eher eine spezielle Notation, die Objekte in ein schlankeres Dateiformat als XML speichern lässt. JSON steht für JavaScript Object Notation und bildet damit, wie der Name schon sagt, JavaScript Objekte in einfach lesbarer Textform, als String, ab. Möchte man die Daten als JavaScript Objekt zur Verfügung stehen haben, wertet man den Text mittels eval(”(”+string+”)”) aus und erhält damit das gewünschte Objekt. Doch JSON ist nicht nur für JavaScript gedacht – es gibt für Zahlreiche Programmiersprachen Portierungen. Damit ist es möglich JSON auch als Austauschformat zwischen Dienstenund Programmiersprachen zu verwenden.
Für alles weitere sei http://json.org/ empfohlen. Außerdem, wie auch schon REST, ist JSON sehr stark in den aktuellen APIs vieler Webservices verbreitet.
Es ist immer schön, wenn Konzepte einfach und leicht verständlich sein. Manchmal müssen Sie das auch erst wieder werden. Gerade beim Internet ist beides der Fall. Einerseits funktioniert alles nach dem Frage bzw. Befehl – Antwort – Prinzip. Ich frage oder sage dem Server etwas und er antwortet mir was er nun mit den gesendeten Daten gemacht hat. Um das ganze zu veranschaulichen eignet sich der Firebug hervorragend. Doch gibt es auch komplexere (zum Teil proprietäre) Lösungen, die auch Ihre Berechtigung haben (Email, Torrent, …).
Doch nun wieder zum einfachen: für REST (auch RESTful) benötigen wir HTTP, URI und vier (bzw. sechs) simple Befehle:
Mit den wichtigsten Befehlen – GET, POST, PUT und DELETE, die wir schon vom HTTP kennen, kann man einen kompletten Webservice betreiben. Das besondere dabei ist, dass die jeweiligen Ressourcen nur über URIs gesteuert werden. Der Server kennt keine Zustände sondern reagiert nur auf die jeweiligen Befehle. Was der Server bei Aufruf einer Ressource tatsächlich ausgibt bzw. was verarbeitet wird ist nebensächlich. Antworten müssen nur entsprechend ausgewertet werden… Einfach, oder?
P.S. Die meisten Webservices (Flickr, Google Search, My Video, Yahoo Maps, …) stellen auch eine REST API zur Verfügung.
is only in german for now. I thought about change to english, but i'm running out of time (maybe later).
Computer, Internet sind kompliziert - meist zu kompliziert. Vielleicht ist es ja möglich einiges einfacher zu machen. Hier sollen neue Ideen angedacht werden, aber auch bestehendes genauer angeschaut. Viel wird sich um Internet-Phänomen drehen, aber auch sonst gibt es gibt es viel zu verändern.