World Wide Web 2.0
in HTML, PHP, Web | Tags: Ajax, Apache, CSS, HTML, Intranet, JavaScript, PHP, Web, Web 2.0Also ich bin ja bekannt dafür, nicht viel von Web 2.0 zu halten.
Umso erstaunlicher, dass ich selbst seit einigen Tagen an einer Web 2.0 Seite im Intranet unserer Firma bastle. Und ich muss zugeben, Web 2.0 hat etwas.
Am erfreulichsten fand ich die Tatsache, dass man keinen Installationsaufwand hat. Man braucht weder Servlet-Container, Apache-Module noch irgendwelche anderen Erweiterungen auf dem Server, sondern alles läuft auf der Programmier-Ebene ab. Zumindest die technische Seite von Web 2.0 kann auf folgenden Satz reduzieren: Man instanziiert eine Javascript-Klasse namens XMLHttpRequest, führt über die Methoden open() und send() einen asynchronen Request aus und verarbeitet dessen Response auf der bestehenden Seite. That’s it.
Klar, neben dem Request ist vor allem der JS-Code das schwierigste, um den per Response erhaltenen Content ordentlich auf der bestehenden Seite einzubauen. Hier bin ich bisher komplett ohne XML oder XSLT gefahren (also AJ statt AJAX), habe den Response in Stino-HTML erzeugt und einfach in ein dafür angelegtes Seiten-Element als innerHTML reingeworfen. Im Response eingebaut war dann auch schon der Code, um diesen per JS-Aufrufe weiter an andere Elemente zu verteilen. Mit etwas Nachdenken kann man hier mit ein, zwei Übergabeparametern (Element-ID’s, Präfixe) wunderbar generisch arbeiten, so dass sowohl die erstellte Request-Technologie als auch der Management-Code ausgelagert und für mehr als nur eine Seite nutzbar gemacht werden können.
Man kann also ganz klein und leicht beginnen, sich ein paar generische Abfragen und eine JS-Skript-Datei erstellen und schon hat man neue, interessante Werkzeuge, die man sogar noch ganz leicht in bestehende Seiten einbauen kann. Damit das ganze flüssig läuft, habe ich die Indizes unserer Tabellen auf die Abfragen hin ergänzt. Der Faktor der Beschleunigung betrug etwa 2 bis 3! Die schnellen Abfragen ohne JOIN machen dann auch richtig Spaß – es flutscht einfach mal. 🙂
Der einizige Nachteil ist natürlich: Der Anwender braucht Javascript! Und der Browser muss auch noch der Site vertrauen. IE7-Nutzer müssen die Seite also evtl. explizit eintragen. Daneben braucht der Nutzer evtl. noch Session-Cookies, damit man mit PHP auch noch die Ergebnise bequem weiterverarbeiten kann, ohne sich die Finger wund zu coden. Im firmeneigenen Intranet ist das alles weniger kritisch, hier kann man die Anforderungen selbst abschätzen/austesten, definieren und für alle verbindlich umsetzen.
Als nächstes gehts weiter mit der Praxistauglichkeit. Wie skaliert das ganze, wenn es auf einem stark frequentiertem Server läuft? Wie stark sind die Latenzen des Netzes? Sollte sich herausstellen, dass flüssiges Arbeiten möglich ist, eröffneten sich uns dadurch ganz neue Möglichkeiten, vor allem bei der Einbindung externer Partner.
Also schnell weiter machen…Tschüß!
Leave a Reply