Auf Kommando
Der Request, um das DSL-Modem einzuschalten, heißt dann zum Beispiel:
/cgi-bin/myx10.cgi?device=dslmodem&action=on
An der später asynchron eintreffenden Antwort interessiert eigentlich nur der HTTP-Statuscode. Ist er »200 (OK)«, dann springt der Browser die Routine »handleSuccess()« im Javascript-Code an, löscht zunächst die Statuszeile und weist anschließend mit Hilfe der Funktion »update_button()« dem Button die entsprechende Farbe zu, die Zustandsänderung wurde offenbar ordnungsgemäß durchgeführt.
Auf eine Status-Abfrage mit »action= status«, antwortet der Server entweder mit »on« oder »off«. Das Newline-Zeichen, das der Antwort anhängt, entfernt der Javascript-Code, bevor »update_button()« den Auftrag zur Button-Aktualisierung erhält.
Tritt beim asynchronen Request ein Fehler auf, kommt die Funktion »handleFailure()« zum Zuge. Dort stehen Statuscode und eine lesbare Fehlermeldung bereit, mit denen die Statuszeile auf den Fehler aufmerksam macht.
Fehler passieren
Diese Logik implementiert das in »myx10.js« definierte Callback-Objekt. Außer den beiden Ansprungspunkten im Fehler- und im Erfolgsfall lassen sich auch Argumente definieren, die diese Funktionen am Ende eines Requests erhalten. Die Zeilen
callback.argument.device = device;
callback.argument.cmd = action;
setzen das Kürzel des gerade modifizierten Geräts (bequemerweise auch die ID des zugehörigen Buttons) und das zu sendende Kommando. So weiß »handleSuccess()« später genau, zu welchem der vielen asynchron abgeschickten Requests die gerade eingetrudelte Antwort eigentlich gehört.
Beim ersten Laden der Seite ist nämlich schnell ein halbes Dutzend Ajax-Zugriffe gleichzeitig unterwegs, bis sämtliche Knöpfe nach und nach an den auf dem Server vermuteten Gerätezustand angepasst sind. Und auch der Benutzer kann durch schnelles Klicken mehrere Requests fast gleichzeitig auslösen. Der Connection-Manager macht es einfach, Ordnung zu halten und eine eintreffende Antwort nach der anderen abzuarbeiten, ohne die Requests dabei miteinander zu verquirlen.
Da das Server-seitige X10-Kommando einige Sekunden zum Ablaufen benötigt, bleibt ein Button nach dem Anklicken typischerweise eine kurze Zeit farblos. Schön an asynchronen Requests ist, dass die Oberfläche weiter bedienbar bleibt und der Benutzer zum Beispiel problemlos andere Knöpfe betätigen kann. Der Connection-Manager bearbeitet so beliebig viele Verbindungen zugleich.
| Whitepaper |
|
Daten Migration - Eine Publikation von Bloor Research
Datenmigrationsprojekte überschreiten häufig das Budget, neigen zu Verzögerung und werden unter Umständen komplett abgebrochen. Bloor Research ist eines der weltweit führenden IT-Forschungs-, Analyse- und Beratungsunternehmen und wird in dem vorliegenden White Paper die wichtigsten Aspekte dieser Problematik näher beleuchten. Ferner werden praktische Empfehlungen für erfolgreiche Migrationsprojekte gegeben, die Sie auf Ihr nächstes Projekt übertragen können.
Download PDF (Registrierung erforderlich)
|
|
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele
Über die letzten Jahre hinweg haben sich Open Source Lösungen als fester Bestandteil des gesamten Datenintegrationsmarktes etabliert. Viele Unternehmen haben bereits das Open Source Modell für Ihre Datenintegrationsprojekte aufgegriffen. Das vorliegende White Paper illustriert anhand ausgewählter Fallstudien und Anwendungsbeispiele die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|