Kapitel WT:VI. VI. Architekturen und Middleware-Technologien



Ähnliche Dokumente
Kapitel WT:VI. VI. Architekturen und Middleware-Technologien

Kapitel WT:VI. VI. Architekturen und Middleware-Technologien

Kapitel WT:VI (Fortsetzung)

Datenbanksysteme SS 2007

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

Workflow, Business Process Management, 4.Teil

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Architekturen. DB-Anwendungen: Aufgaben. Aufteilung der Funktionen. ƒ Datenbankanwendungen

Datenbank-basierte Webserver

Online-Publishing mit HTML und CSS für Einsteigerinnen

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Java - Webapplikationen

AJAX Implementierung mit Joomla!

RESTful Web. Representational State Transfer

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Softwareentwicklung mit Enterprise JAVA Beans

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

Herzlich willkommen im Modul Web-Engineering

Diplomarbeit: GOMMA: Eine Plattform zur flexiblen Verwaltung und Analyse von Ontologie Mappings in der Bio-/Medizininformatik

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung

Abschlussarbeiten für StudentInnen

SAP NetWeaver Gateway. 2013

Web Sockets mit HTML5. Quelle:

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

Securing SOAP e-services

Server-centric vs. Client-centric Web Applications. BITKOM Software Summit 2014, Frankfurt

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

HANDBUCH LSM GRUNDLAGEN LSM

Programmieren 2 (Prof. Hasbargen) Klausur

Destructive AJAX. Stefan Proksch Christoph Kirchmayr

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.

AJAX DRUPAL 7 AJAX FRAMEWORK. Was ist das Ajax Framework? Ein typischer Ablauf eines Ajax Requests Die Bestandteile des Ajax Frameworks.

Einleitung. Funktion. Panzenböck Phillipp. Download Installation. Testen. Konfiguration

Betr.: Neuerungen eps Online-Überweisung

Wiederholung: Beginn

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

Übungen zur Softwaretechnik

Java Enterprise Architekturen Willkommen in der Realität

IAC-Programmierung HELP.BCFESITSIACPROG. Release 4.6C

An integrated total solution for automatic job scheduling without user interaction

Die Technologie der Mumie

OS IDE Webserver Integration des Webservers in die IDE Wireshark Webserver II Dynamisches Webprojekt in Eclipse

IVS Arbeitsgruppe Softwaretechnik Abschnitt Management komplexer Integrationslösungen

easylearn Webservice lsessionservice Interface für Single Sign On (SSO)

Zugriff auf Daten der Wago über eine Webseite

Alte Technik neu verpackt

Online Kataloge. Wie binde ich einen SGVSB-Online-Katalog in eine Webseite ein. Versionsnummer: 1.0 Änderungsdatum:

Internet und WWW Übungen

Haben Sie schon einmal aus einem ScreenCobol Requestor ein Java Programm aufgerufen?

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Browserbasiertes, kollaboratives Whiteboard

Einführung Internettechnologien. - Clientseitige Programmierung -

Auszug aus JAX-WS Folien

Von Keerthikan T. & Siyar Kolusari

Entwurf und Prototypische Implementierung einer Data Mashup Plattform. Abschlussvortrag Projekt-INF

Übungen zu Softwaretechnik

JPC Visualisierung in Java

SAP SharePoint Integration. e1 Business Solutions GmbH

Studygroup AJAX 1 / 28. Studygroup AJAX. Christian Kroiß / 4A Solutions GmbH

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Einführung in die Scriptsprache PHP

Web 2.0 Architekturen und Frameworks

Dynamisch generierte grafische Übersichtsseiten für Learning-Content-Management-Systeme. Unterstützung von Grafiken für Prüfungsauswahl.

Java RMI, CORBA und Firewalls

Java und XML 2. Java und XML

Architektur des agimatec-validation Frameworks

Web Visu Tutorial. Hipecs Web Visu. Übersicht

openk platform Dokumentation Setup Liferay Version 0.9.1

Verteilte Systeme: Übung 4

Kommunikations-Parameter

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Zustandsgebundene Webservices

4D Server v12 64-bit Version BETA VERSION

Überblick Produkte. ORACLE AS 10g R3 JAVA Programming. (5 Tage)

Gesicherte Prozeduren

Kommunikationsnetze. 7. Das World Wide Web 7.4 Client- vs. Server-basierte Techniken für dynamische Webseiten

Lokale Installation von DotNetNuke 4 ohne IIS

RAP vs. GWT vs. GAE/J + jquery. Web Technologien im Verlgeich

Webseiten und Web-Apps grafisch gestalten mit HTML5 Canvas ohne Flash und sonstige Tools

C O C O O N. Wo ist Cocoon in die Apache Projekte einzureihen?

3. Stored Procedures und PL/SQL

conjectcm Systemvoraussetzungen

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

IT works unlimited GmbH & Co. KG

0. Inhaltsverzeichnis

Installation des GeoShop Redirector für Apache (Stand ) ================================================================

Internetanbindung von Datenbanken

SOA mit.net: Vom Geschäftsprozess zur Lösung

OP-LOG

HTML5 HOCKEYSTICK EXPANDABLE BANNER v1.0

ONET: FT-NIR-Netzwerke mit zentraler Administration & Datenspeicherung. ONET Server

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Mobile ERP Business Suite

Step by Step Remotedesktopfreigabe unter Windows Server von Christian Bartl

Das HMS-Reporting-Framework Schneller Zugang zu relevanten Reports

SE2-10-Entwurfsmuster-2 15

4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen

Transkript:

Kapitel WT:VI VI. Architekturen und Middleware-Technologien Client-Server-Architekturen Ajax REST RPC, XML-RPC, Java RMI, DCOM Web-Services CORBA Message-oriented-Middleware MOM Enterprise Application Integration EAI WT:VI-1 Webis Architectures STEIN 2005-2015

Client-Server-Architekturen 3-Tier Architektur: Sequenzdiagramm Präsentation Applikation Datenbank Anforderung einer Datenauswertung Datenbankanfrage Rückgabe der aufbereiteten Ergebnisdaten Ergebnisdaten WT:VI-2 Webis Architectures STEIN 2005-2015

Client-Server-Architekturen 3-Tier Architektur: Deployment-Diagramm Client Firewall Proxy WWW-Server Applikations-Server Workflow OLAP Anwendungslogik Datenbank-Server WT:VI-3 Webis Architectures STEIN 2005-2015

Client-Server-Architekturen Architekturmuster Applikationslogik Präsentationsschicht Thin Client im Applikationsserver, z.b. JSP + JavaBeans mit Tomcat, J2EE-EnterpriseJavaBeans HTML + JavaScript im Webbrowser WT:VI-4 Webis Architectures STEIN 2005-2015

Client-Server-Architekturen Architekturmuster Applikationslogik Präsentationsschicht Thin Client im Applikationsserver, z.b. JSP + JavaBeans mit Tomcat, J2EE-EnterpriseJavaBeans HTML + JavaScript im Webbrowser Portal im Portal-Applikationsserver Portlets im Browser WT:VI-5 Webis Architectures STEIN 2005-2015

Client-Server-Architekturen Architekturmuster Applikationslogik Präsentationsschicht Thin Client im Applikationsserver, z.b. JSP + JavaBeans mit Tomcat, J2EE-EnterpriseJavaBeans HTML + JavaScript im Webbrowser Portal im Portal-Applikationsserver Portlets im Browser Rich Thin Client sowohl im Client als auch im Applikationsserver Java-AWT-GUI in speziellem Java Applet im Webbrowser WT:VI-6 Webis Architectures STEIN 2005-2015

Client-Server-Architekturen Architekturmuster Applikationslogik Präsentationsschicht Thin Client im Applikationsserver, z.b. JSP + JavaBeans mit Tomcat, J2EE-EnterpriseJavaBeans HTML + JavaScript im Webbrowser Portal im Portal-Applikationsserver Portlets im Browser Rich Thin Client Rich Fat Client sowohl im Client als auch im Applikationsserver clientseitiges Framework (plattformabhängig) Java-AWT-GUI in speziellem Java Applet im Webbrowser z.b. Java-SWT, JFace-GUI WT:VI-7 Webis Architectures STEIN 2005-2015

Client-Server-Architekturen Architekturmuster Applikationslogik Präsentationsschicht Thin Client im Applikationsserver, z.b. JSP + JavaBeans mit Tomcat, J2EE-EnterpriseJavaBeans HTML + JavaScript im Webbrowser Portal im Portal-Applikationsserver Portlets im Browser Rich Thin Client Rich Fat Client Managed Client sowohl im Client als auch im Applikationsserver clientseitiges Framework (plattformabhängig) Client-Java-Middleware mit Client-Applikationsserver für Softwareverteilung, etc. Java-AWT-GUI in speziellem Java Applet im Webbrowser z.b. Java-SWT, JFace-GUI clientseitiges Framework WT:VI-8 Webis Architectures STEIN 2005-2015

Client-Server-Architekturen Architekturmuster Applikationslogik Präsentationsschicht Thin Client im Applikationsserver, z.b. JSP + JavaBeans mit Tomcat, J2EE-EnterpriseJavaBeans HTML + JavaScript im Webbrowser Portal im Portal-Applikationsserver Portlets im Browser Rich Thin Client Rich Fat Client Managed Client sowohl im Client als auch im Applikationsserver clientseitiges Framework (plattformabhängig) Client-Java-Middleware mit Client-Applikationsserver für Softwareverteilung, etc. Java-AWT-GUI in speziellem Java Applet im Webbrowser z.b. Java-SWT, JFace-GUI clientseitiges Framework OS-dependent Fat Client überwiegend im Client: Desktop-Applikation Windows- oder Linux-GUI [torsten-horn.de] WT:VI-9 Webis Architectures STEIN 2005-2015

Client-Server-Architekturen Architekturmuster Applikationslogik Präsentationsschicht Thin Client im Applikationsserver, z.b. JSP + JavaBeans mit Tomcat, J2EE-EnterpriseJavaBeans HTML + JavaScript im Webbrowser datenintensiv (data shipping) Portal im Portal-Applikationsserver Portlets im Browser Rich Thin Client Rich Fat Client Managed Client OS-dependent Fat Client sowohl im Client als auch im Applikationsserver clientseitiges Framework (plattformabhängig) Client-Java-Middleware mit Client-Applikationsserver für Softwareverteilung, etc. überwiegend im Client: Desktop-Applikation v Java-AWT-GUI in speziellem Java Applet im Webbrowser z.b. Java-SWT, JFace-GUI clientseitiges Framework Windows- oder Linux-GUI auftragsbezogen (operation shipping) [torsten-horn.de] WT:VI-10 Webis Architectures STEIN 2005-2015

Client-Server-Architekturen Implementierung von Architekturmustern Ajax. dynamisches Web für Thin Clients RPC, XML-RPC, DCOM, Java RMI. Clients, die in der Lage sind, ein High-Level-Protokoll über TCP/IP abzuwickeln Kommunikation zwischen Server-Anwendungen Web-Services. flexible RPC-Technologie zur Client-Anbindung Komposition komplexer Anwendungen durch Service-Verschaltung zwischen verschiedenen Servern CORBA. industrielle, hoch-professionelle Technologie zur Kopplung von Server-Anwendungen Anbindung von clientseitigen Frameworks Message-oriented-Middleware MOM. professionelle Technologie zur asynchronen Kopplung von Server-Anwendungen WT:VI-11 Webis Architectures STEIN 2005-2015

Bemerkungen: Verschiedene der Technologien, mit denen sich ein bestimmtes Architekturmuster implementieren lässt, werden mit dem Begriff Middleware in Verbindung gebracht. Middleware auch als Architectural Glue bezeichnet realisiert die Infrastruktur für und zwischen Komponenten. Es gibt verschiedene Kategorien von Middleware, je nach Granularität und Art der Komponenten. Middleware ist Software, welche die Erstellung verteilter Anwendungen dadurch vereinfacht, dass sie standardisierte Mechanismen zur Kommunikation von verteilten Komponenten zur Verfügung stellt. WT:VI-12 Webis Architectures STEIN 2005-2015

Einführung Ajax = Asynchronous JavaScript and XML Charakteristika: das synchrone Request-Response-Paradigma wird aufgebrochen Web-Seiten müssen nicht als Ganzes ersetzt, sondern können teilweise überladen werden. Schnittstelle: DOM-API auf klar definierten, offenen Standards basierend Browser- und plattformunabhängig es wird keine Art von Ajax-Server benötigt, sondern auf bekannten Web- Server-Technologien aufgesetzt Anwendung: Realisierung interaktiver Thin Clients standardisierte, einfache graphische Bedienelemente WT:VI-13 Webis Architectures STEIN 2005-2015

Bemerkungen: Die Kernidee von Ajax besteht darin, einen HTTP-Request nebenläufig auszuführen und das Ergebnis des Requests in den DOM-Seitenbaum des Browsers einzufügen. Teilweise wird Ajax als reine Client-Technologie bezeichnet. [apache.org] Tatsächlich steht bei Ajax die Art und die Abwicklung der Kommunikation zwischen Client und Server im Vordergrund. Somit kann man Ajax als eine Technologie zur Umsetzung eines Architekturmusters verstehen: Ajax isn t a technology, it s more of a pattern a way to identify and describe a useful design technique. [McCarthy 2005, IBM] WT:VI-14 Webis Architectures STEIN 2005-2015

[Garret 2005] Einführung Feedback durch Server (synchron mit Antwort) Client request request response response Server Zeit WT:VI-15 Webis Architectures STEIN 2005-2015

[Garret 2005] Einführung Feedback durch Server (synchron mit Antwort) Client request request response response Server Zeit Kein Warten auf Server sondern Client-Feedback (asynchron) request return response request return response Client request response request response Server WT:VI-16 Webis Architectures STEIN 2005-2015

Bestandteile einer Ajax-Anwendung 1. Event-Handler. realisiert als JavaScript-Funktion im Client, typischerweise im HTML-Dokument wird bei entsprechender Anwenderaktion aufgerufen instanziiert (bei jedem Aufruf) ein XMLHttpRequest-Objekt meldet eine Callback-Funktion im XMLHttpRequest-Objekt an ruft die zur Anwenderaktion gehörende Server-Funktion auf 2. Callback-Funktion. realisiert als JavaScript-Funktion im Client, typischerweise im HTML-Dokument wird via readystate-events vom XMLHttpRequest-Objekt aufgerufen filtert bezüglich readystate 4 und HTTP-O.K.-Status-Code 200 verarbeitet die zurückgegebene XML-Datei der Server-Funktion oder ruft für die Verarbeitung eine weitere JavaScript-Funktion auf und manipuliert den DOM 3. Server-Funktion. wird mittels Standardtechnologie (CGI, PHP-Script, Servlet, etc.) auf einem Web-Server zur Verfügung gestellt generiert eine XML-Datei als Rückgabewert WT:VI-17 Webis Architectures STEIN 2005-2015

Bestandteile einer Ajax-Anwendung 1. Event-Handler. realisiert als JavaScript-Funktion im Client, typischerweise im HTML-Dokument wird bei entsprechender Anwenderaktion aufgerufen instanziiert (bei jedem Aufruf) ein XMLHttpRequest-Objekt meldet eine Callback-Funktion im XMLHttpRequest-Objekt an ruft die zur Anwenderaktion gehörende Server-Funktion auf 2. Callback-Funktion. realisiert als JavaScript-Funktion im Client, typischerweise im HTML-Dokument wird via readystate-events vom XMLHttpRequest-Objekt aufgerufen filtert bezüglich readystate 4 und HTTP-O.K.-Status-Code 200 verarbeitet die zurückgegebene XML-Datei der Server-Funktion oder ruft für die Verarbeitung eine weitere JavaScript-Funktion auf und manipuliert den DOM 3. Server-Funktion. wird mittels Standardtechnologie (CGI, PHP-Script, Servlet, etc.) auf einem Web-Server zur Verfügung gestellt generiert eine XML-Datei als Rückgabewert WT:VI-18 Webis Architectures STEIN 2005-2015

Bestandteile einer Ajax-Anwendung 1. Event-Handler. realisiert als JavaScript-Funktion im Client, typischerweise im HTML-Dokument wird bei entsprechender Anwenderaktion aufgerufen instanziiert (bei jedem Aufruf) ein XMLHttpRequest-Objekt meldet eine Callback-Funktion im XMLHttpRequest-Objekt an ruft die zur Anwenderaktion gehörende Server-Funktion auf 2. Callback-Funktion. realisiert als JavaScript-Funktion im Client, typischerweise im HTML-Dokument wird via readystate-events vom XMLHttpRequest-Objekt aufgerufen filtert bezüglich readystate 4 und HTTP-O.K.-Status-Code 200 verarbeitet die zurückgegebene XML-Datei der Server-Funktion oder ruft für die Verarbeitung eine weitere JavaScript-Funktion auf und manipuliert den DOM 3. Server-Funktion. wird mittels Standardtechnologie (CGI, PHP-Script, Servlet, etc.) auf einem Web-Server zur Verfügung gestellt generiert eine XML-Datei als Rückgabewert WT:VI-19 Webis Architectures STEIN 2005-2015

Bestandteile einer Ajax-Anwendung 1. Event-Handler. realisiert als JavaScript-Funktion im Client, typischerweise im HTML-Dokument wird bei entsprechender Anwenderaktion aufgerufen instanziiert (bei jedem Aufruf) ein XMLHttpRequest-Objekt meldet eine Callback-Funktion im XMLHttpRequest-Objekt an ruft die zur Anwenderaktion gehörende Server-Funktion auf 2. Callback-Funktion. realisiert als JavaScript-Funktion im Client, typischerweise im HTML-Dokument wird via readystate-events vom XMLHttpRequest-Objekt aufgerufen filtert bezüglich readystate 4 und HTTP-O.K.-Status-Code 200 verarbeitet die zurückgegebene XML-Datei der Server-Funktion oder ruft für die Verarbeitung eine weitere JavaScript-Funktion auf und manipuliert den DOM 3. Server-Funktion. wird mittels Standardtechnologie (CGI, PHP-Script, Servlet, etc.) auf einem Web-Server zur Verfügung gestellt generiert eine XML-Datei als Rückgabewert WT:VI-20 Webis Architectures STEIN 2005-2015

Ablauf einer Ajax-Interaktion GUI Interaction Browser Event Listener process event Event Handler Web Server WT:VI-21 Webis Architectures STEIN 2005-2015

Ablauf einer Ajax-Interaktion (Fortsetzung) Browser Event Listener Event Handler Web Server GUI Interaction process event new XMLHttp Request create callback register callback Callback Function dispatch request send HTTP request WT:VI-22 Webis Architectures STEIN 2005-2015

Ablauf einer Ajax-Interaktion (Fortsetzung) Browser Event Listener Event Handler Web Server GUI Interaction process event new XMLHttp Request create callback register callback Callback Function dispatch request send HTTP request check state signal readystate 1..3 XML response WT:VI-23 Webis Architectures STEIN 2005-2015

Ablauf einer Ajax-Interaktion (Fortsetzung) Browser Event Listener Event Handler Web Server GUI Interaction process event new XMLHttp Request create callback register callback Callback Function dispatch request send HTTP request check state signal readystate 1..3 XML response unmarshal XML response signal readystate 4 parse result from XML tree update Web page via HTML DOM WT:VI-24 Webis Architectures STEIN 2005-2015

Beispiel: Überwachung von Eingabefeld [Demo] WT:VI-25 Webis Architectures STEIN 2005-2015

Beispiel: Überwachung von Eingabefeld [Demo] HTML-Code: <style type="text/css"> span.available{background-color: green;} span.unavailable{background-color: red;} </style>... <form action=""> Preferred user name: <input name="username" type="text" onkeyup="myeventhandler(./check-username.php?q= + this.value, processusernameresponse )" /> <span class="available" id="namecheck"> </span> </form> WT:VI-26 Webis Architectures STEIN 2005-2015

Beispiel: Überwachung von Eingabefeld [Demo] HTML-Code: <style type="text/css"> span.available{background-color: green;} span.unavailable{background-color: red;} </style>... <form action=""> Preferred user name: <input name="username" type="text" onkeyup="myeventhandler(./check-username.php?q= + this.value, processusernameresponse )" /> <span class="available" id="namecheck"> </span> </form> WT:VI-27 Webis Architectures STEIN 2005-2015

Beispiel: Überwachung von Eingabefeld (Fortsetzung) 1. Generischer JavaScript-Code für Event-Handler: function myeventhandler(url, processresponsexml) { } var req = new XMLHttpRequest(); if(req) { req.onreadystatechange = // Create and register callback. createcallbackfunction(req, processresponsexml); req.open("get", url, true); // Dispatch request. req.send(null); // Send HTTP request. } WT:VI-28 Webis Architectures STEIN 2005-2015

Beispiel: Überwachung von Eingabefeld (Fortsetzung) 2a. Generischer JavaScript-Code der Callback-Funktion: function createcallbackfunction(req, processresponsexml) { return function() { // Check whether readystate is complete. if(req.readystate == 4) { // Check whether server response is O.K. if(req.status == 200) { processresponsexml(req.responsexml); } else { alert("http error: " + req.status); } } } } WT:VI-29 Webis Architectures STEIN 2005-2015

Beispiel: Überwachung von Eingabefeld (Fortsetzung) 2a. Generischer JavaScript-Code der Callback-Funktion: function createcallbackfunction(req, processresponsexml) { return function() { // Check whether readystate is complete. if(req.readystate == 4) { // Check whether server response is O.K. if(req.status == 200) { processresponsexml(req.responsexml); } else { alert("http error: " + req.status); } } } } 2b. Spezifischer JavaScript-Code der Callback-Funktion zur Verarbeitung der XML-Antwortdatei: function processusernameresponse(xmltree) { var result = xmltree.documentelement.getelementsbytagname( result )[0].firstChild.data; var message = document.getelementbyid( namecheck ); if(result == 1) { message.classname = unavailable ; } else{ message.classname = available ; } } WT:VI-30 Webis Architectures STEIN 2005-2015

Bemerkungen: Das Beispiel beschreibt ein wiederverwendbares Pattern für Ajax-Anwendungen: der generische JavaScript-Code kann unverändert in jedem HTML-Dokument zum Einsatz kommen. Zur Verarbeitung der XML-Antwort ist eine spezifische JavaScript-Funktion zu definieren. Diese Funktion zusammen mit der Server-Funktion bilden die Argumente von myeventhandler(), der beliebigen Events im HTML-Dokument zugeordnet werden kann. Die Art der Verwendung von createcallbackfunction hat Ähnlichkeit zum Template- Method-Pattern. Der Rumpf von createcallbackfunction definiert eine anonyme Callback-Funktion in Form eines Funktionsliterals und gibt diese Funktionsdefinition als Wert zurück. Das zweite Argument von createcallbackfunction, processresponsexml, enthält als Wert die Funktionsdefinition für processusernameresponse mit dem JavaScript- Code zur Verarbeitung der XML-Antwortdatei. WT:VI-31 Webis Architectures STEIN 2005-2015

Beispiel: Überwachung von Eingabefeld (Fortsetzung) 3. Server-Funktion check-username.php generiert XML-Antwortdatei [Demo: 1, 2] : <?php header( Content-Type: text/xml ); echo <?xml version="1.0" encoding="utf-8" standalone="yes"?> ; function nameinuse($q) { if (isset($q)){ switch(strtolower($q)) { case alice : return 1 ; break; case bob : return 1 ;... default: return 0 ; } }else{ return 0 ; } }?> <response> <result> <?php echo nameinuse($_get[ q ])?> </result> </response> WT:VI-32 Webis Architectures STEIN 2005-2015

Beispiel: Überwachung von Eingabefeld (Fortsetzung) 3. Server-Funktion check-username.php generiert XML-Antwortdatei [Demo: 1, 2] : <?php header( Content-Type: text/xml ); echo <?xml version="1.0" encoding="utf-8" standalone="yes"?> ; function nameinuse($q) { if (isset($q)){ switch(strtolower($q)) { case alice : return 1 ; break; case bob : return 1 ;... default: return 0 ; } }else{ return 0 ; } }?> <response> <result> <?php echo nameinuse($_get[ q ])?> </result> </response> WT:VI-33 Webis Architectures STEIN 2005-2015

Beispiel: Überwachung von Eingabefeld (Fortsetzung) 3. Server-Funktion check-username.php generiert XML-Antwortdatei [Demo: 1, 2] : <?php header( Content-Type: text/xml ); echo <?xml version="1.0" encoding="utf-8" standalone="yes"?> ; function nameinuse($q) { if (isset($q)){ switch(strtolower($q)) { case alice : return 1 ; break; case bob : return 1 ;... default: return 0 ; } }else{ return 0 ; } }?> <response> <result> <?php echo nameinuse($_get[ q ])?> </result> </response> WT:VI-34 Webis Architectures STEIN 2005-2015

Quellen zum Nachlernen und Nachschlagen im Web Google. Google Web Toolkit GWT. code.google.com/p/webtoolkit Horn. Technische Kurzdokumentationen. www.torsten-horn.de/techdocs McCarthy. Ajax for Java developers: Build dynamic Java applications. www.ibm.com/developerworks/java/library/j-ajax1 McLellan. Very Dynamic Web Interfaces. www.xml.com/pub/a/2005/02/09/xml-http-request.html W3 Schools. Ajax Tutorial. www.w3schools.com/ajax WT:VI-35 Webis Architectures STEIN 2005-2015