Literatur. [14-01] [14-02]

Größe: px
Ab Seite anzeigen:

Download "Literatur. [14-01] [14-02]"

Transkript

1 Literatur [14-01] [14-02] [14-03] Steyer, Ralph: Das JavaScript Codebook. 2. Auflage, Addison-Wesley, 2005 [14-04] Flanagan, David: JavaScript Das umfassende Referenzwerk. O'Reilly, 6. Auflage, 2012 (1.200 Seiten) [14-05] Flanagan, David: JavaScript kurz&gut. O'Reilly, 4. Auflage, 2012 [14-06] Crane, Dave; Pascarello, Eric; James, Darren: Ajax in action. Addison- Wesley, 2006 [14-07] Bergmann, Olaf; Bormann, Carsten: AJAX. SPC TEIA Lehrbuch Verlag,

2 Literatur zu Ajax [14-08] Perry, Bruce: AJAX Hacks. O'Reilly, 2006 [14-09] Steyer, Ralph: AJAX mit PHP. Addison-Wesley, 2006 [14-10] Koch, Daniel: Schnell plakatiert. CT 20/2005, S [14-11] Wang, Dapeng: Nicht nur holländische Fußballkunst. Javamagazin, 11, 2005, S [14-12] Braun, Herbert: Ajax zu Fuß. CT 5/2006, S [14-13] Braun, Herbert: Instant-Ajax. CT 5/2006, S [14-14] Lauriat, Shawn: Advanced Ajax. Prentice Hall, 2008 [14-15] Wenz, Christian: Ajax. Entwickler.press, 2006 [14-16] [14-17] 3 Übersicht Ajax JSON Fertige Routine 4

3 AJAX I AJAX = Asynchronous JavaScript and XML Ajax ist ein Verfahren Teile von angezeigten Web-Seiten direkt zu ersetzen anstatt die ganze Seite neu zu laden. Diese Idee ist recht alt und wurde lange vor dem "Ajax-Hype" realisiert, u.a. von Google und Microsoft. Der Begriff AJAX wurde von Jesse James Garret in seinem Artikel "Ajax: A New Approach to Web Applications" 2005 bekannt gemacht. 5 AJAX II Dazu werden mit JavaScript im Hintergrund XML-Daten vom Server geholt und im Browser dargestellt. Diese XML-Daten werden in JavaScript-Objekte konvertiert, die in das DOM des Dokuments integriert und somit angezeigt werden. Ajax funktioniert bei allen modernen Browsern, die das XMLHttpRequest-Objekt realisiert haben. Wenn statt XML-Daten JSON-Daten verwendet werden, lassen sich dieselbe Effekte ohne den Overhead von XML realisieren. Dies wird im folgenden getan. 6

4 Geschichte von JSON JSON = JavaScript Object Notation Entwickelt von Douglas Crockford, 2002 Definiert in RFC 4627 (Juli 2006) JSON ist ein Serialisierungsformat von JavaScript-Objekten basierend auf ASCII. JSON ist eine Untermenge von JavaScript und kann daher direkt mit der eval()-funktion interpretiert bzw. bei der Objekt- Erzeugung benutzt werden. Definition: ECMA-ST/ECMA-404.pdf Siehe: Beispiel von JSON { "Herausgeber": "Humpty", "Nummer": " ", "Deckung": 2e+6, "Währung": "EUR", "Inhaber": { "Name": "Mustermann", "Vorname": "Max", "männlich": true, "Hobbys": [ "Reiten", "Golf", "Lesen" ], "Alter": 42, "Kinder": [], "Partner": null } } Quelle: 8

5 JSON-Format Ein Objekt wird innerhalb geschweifter Klammern {} definiert. Es können Objekte geschachtelt werden, aber nie auf der obersten Ebene mehr als ein Objekt. Arrays werden durch eckige Klammern [] definiert. Attribute werden jeweils durch ein Paar Name: Wert definiert. 9 Prototypen I Konstruktor.prototype.Attribut= Ausdruck; Konstruktor.prototype.Methode= Funktion; Der Konstruktor ist der Name der "Klasse". Methode ist der Name einer Methode, während Funktion eine Funktionsreferenz ist. Zu jedem Konstruktor gibt es ein internes Objekt (prototype), das bei einem new() mit dem generierten Objekt zusammen erzeugt wird und mit ihm verbunden ist. Alles, was dem Objekt zugewiesen wird, ist lokal zu dem Objekt. Alles, was dem Prototyp zugewiesen wird, ist global zu allen davon generierten Objekten. Der Prototyp ist so etwas wie ein Bereich für statische Variablen/Methoden. Dies gilt auch NACH der Erzeugung eines Objektes. 10

6 Prototypen II "Lokale" Attribute "Globale" Attribute Glob1 Glob2 Glob3 GlobN Wie bei der Schachtelung von Blöcken Prototype Statt Attribute können auch Funktionsreferenzen benutzt werden. Attr1 Attr2 AttrN Attr1 Attr1 Attr2 AttrN Attr1 Attr2 Objekt1 Objekt2 Objekt3 Objekt4 11 Prototypen III Es besteht damit eine Verbindung wie ein Zeiger zwischen dem Prototyp-Objekt und dem eigentlichen Objekt derart, dass eine Erzeugung eines Attributs beim Objekt ein Attribut gleichen Namens im Prototyp-Objekt überdeckt. dass eine Erzeugung eines Attributs beim Prototyp für alle bisherigen und zukünftigen Objekte ein neues Attribut definiert, es sei denn dieser Attributname ist in den jeweiligen Objekten schon definiert - dann überdeckt deren Definition die aus dem Prototyp. Wenn im Prototyp wiederum ein anderes mit new() erzeugtes Objekt eingefügt wird, entsteht ein Verweis auf dessen Prototyp, so dass dessen Eigenschaften "vererbt" werden, aber nur "einstufig". Alle Objekte mit demselben Konstruktor haben auch denselben Prototyp. Verschiedene Konstruktoren haben auch verschiedene Prototypen. 12

7 Prototypen IV - Anwendungen Die Prototypen dienen zur Definition von Methoden, die nur einmal zugewiesen werden brauchen, anstatt jeweils nach einem new(). Damit korrespondierend werden im Prototypen auch die allgemeinen Attribute, die in den Methoden als globale Variablen benutzt werden, definiert. In Wirklichkeit liegt noch der Prototyp Object.prototype über allen Prototypen, so dass drei Ebenen vorhanden sind. 13 Kommunikation mit Server - Überblick Display.js ajax() index.php Ajax.js sendrequest() Event newxhr() receivedtext() XMLHttpRequest() receive() ErrorHandler() Nun kommt eine einfache Version für die Ajax-Kommunikation. 14

8 Hauptprogramm index.php I (01) <body> (02) <p>hier stehen die Dinge der Seite und noch mehr (03) </body> (04) <script type="text/javascript" src="js/ajax.js"></script> (05) <script type="text/javascript" src="js/display.js"></script> (06) <script type="text/javascript"> (07) var URL= " (08) var ajaxs= new Ajax(URL); (09) ajaxs.send({"msg": "Heute ist "}); (10) var obj= ajaxs.receive({"date": 0}); (11) writeln(obj.date); (12) ajaxs.disconnect(); (13) </script> 15 Hauptprogramm index.php II - Bemerkungen In (08) wird das Objekt, das die Kommunikation realisiert, erzeugt. In (09) wird mit Hilfe der POST-Methode eine Nachricht bestehend aus einem Parameter msg und dem Wert "Heute ist " an den Server mit der URL aus (07). In der nächsten Zeile (10) wird der als JSON empfangene Wert geholt, gefiltert und der Variablen obj als Objekt zugewiesen. Mit {"date": 0} wird ein Filter definiert, das dazu dient, dass nur die Elemente aus dem empfangenen JSON-Paket benutzt werden, die im Filter definiert sind, hier nur "date". In (11) wird die Komponenten date ausgelesen und ausgegeben. In (12) wird das Ajax-Objekt nach dem Benutzung wieder freigegeben (ist nicht nötig, da dies am Ende immer erfolgt). 16

9 GetDate.php die Serverseite (01) if (isset($_post['msg'])) { (02) $mesg= filter_input(input_post,'msg'); (03) } else { (04) $mesg = 'Now is'; (05) } (06) (07) $message= "$mesg ".strftime('%d.%m.%y %H:%M:%S'); (08) echo json_encode(array('date' => $message)); (09) Zeilen (01-05) sind die normale Bearbeitung von POST-Parametern in PHP samt Defaultwert. In (07) wird das aktuelle Datum mit Zeit zusammen mit dem Parameter gesetzt, um in (08) als Teil eines Hash benutzt zu werden: array('date' => $message). Dieser Hash ist die Grundlage für das JSON-Objekt, das aus dem Hash erzeugt und ausgegeben wird (mit echo). Dieses ausgegebene JSON-Objekt wird als Antwort an den Browser geschickt und dort mit receive() - siehe oben empfangen bzw. gefiltert. 17 Die Kommunikation I Das Ergebnis im Browser Analyse der Datenkommunikation im Webentwickler-Modus 18

10 Die Kommunikation II Die Anfrage allgemein Der Hinweg Der Rückweg 19 Ajax.js I (01) function Ajax(url,myHandler= null) { (02) var here= this; (03) this.url= url; (04) this.myhandler= myhandler; (05) this.method= "POST"; (06) this.responsetext= null; (07) this.request= Ajax.prototype.newXHR(); (08) this.request.onreadystatechange= function(){ (09) here.receivedtext(); (10) if(myhandler!==null) { (11) here.myhandler(here.request); (12) } (13) }; (14) }; Das ist der Konstruktor Ajax (der auch den Prototyp realisiert). 20

11 Ajax.js II - Bemerkungen Der 1. Parameter ist die URL des Servers und der zweite optionale Parameter die Funktionsreferenz auf einen Handler, der die empfangenen Daten verarbeiten kann später dazu mehr. In (02) wird eine lokale Variable mit der Adresse des eigenen Objekts gesetzt, was später wichtig wird. In (04-07) werden in Objekt-Variablen ein paar Werte abgelegt. Der Aufruf von newxhr() erzeugt ein XMLHttpRequest-Objekt. In (08) wird eine anonyme Funktion als Handler eines Ereignisses registriert (Listener/Observer-Muster); diese Routine ist eine Callback-Routine, die beim Empfang der Daten parallel zur Ausführung anderer Routinen aufgerufen wird. Die Registrierung erfolgt in der Variablen onreadystatechange. Immer wenn sich an der Kommunikation etwas ändert, wird die hier registrierte Routine aufgerufen. 21 Ajax.js III - Bemerkungen (08) this.request.onreadystatechange= function(){ (09) here.receivedtext(); (10) if(myhandler!==null) { (11) here.myhandler(here.request); (12) } (13) }; Die anonyme Funktion ist ein Closure mit dem Zugriff auf die globalen Variablen here und myhandler. Von denen wird bei der Definition eine Kopie gemacht, so dass deren Wert mit dem Closure fest verbunden ist. Daher musste auch this in die lokale Variable here kopiert werden (02). this kann nicht als Wert eines Closures fungieren. In (10) wird gefragt, ob eine eigene Routine zur Behandlung der empfangenen Daten definiert ist; falls ja, wird diese in (11) aufgerufen (und dabei die Verweise auf das eigene Objekt mit here realisiert). Dies ist deshalb erforderlich, weil diese Funktion unabhängig vom Rest aufgerufen wird. 22

12 Ajax.js IV - Bemerkungen In (09) erfolgt der Aufruf here.receivedtext(); diese Routine ist lokal zum Ajax-Objekt (here hat ja den Wert this). Diese Routine wird später erklärt. Sie führt den Empfang aus. Analoges gilt für Zeile (11); hier wird die per Parameter übergebenen (anonyme) Funktion im Kontext des Objektes ausgeführt. 23 Ajax.js V - newxhr() (01) Ajax.prototype.newXHR= function() { (02) var req= null; (03) if (typeof XMLHttpRequest!== "undefined") { (04) req= new XMLHttpRequest(); // Mozilla etc (05) } else { (06) if (typeof ActiveXObject!== "undefined") { (07) req= new ActiveXObject("Microsoft.XMLHTTP"); (08) if (!req) { (09) req= new ActiveXObject("Msxml2.XMLHTTP"); (10) } (11) } else { (12) Ajax.prototype.ErrorHandler (13) ("cant create XMLHttpRequest-Object"); (14) } (15) } (16) return req; }; Tja, und hier holt uns die Geschichte der Inkompatibilitäten ein... - weiter unten kommt noch mehr. 24

13 Ajax.js VI - newxhr() - Bemerkungen newxhr() erzeugt ein neues XMLHttpRequest-Objekt (abgekürzt durch XHR); leider sind nicht alle Browser gleich, so dass hier eine Kaskade von Versuchen ablaufen muss. Diese Routine wird in (01) zum Prototypen hinzugefügt und ist daher für alle ajax-objekte gleichermaßen verfügbar. In (03) wird geprüft, ob die Funktion XMLHttpRequest() definiert ist so wird nach der Existenz gefragt, während eine Abfrage nach null die Existenz voraussetzt. In (12) wird eine Fehlermeldung durch den ErrorHandler ausgegeben. 25 Ajax.js VII - ErrorHandler() (01) Ajax.prototype.ErrorHandler= function(errmsg,dothrow= true) { (02) if(typeof writeln!== "undefined") { (03) writeln(errmsg); (04) } else { (05) console.log(errmsg); (06) } (07) if(dothrow) { (08) throw errmsg; (09) } (10) }; Es wird die Fehlermeldung errmsg ausgegeben, falls writeln() definiert ist (03), ansonsten mit console.log() in (05). Optional wird eine Exception in (08) mit der Fehlermeldung geworfen. 26

14 Ajax.js VIII - sendrequest() (01) Ajax.prototype.sendRequest= (02) function(url,params=null,method="post"){ (03) try { (04) this.responsetext= null; (05) this.request.open(method,url,false); (06) this.request.setrequestheader( (07) "Content-Type","application/x-www-form-urlencoded"); (08) this.request.setrequestheader("x_requested_with","42"); (09) if(typeof params==="object") { (10) this.request.send(this.codeparams(params)); (11) } else { (12) this.request.send(); (13) } (14) } catch (err) { (15) Ajax.prototype.ErrorHandler(err); (16) } (17)}; 27 Ajax.js IX sendrequest() - Bemerkungen open() Header Ablauf des Sendens nach Registrierung der Call-Back-Routine send() Es können Parameter (02) für den HTTP-Request übergeben werden; diese werden in der Form keyword=value& keyword=value gesendet. In (06) wird die Kodierung der Anfrage definiert und in (08) ein spezieller Header, der individuell für die Anwendung ist; er muss mit x_ beginnen, der Rest ist frei. In (10) bzw. (12) wird gesendet; die Parameter müssen noch entsprechend (06) umkodiert werden: das wird von der Funktion codeparams() geleistet. 28

15 Die Sache mit dem speziellen Header I Damit der Server einen Ajax-Request von einem HTTP-Request durch den Browser/Surfer unterscheiden kann, wird ein fiktiver, ansonsten nie gebrauchter Header bei Ajax eingeführt, der nie durch einen Browser generiert wird, hier: x_requested_with (01) $requestheader= apache_request_headers(); (02) if(isset($requestheader['x_requested_with'])) { (03) if (isset($_post['msg'])) { (04) $mesg= filter_input(input_post,'msg'); (05) } else { (06) $mesg= 'Now is'; (07) } (08) echo 'Simulation of an error message before JSON'; (09) $message= "$mesg ".strftime('%d.%m.%y %H:%M:%S'); (10) echo json_encode(array('date' => $message)); (11) echo 'Simulation of an error message after JSON'; (12)} else { (13) header("http/ Not Found"); (14)} 29 Die Sache mit dem speziellen Header II - Bemerkungen (03-07) und (09-10) wurden schon erklärt. Für den Apache-Webserver werden in (01) alle HTTP-Header- Informationen in ein PHP-Hash kopiert. In (02) wird abgefragt, ob der spezielle Header dabei ist. Falls nicht, wird eine 404-Fehler-Antwort in (13) generiert. Ansonsten läuft es ab wie oben beschrieben. Die Zeilen (08) und (11) sind noch mysteriös. Diese dienen der Simulation einer PHP-Fehlermeldung, einmal vor dem Generieren des JSON-Objekts und einmal danach. Da der Browser ein JSON-Objekt erwartet und keinen sonstigen String würde ein Abstürzen des Servers fatal sein. Auch sollten diese Meldungen während der Entwicklung angezeigt werden. Wie das erfolgt, zeigt die receive()-routine. 30

16 Ajax.js X send() (01) Ajax.prototype.send= function(msg= null) { (02) this.sendrequest(this.url, msg, this.method,false); (03) }; send() ruft mit Parametern die obigen sendrequest()-routine auf. Dabei wird der Parameter async auf false gesetzt, d.h. es findet eine synchrone Abfrage statt. Das ist dann das Ergebnis mit simulierten Fehlermeldungen 31 Zeitlicher Ablauf (synchron) open() Header Callback() send() Callback() Callback() Immer, wenn sich der Zustand des XHR-Objekts ändert, wird die Callback- Routine aufgerufen (sollte nicht sein, ist aber so) receive() Die send()-funktion terminiert erst, wenn der letzte Callback()-Aufruf beendet ist. Es gibt daher eine echte Pause; daher folgende Warnung: 32

17 Ajax.js X Callback-Routine() (01) Ajax.prototype.receivedText= function() { (02) if(this.request.readystate!==4) { (03) return; (04) } (05) if(this.request.status!==200) { (06) if(this.request.status===404) { (07) Ajax.prototype.ErrorHandler( (08) "404 Not Found: "+this.url); (09) } else { (10) this.onerror(this); (11) } (12) }; Dies ist die globale Callack()-Routine, die in Ajax() über die registrierte aufgerufen wird (dort Zeile(09)). 33 Ajax.js XI Callback-Routine() - Bemerkungen In (02) wird der Status der Kommunikation abgefragt; dieser ist als Nummer in dem Attribut readystate kodiert. 4 bedeutet: alles ist fertig. In (05) wird der Code der Serverantwort (HTTP-Protokoll) abgefragt; 200 bedeutet: Alles OK. Ist nicht alles OK, wird in (06) abgefragt, ob es sich um die falsche URL bzw. um ein Vergessen des speziellen HTTP-Headers handelt. Dann wird eine kurze Meldung ausgegeben, ansonsten eine lange (10). 34

18 XMLHttpRequest-Objekt I - readystate Zustand Erläuterung 0 Nicht initialisiert, also vor open()-aufruf 1 Initialisiert, aber kein Absenden, also vor send()-aufruf 2 send() wurde ausgeführt 3 Empfangen der Antwort, warten auf das Ende des Empfangens; es kann schon auf responsetext zugegriffen werden 4 Alles fertig; responsetext enthält den vollständigen Text Dasselbe gilt für responsexml. 35 XMLHttpRequest-Objekt II Attribut onreadystatechange Erläuterung Adresse der Call Back Routine, die bei Änderungen von readystate aufgerufen wird readystate Zustände 0 bis 4: STATE_UNINITIALIZED= 0 STATE_LOADING= 1 STATE_LOADED= 2 STATE_INTERACTIVE= 3 STATE_COMPLETE= 4 responsetext responsexml status statustext Einfacher Text der Antwort Antwort im XML-Format HTTP-Status-Code der Antwort HTTP-Status-Code als Text Ein Abbrechen mittels abort() ist nur in den Zuständen 2 und 3 von readystate sinnvoll. 36

19 XMLHttpRequest-Objekt III Methode abort() getallresponseheaders() getresponseheader(string) open(string method, string url, string asyn) send(string) Erläuterung Abbruch des Requests Gibt den gesamten Header in einem String zurück Gibt den Wert eines Header-Teiles zurück Bereitet Request an Adresse url vor; asyn gibt als String an, ob asynchron ("true") oder nicht ("false") Absenden des Requests, wobei der String Parameter angibt, die nach einem? hinter der URL angefügt werden setheader(string header, string val) Setzen einer Header-Zeile open() hat noch zwei weitere optionale Parameter: 4. Parameter: Benutzernamen 5. Parameter: Passwort 37 Ajax.js XI onerror-routine() (01) Ajax.prototype.onError= function(obj,err= '') { (02) var str = "Ajax communication error "+err+"\n"; (03) str += "URL="+obj.url+"\n"; (04) if (typeof obj.request!== "undefined") { (05) str += "XHR-state="+obj.request.readyState+"\n"; (06) str += "HTTP-status code="+obj.request.status+"\n"; (07) str += "Headers=\n***\n"+ (08) obj.request.getallresponseheaders()+"***"; (09) } (10) Ajax.prototype.ErrorHandler(str); (11) }; Diese Routine wird immer dann aufgerufen, wenn Fehler bei der Kommunikation aufgetreten sind. Es wird ein langer String generiert, in dem viele \n eingebaut sind; diese werden in writeln() zu <br> umgewandelt. writeln() wird in ErrorHandler() aufgerufen. 38

20 Ajax.js XII codeparams() (01) Ajax.prototype.codeParams= function(params) { (02) var str= ""; (03) var amper= false; (04) for(var p in params) { (05) if(amper) { (06) str+= "&"; (07) } (08) str+= encodeuri(p)+"="+encodeuri(params[p]); (09) amper= true; (10) } (11) return str; (12) }; CodeParams() konvertiert die Parameterliste für den HTTP-Request in das URL-encoded-Format um (im HTTP-Header angegeben). Die entscheidende Zeile ist (08): dort werden Keyword und Wert umkodiert. 39 Ajax.js XIII receive() - Das Hauptprogramm (01) ajaxs.send({"msg": "Heute ist "}); (02) var obj= ajaxs.receive({"date": 0}); (03) writeln(obj.date); (04) ajaxs.disconnect(); In Zeile (01) wird als Parameter ein Objekt übergeben, das durch die obige codeparams()-routine in der richtigen Kodierung in das Request-Paket integriert wird. In (02) wird die Antwort, die über die Callback-Aufrufe entgegen genommen wurde über das Filter eine Art Firewall in die Variable obj als Objekt kopiert. Das Filter dient dazu, dass nur die Elemente geliefert werden, die im Filter angegeben und daher auch erwartet werden, alle anderen Elemente einschließlich der PHP-Fehlermeldungen werden ignoriert. 40

21 Ajax.js XIV receive() (01) Ajax.prototype.receive= function(filter= null) { (02) var received= {}; (03) var text= this.request.responsetext; (04) if(text===null) { (05) Ajax.prototype.ErrorHandler("no text received"); (06) } (07) if(filter===null) { (08) received= JSON.parse(text); (09) } else { (10) var obj= JSON.parse(text); (11) for (var elem in filter) { (12) if(obj[elem]===undefined) { Verkürzte Version Aus Gründen der IT-Sicherheit ist diese Konstruktion gefährlich. (13) Ajax.prototype.ErrorHandler("missed received value:"+elem); (14) } else { (15) received[elem]= obj[elem]; (16) } (17) } (18) } (19) return received; (10)}; 41 Ajax.js XV receive() - Bemerkungen Vor der Zeile (06) werden PHP-Fehlermeldungen vor und nach dem JSON-Konstrukt, das immer mit { beginnen muss, entfernt. Das gilt auch dann, wenn der Server keine Daten sendet, dann muss dort ein leeres JSON-Konstrukt {} generiert werden. Wenn in den PHP-Fehlermeldungen { oder } vorkommen, funktioniert das Herausfiltern der Meldungen nicht. Ohne Filter wird in Zeile (08) alles übernommen, was vom Server kommt. Aus Sicherheitsgründen sollte dies unterlassen werden. In (10-17) wird gefiltert: es werden nur die Elemente übernommen, die im Filter-Objekt vorhanden sind. Das blinde Vertrauen, dass alle Daten vom Server korrekt sind, sollte nicht bestehen; daher die Filterung der empfangenen Daten. 42

22 Das Ergebnis String vor dem JSON-Teil String hinter dem JSON-Teil Inhalt vom JSON-Teil Es fehlt noch die disconnect()-routine Ajax.prototype.disconnect= function() { this.request= null; }; 43 Definition eigener Behandler I (01) var URL= " (02) var ajaxs= new Ajax(URL, function(xhr){ (03) if(xhr.readystate===4) { (04) writeln('mystatus=',xhr.readystate); (05) writeln('mytext=',xhr.responsetext); (06) } (07) }); (08) ajaxs.send({"msg": "Heute ist "}); (09) var obj= ajaxs.receive({"date": 0}); (10) writeln(obj.date); Es wird in (02-07) einen anonyme Funktion definiert, die einen Parameter- das XHR-Objekt erwartet. In (03) wird geprüft, ob tatsächlich die Routine zum Ende des Empfangs aufgerufen wurde (sie wird mehrfach aufgerufen, auch beim synchronen Betrieb). 44

23 Definition eigener Behandler II Die beiden zusätzlichen Ausgaben In (04-05) werden hier Komponenten des XHR-Objekts ausgegeben. 45 Nach dieser Anstrengung etwas Entspannung... 46

Webtechnologien. Teil 13: JSON und etwas AJAX

Webtechnologien. Teil 13: JSON und etwas AJAX Webtechnologien Teil 13: JSON und etwas AJAX 10.07.17 1 Literatur [13-01] http://www.json.org http://oss.metaparadigm.com/jsonrpc [13-02] Steyer, Ralph: JavaScript. Addison-Wesley, 2007 [13-03] Steyer,

Mehr

Grundlagen Internet-Technologien INF3171

Grundlagen Internet-Technologien INF3171 Grundlagen Internet-Technologien INF3171 ekaay AJAX Version 1.0 01.07.2013 aktuelles 2 Ajax: zunächst Abkürzung für Asynchronous JavaScript And XML Jesse J. Garrett (AdaptivePath) http://www.adaptivepath.com/publications/essays/archives/

Mehr

Multimedia im Netz. Übung zur Vorlesung. Ludwig-Maximilians-Universität Wintersemester 2010/2011

Multimedia im Netz. Übung zur Vorlesung. Ludwig-Maximilians-Universität Wintersemester 2010/2011 Übung zur Vorlesung Multimedia im Netz Ludwig-Maximilians-Universität Wintersemester 2010/2011 Ludwig-Maximilians-Universität München Multimedia im Netz - Übung - 3-1 Übungsblatt - 3 Thema: JavaScript

Mehr

Verteilte Anwendungen. Hinweise zu den Aufgabenblättern Teil 1

Verteilte Anwendungen. Hinweise zu den Aufgabenblättern Teil 1 Verteilte Anwendungen Hinweise zu den Aufgabenblättern Teil 1 04.04.18 1 Wiederholung bzw. Vertiefung Webtechnologien (3. Semester) HTTP Entwicklungsumgebungen PHP Teil 1 bis 3 und besonders Teil4 (PHPUnit-Verfahren)

Mehr

Proseminar Auszeichnungssprachen

Proseminar Auszeichnungssprachen Proseminar Auszeichnungssprachen Thema: AJAX Ayse Gül Kilic Ahmed Anis Kerkeni Dortmund, 29.05.2007 1 Gliederung Definition 2 Gliederung Definition Geschichte 3 Gliederung Definition Geschichte Konzept

Mehr

Etwas zur Wiederholung bzw. Vertiefung

Etwas zur Wiederholung bzw. Vertiefung Etwas zur Wiederholung bzw. Vertiefung [1] Webtechnologien (2. Semester) HTTP Entwicklungsumgebungen PHP Teil1 bis 3 Javascript Teil1 und besonders Teil3 [2] Rechnernetze (1. Semester) OSI-Modell http://wi.f4.htw-berlin.de/users/messer/lv/wi-avs-ss16/index.html

Mehr

PHP, Ajax und JavaScript

PHP, Ajax und JavaScript PHP, Ajax und JavaScript Was ist AJAX? AJAX = Asynchronous JavaScript and XML. AJAX ist eine Technik für die schnelle und dynamische Web-Seiten zu erstellen. Wenn ein Browser auf ein -tag stößt,

Mehr

Web-Techniken Einführung in JavaScript

Web-Techniken Einführung in JavaScript Web-Techniken Einführung in JavaScript Prof. Dr. Axel Böttcher Winter 2012/13 15. September 2012 Ausführung von JavaScript Variante 1: Ausführung im Browser durch direktes Einbetten: 1 2

Mehr

Grundlagen Internet-Technologien. Ajax und Cookies&Sessions Version 1.00

Grundlagen Internet-Technologien. Ajax und Cookies&Sessions Version 1.00 Ajax und Cookies&Sessions Version 1.00 28.6.2010 1 aktuelles 2 Erweiterungen wir betrachten zwei Erweiterungen: Personalisierung der Web-Verbindung durch Cookies & Sessions AJAX: Kombination von Client-

Mehr

CS1024 Internetbasierte Systeme

CS1024 Internetbasierte Systeme Prof. Dr. Th. Letschert CS1024 Internetbasierte Systeme Bachelor of Science (Informatik) Integration Client-seitige und Server-seitige Verarbeitung Asynchronous JavaScript and XML http://w3schools.com/ajax/

Mehr

Software Engineering I (IB) Node.js. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München

Software Engineering I (IB) Node.js. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München Software Engineering I (IB) Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 15.11.2018 08:01 Inhaltsverzeichnis JavaScript auf dem Server!?............................ 1 Hello

Mehr

Websockets. Verbindungskanal zwischen Client-Anwendung (JavaScript in Browser) und Server.

Websockets. Verbindungskanal zwischen Client-Anwendung (JavaScript in Browser) und Server. Websockets Websocket: Verbindungskanal zwischen Client-Anwendung (JavaScript in Browser) und Server. Vergleichbar mit TCP/IP-Socket, aber durch Client-Skript direkt nutzbar Mit eingebauter Nachrichten-Fragmentierung.

Mehr

Verteilte Anwendungen. Hinweise zu den Aufgabenblättern Teil 1

Verteilte Anwendungen. Hinweise zu den Aufgabenblättern Teil 1 Verteilte Anwendungen Hinweise zu den Aufgabenblättern Teil 1 27.09.17 1 Wiederholung bzw. Vertiefung Webtechnologien (3. Semester) HTTP Entwicklungsumgebungen PHP Teil 1 bis 3 und besonders Teil4 (PHPUnit-Verfahren)

Mehr

Das Website Handbuch. Programmierung und Design C. WENZ T. HAUSER F. MAURICE

Das Website Handbuch. Programmierung und Design C. WENZ T. HAUSER F. MAURICE Das Website Handbuch Programmierung und Design C. WENZ T. HAUSER F. MAURICE DHTML-Praxisanwendungen function setzevariablen(e) { if (document.all) { x = event.clientx; y = event.clienty; else if (document.layers

Mehr

Funktionen nur wenn dann

Funktionen nur wenn dann Funktionen nur wenn dann Funktionen können auch nur in bestimmten Fällen angewendet werden. Code wird nur in einem bestimmten Fall ausgeführt Code Ja Code Block wahr if wahr? Nein else Code Block Alternative

Mehr

Web-Anwendungen, SS17 - Fragentypen

Web-Anwendungen, SS17 - Fragentypen Web-Anwendungen, SS17 - Fragentypen Hinweis: Dieses Dokument ist keine Klausur, sondern eine lose (und nicht notwendigerweise vollständige) Sammlung an Fragen wie sie auch in einer Klausur vorkommen könnten.

Mehr

DOM Document Object Model

DOM Document Object Model DOM Document Object Model J. Schneeberger Das Document Object Model (DOM) W3C Spezifikation Benutzt die Baumstruktur des (XML/HTML) Dokuments Programmierschnittstelle (API) für HTML- und XML-Dokumente

Mehr

Perl-Praxis. CGI-Skripte. Madis Rumming, Jan Krüger.

Perl-Praxis. CGI-Skripte. Madis Rumming, Jan Krüger. Perl-Praxis CGI-Skripte Madis Rumming, Jan Krüger {mrumming,jkrueger}@cebitec.uni-bielefeld.de Übersicht WWW, Web-Server CGI-Skripte Parameterübergabe Web-Formulare CGI.pm Perl-Praxis CGI-Skripte 2/16

Mehr

Architektur Verteilter Systeme. Hinweise zu den Aufgabenblättern Teil 1

Architektur Verteilter Systeme. Hinweise zu den Aufgabenblättern Teil 1 Architektur Verteilter Systeme Hinweise zu den Aufgabenblättern Teil 1 19.04.17 1 Etwas zur Wiederholung bzw. Vertiefung [1] Webtechnologien (2. Semester) HTTP Entwicklungsumgebungen PHP Teil 1 bis 3 Javascript

Mehr

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften

Mehr

Destructive AJAX. Stefan Proksch Christoph Kirchmayr

Destructive AJAX. Stefan Proksch Christoph Kirchmayr Destructive AJAX Stefan Proksch Christoph Kirchmayr AJAX-Einführung Asynchronous JavaScript And XML Clientseitiger JavaScript-Code Asynchrone Kommunikation XML DOM Klassisches Client-Server Modell AJAX-Modell

Mehr

Funktionen nur wenn dann

Funktionen nur wenn dann Funktionen nur wenn dann Funktionen können auch nur in bestimmten Fällen angewendet werden. Code wird nur in einem bestimmten Fall ausgeführt Code Ja Code Block wahr if wahr? Nein else Code Block Alternative

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Es können ganze Programmteile aufgenommen werden. Mithilfe von Funktionen kann man denselben

Mehr

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue

Mehr

Mul$media im Netz Wintersemester 2012/13. Übung 06

Mul$media im Netz Wintersemester 2012/13. Übung 06 Mul$media im Netz Wintersemester 2012/13 Übung 06 Ludwig- Maximilians- Universität München Mul6media im Netz WS 2012/13 - Übung 6-1 Lösung zu Übungsbla5 04 Ludwig- Maximilians- Universität München Mul6media

Mehr

Webtechnologien Teil 1: Entwicklungsumgebung(en)

Webtechnologien Teil 1: Entwicklungsumgebung(en) Webtechnologien Teil 1: Entwicklungsumgebung(en) 05.04.17 1 Literatur und Links [1-1] Seidler, Kai; Vogelsang, Kay: Das XAMPP Handbuch. Addison-Wesley, 2006 [1-2] http://www.apachefriends.org/download.html

Mehr

AJAX. Autor: Othmane Mihfad omihfad@hotmail.com

AJAX. Autor: Othmane Mihfad omihfad@hotmail.com AJAX Autor: Othmane Mihfad omihfad@hotmail.com Was ist AJAX? Ajax ist die Abkürzung für: Asyncronous JavaScript And XML Ajax stellt eine Kombination aus mehreren Technologien da: Javascript XML und XMLHTTPRequest

Mehr

Etwas zur Wiederholung bzw. Vertiefung

Etwas zur Wiederholung bzw. Vertiefung Etwas zur Wiederholung bzw. Vertiefung [1] Webtechnologien (2. Semester) HTTP Entwicklungsumgebungen PHP Teil 1 bis 3 Javascript Teil1 und besonders Teil4 (Ajax-Routine) [2] Rechnernetze (1. Semester)

Mehr

Literatur und Links. Webtechnologien SS 2017 Teil 1/Entwicklung

Literatur und Links. Webtechnologien SS 2017 Teil 1/Entwicklung Literatur und Links [1-1] Seidler, Kai; Vogelsang, Kay: Das XAMPP Handbuch. Addison-Wesley, 2006 [1-2] http://www.apachefriends.org/download.html http://sourceforge.net/projects/xampp/files/ [1-3] http://aktuell.de.selfhtml.org/extras/download.shtml

Mehr

JavaScript O'REILLY. Das umfassende Referenzwerk. Deutsche Übersetzung von Ralf Kuhnert, Gisbert W. Selke & Harald Selke

JavaScript O'REILLY. Das umfassende Referenzwerk. Deutsche Übersetzung von Ralf Kuhnert, Gisbert W. Selke & Harald Selke JavaScript Das umfassende Referenzwerk David Flanagan Deutsche Übersetzung von Ralf Kuhnert, Gisbert W. Selke & Harald Selke O'REILLY Cambridge Köln Paris Sebastopol Tokyo Vorwort xiii 1: Einführung in

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung

Mehr

Objekte haben eine eigene Notation, also Schreibweise, beim Aufruf:

Objekte haben eine eigene Notation, also Schreibweise, beim Aufruf: JavaScript - Inhalt 1. Objekte 2. Arrays 3. Callbacks 1)JavaScript Objekte Objekte haben eine eigene Notation, also Schreibweise, beim Aufruf: Eine Methode wird immer mit dem Namen des Objekts, einem Punkt

Mehr

Embedded Webserver in Forth

Embedded Webserver in Forth Embedded Webserver in Forth Die Anfrage vom Browser GET / HTTP/1.1 User-Agent: Opera/9.80 (Windows NT 5.1) Presto/2.12.388 Version/12.12 Host: 192.168.5.2 Accept: text/html, application/xml;q=0.9, application/xhtml+xml,

Mehr

Programmieren im Web 2.0

Programmieren im Web 2.0 Programmieren im Web 2.0 Inhaltsverzeichnis JavaScript Einführung DHTML als eine Grundlage Do s and Dont s Inhaltsverzeichnis / 2 Ajax Einführung Technische Grundlagen Das XMLHttpRequest Objekt Beispielanwendung

Mehr

Effiziente Administration Ihrer Netzwerkumgebung

Effiziente Administration Ihrer Netzwerkumgebung n ne atio n orm tione f n n ri tze onve nu Be nd K u Effiziente Administration Ihrer Netzwerkumgebung XML-WebService Schnittstelle Inhaltsverzeichnis Allgemeines 3 Web Service 3 Starten und Kontrollieren

Mehr

javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline.

javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline. javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline. Inhalts-Verzeichnis 1. Allgemeine Richtlinien...1 1.1 Anzahl

Mehr

2. WWW-Protokolle und -Formate

2. WWW-Protokolle und -Formate 2. WWW-Protokolle und -Formate Inhalt: HTTP, allgemeiner syntaktischer Aufbau Wichtige Methoden des HTTP-Protokolls Aufbau von Web-Applikationen unter Nutzung von HTTP, HTML, DOM XML, XML-DTD und XML-Schema

Mehr

Alte Technik neu verpackt

Alte Technik neu verpackt Alte Technik neu verpackt AJAX hilft Anwendungen im Web interaktiver zu werden Christian Aurich Ronny Engelmann Alte Technik neu verpackt Entwicklung von AJAX Was ist Web 2.0 / Social Web? Anwendungen

Mehr

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Mithilfe von Funktionen kann man denselben Code von mehreren Stellen des Programms aus aufrufen.

Mehr

datenlink-schnittstelle Version 1.0

datenlink-schnittstelle Version 1.0 www.datenlink.info datenlink-schnittstelle Version 1.0 Inhalt 1 Allgemeines 2 1.1 Datenaustausch... 2 1.2 Zugriffstypen... 2 2 Format der Rückgabewerte 3 2.1 HTTP-Statuscodes... 3 2.2 Rückgabewerte...

Mehr

a) Erklären Sie, was die folgenden Eigenschaften eines XML-Dokumentes aussagen? wohlgeformt gültig

a) Erklären Sie, was die folgenden Eigenschaften eines XML-Dokumentes aussagen? wohlgeformt gültig HTW Dresden Fakultät Informatik/Mathematik Internettechnologien Aufgaben zur Klausurvorbereitung Die hier gestellten Aufgaben sind bzgl. Art der Fragestellungen mit der Klausur vergleichbar. Zur Klausur

Mehr

JavaScript AJAX. Univ.-Prof. Dr.-Ing. Wolfgang Maass. Chair in Information and Service Systems Department of Law and Economics

JavaScript AJAX. Univ.-Prof. Dr.-Ing. Wolfgang Maass. Chair in Information and Service Systems Department of Law and Economics JavaScript AJAX Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Department of Law and Economics WS 2011/2012 Mittwoch, 8:00 9:30 Raum HS 021, B4 1 Wrap-Up JavaScript (JS) ermöglicht

Mehr

a) Erklären Sie, was die folgenden Eigenschaften eines XML-Dokumentes aussagen? wohlgeformt gültig

a) Erklären Sie, was die folgenden Eigenschaften eines XML-Dokumentes aussagen? wohlgeformt gültig HTW Dresden Fakultät Informatik/Mathematik Internettechnologien Aufgaben zur Klausurvorbereitung Die hier gestellten Aufgaben sind bzgl. Art der Fragestellungen mit der Klausur vergleichbar. Zur Klausur

Mehr

Inhalt. Teil I: Der Sprachkern von JavaScript

Inhalt. Teil I: Der Sprachkern von JavaScript Inhalt Vorwort.... 1 Einführung in JavaScript... 1 1.1 Der JavaScript-Sprachkern... 4 1.2 Clientseitiges JavaScript... 9 Teil I: Der Sprachkern von JavaScript 2 Die lexikalische Struktur... 21 2.1 Zeichensatz...

Mehr

HTML Scripting. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 06. Dezember 2017

HTML Scripting. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 06. Dezember 2017 Informatik 1 für Nebenfachstudierende Grundmodul HTML Scripting Kai-Steffen Hielscher Folienversion: 06. Dezember 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht Kapitel 2 - HTML

Mehr

REST Client mit RPG und IceBreak

REST Client mit RPG und IceBreak REST Client mit RPG und IceBreak ( 2018 Markus A. Litters) Inhaltsverzeichnis 1. IBM i als REST Client... 2 2. Service testen... 3 3. Der RPG Code... 5 3.1 Vorbereitung... 5 3.2 REST Aufruf... 7 4. Fazit...

Mehr

Integration von UIS-Webdiensten

Integration von UIS-Webdiensten Integration von UIS-Webdiensten neue Möglichkeiten durch Web 2.0 basierte Technologien Clemens Düpmeier, Werner Geiger, Claudia Greceanu (duepmeier, geiger, greceanu@iai.fzk.de) Institut für Angewandte

Mehr

JavaScript clientseitige Programmiersprache zur Dynamisierung von Internetseiten

JavaScript clientseitige Programmiersprache zur Dynamisierung von Internetseiten Einführung in JavaScript anhand von Beispielen JavaScript clientseitige Programmiersprache zur Dynamisierung von Internetseiten Grundbedingungen die Einbindung erfolgt über ein Objektmodell (Objekte mit

Mehr

Grundlagen Internet-Technologien INF3171

Grundlagen Internet-Technologien INF3171 Grundlagen Internet-Technologien INF3171 Cookies & Sessions & ekaay AJAX Version 1.0 27.06.2011 aktuelles Internet Corporation for Assigned Names and Numbers (ICANN): ab 2012 beliebige Toplevel-Domains

Mehr

Klassen als Datenstrukturen

Klassen als Datenstrukturen Einstieg in die Informatik mit Java, Vorlesung vom 27.11.07 Übersicht 1 Klassen als Datenstruktur 2 Vereinbarung von Klassen 3 Erzeugen von Objekten - Instanzen einer Klasse 4 Zugriff auf Attribute 5 Initialisierung

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

Es gibt immer einen Schlüssel und einen zugehörigen Wert,

Es gibt immer einen Schlüssel und einen zugehörigen Wert, JSON JavaScript Object Notation Im Unternehmenskontext spielt der Austausch von Daten zwischen unterschiedlichen Systemen eine große Rolle. Dabei müssen oft Technologie und Zuständigkeitsgrenzen überwunden

Mehr

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

Kapitel WT:VI. VI. Architekturen und Middleware-Technologien Kapitel WT:VI VI. Architekturen und Middleware-Technologien Client-Server-Architekturen Ajax REST Remote Procedure Call Systems Distributed Object Systems Web-Services via SOAP Message-Oriented Middleware

Mehr

HSR Rapperswil 2001 Markus Rigling. Programmieren: Exceptions Auflage

HSR Rapperswil 2001 Markus Rigling. Programmieren: Exceptions Auflage HSR Rapperswil 2001 Markus Rigling Programmieren: Exceptions 1 1. Auflage Inhaltsverzeichnis: 1. Was sind Exceptions?... 3 2. Struktur des Exception Handling... 3 3. Try-Block... 4 4. Exception Handler

Mehr

Computop Mobile SDK Authentisierung Integration Guide

Computop Mobile SDK Authentisierung Integration Guide Computop Mobile SDK Authentisierung Integration Guide Version 6.2.2 Stand: 25.08.2017 Inhaltsverzeichnis Über Computop Mobile SDK Authentisierung... 4 Allgemeines zu Mobile SDK Authentisierung... 4 Diagramm

Mehr

NAME-VALUE PAIR API ENTWICKLER-DEFINITION DER EXPORT-SCHNITTSTELLE

NAME-VALUE PAIR API ENTWICKLER-DEFINITION DER EXPORT-SCHNITTSTELLE VERANSTALTUNGSKALENDER DER STÄDTE NÜRNBERG, FÜRTH, ERLANGEN, SCHWABACH NAME-VALUE PAIR API ENTWICKLER-DEFINITION DER EXPORT-SCHNITTSTELLE Version 1.1.1 VORWORT Dieses Dokument beschreibt das Name-Value

Mehr

Organisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr

Organisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr Organisatorisches Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, 14.10., 14 Uhr bis Do, 23.10., 8Uhr. 14.10.2014 IT I - VO 1 1 IT I: Heute Wiederholung CuP ctd: this Arrays, ArrayLists Schleifen:

Mehr

AJAX Implementierung mit Joomla!

AJAX Implementierung mit Joomla! Joomla! DAY TM AUSTRIA 2015 AJAX Implementierung mit Joomla! Inhalt AJAX Implementierung mit Joomla! Inhalt Einleitung Was ist AJAX und wie funktioniert es Joomla! & AJAX AJAX in Templates mit Komponenten

Mehr

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches

Mehr

Unified-E Standard WebHttp Adapter

Unified-E Standard WebHttp Adapter Unified-E Standard WebHttp Adapter Version: 1.5.0.2 und höher Juli 2017 Inhalt 1 Allgemeines... 2 2 Adapter-Parameter in Unified-E... 2 3 Symbolische Adressierung... 3 3.1 ReadValues-Methode... 4 3.2 WriteValues

Mehr

1)Login Funktion ohne Datenbank

1)Login Funktion ohne Datenbank 1)Login Funktion ohne Datenbank Die Seite privat.php soll erst aufrufbar sein, wenn der Login, mit der Datei login.html erfolgreich war. Die ist verknüpft mit der login.php. Die logout.php dient zur ordentlichen

Mehr

Seminar im Sommersemester 2006 Institut für Mikrosystemtechnik, niversität Siegen

Seminar im Sommersemester 2006 Institut für Mikrosystemtechnik, niversität Siegen Web 2.0 im Sommersemester 2006 Mikrosystemtechnik, niversität Siegen Seite 1 Inhalt Einführung Eine DTD erstellen Das XML-Dokument Formatierung mittels XSLT Die HTML-Ausgabe Das Document Object Model Ajax

Mehr

Name Klasse Datum. Datentyp: Definition: Anführungszeichen

Name Klasse Datum. Datentyp: Definition: Anführungszeichen Name Klasse Datum 1 Allgemeines Die wachsende Notwendigkeit Daten schnell und strukturiert zwischen einzelnen Systemen zu verteilen, hat dem XML Format einen wichtigen Platz in der IT Systemlandschaft

Mehr

Programmieren 2 (Prof. Hasbargen) Klausur

Programmieren 2 (Prof. Hasbargen) Klausur Programmieren 2 (Prof. Hasbargen) 1 Klausur Aufgabe 1 (10 Punkte) Dynamisierung von HTML-Seiten HTML-Seiten sind eine gängige Art und Weise, Informationen darzustellen. Nennen Sie die Gründe, welche Vorteile

Mehr

Medien und Webtechnologie

Medien und Webtechnologie Medien und Webtechnologie Herstellerkatalog als Webanwendung Wintersemester 2005/06 18. Januar 2006 M. Wintermeier, C. Brottka, S. Keitsch Unser Ziel Beim Ausführen einer Funktion soll keine neue HTML-Seite

Mehr

Literatur. VA SS Teil 5/Messages

Literatur. VA SS Teil 5/Messages Literatur [5-1] https://en.wikipedia.org/wiki/message-oriented_middleware [5-2] https://en.wikipedia.org/wiki/advanced_message_queuing_protocol http://www.amqp.org/specification/0-10/amqp-org-download

Mehr

Komponenten-basierte Entwicklung Teil 4: Exceptions

Komponenten-basierte Entwicklung Teil 4: Exceptions Komponenten-basierte Entwicklung Teil 4: Exceptions 31.10.14 1 Definitionen I Exception = Ausnahme = Situation, in der während einer Operation eine der Bedingungen des Typs bzw. der Klasse verletzt wird

Mehr

Literatur und Links. Webtechnologien WS 2017/18 Teil 1/Entwicklung

Literatur und Links. Webtechnologien WS 2017/18 Teil 1/Entwicklung Literatur und Links [1-1] Seidler, Kai; Vogelsang, Kay: Das XAMPP Handbuch. Addison-Wesley, 2006 [1-2] http://www.apachefriends.org/download.html http://sourceforge.net/projects/xampp/files/ [1-3] http://aktuell.de.selfhtml.org/extras/download.shtml

Mehr

Organisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50

Organisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50 Organisatorisches Vorlesung Donnerstag 8:35 bis 10:05 Übung drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50 Tutorium (Mehr oder weniger) abwechselnd Mo und Mi 10-11:30 Termine

Mehr

Datenaustausch mit JSON

Datenaustausch mit JSON Datenaustausch mit JSON Datenaustausch Kodierung von Daten Binärformate (PNG, MP4, Word,... ) effizient, aufwändig, nicht menschenlesbar Textformate (Java,... ): menschenlesbar, Aufwand für Ein- und Ausgabe

Mehr

<? $ZeilenMax = 9; $SpaltenMax = 9; echo "<pre>";

<? $ZeilenMax = 9; $SpaltenMax = 9; echo <pre>; Vorbemerkungen Diese Schrittanleitung bezieht sich auf die Aufgaben 4 bis 6 von "Übung 2 - Schleifenbeispiele (1)" Sie soll als Anregung dienen, wie Sie Ihren Code blockweise erstellen und testen können.

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden

Mehr

Benutzerhandbuch. Neukirchen

Benutzerhandbuch. Neukirchen Benutzerhandbuch Neukirchen August 2015 Kontakt: Kai Hübl Lambertsberg 17 D-34626 Neukirchen kai.huebl@asneg.de 3 Contents 1 Einleitung... 5 1.1 Inhalt... 5 1.2 OpcUaWebServer... 5 1.3 Web Panel... 6 2

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 24 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Klassen als Datenstruktur 2 Vereinbarung von

Mehr

Web Sockets mit HTML5. Quelle: www.html5rocks.com/de

Web Sockets mit HTML5. Quelle: www.html5rocks.com/de Web Sockets mit HTML5 Quelle: www.html5rocks.com/de Intensive Client-Server-Kommunikation: Beispiele Online-Spiele mit mehreren Mitspielern Chat-Anwendungen Live-Sport-Ticker Echtzeit-Aktualisierungen

Mehr

aibrowser Ausgabe

aibrowser Ausgabe aibrowser Ausgabe 17.01.2018 Inhalt 1 Start und Menü-Balken...2 Einstellungen...3 General...3 Autologin...4 Info...5 Übergabe der Scan-Daten an den aibrowser...6 Methode 1: JavaScript Function Call...6

Mehr

Verteilte Anwendungen. Schrittweise Verfeinerung (Beispiel)

Verteilte Anwendungen. Schrittweise Verfeinerung (Beispiel) Verteilte Anwendungen Schrittweise Verfeinerung (Beispiel) 08.04.18 1 Literatur [1] https://en.wikipedia.org/wiki/top-down_and_bottom-up_design [2] https://en.wikipedia.org/wiki/refinement_(computing)

Mehr

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe: Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -

Mehr

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Organisatorisches Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Nächste Woche VO und UE am Dienstag, den 30.10.! UE im CR IL/IT Wissensüberprüfung am Zettel 25.10.2018 IT I - VO 3 1 Organisatorisches

Mehr

Schleifen: Immer wieder dasselbe tun

Schleifen: Immer wieder dasselbe tun Schleifen: Immer wieder dasselbe tun Bei einer Schleife werden Anweisungen immer wieder ausgeführt, solange die Bedingung wahr ist. Dafür muss man eine Variable immer wieder ändern, solange bis eine Überprüfung

Mehr

Ajax hype oder hilfreich? Jörn Clausen joern@techfak.uni-bielefeld.de

Ajax hype oder hilfreich? Jörn Clausen joern@techfak.uni-bielefeld.de Ajax hype oder hilfreich? Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht das World Wide Web im Wandel der Zeit XMLHttpRequest typische Probleme und Lösungen Vor- und Nachteile Anwendung: Mashups

Mehr

Vorteil. Einfach zu realisieren performant. Übersichtlich performant. "Vererbung" von Änderungen an vererbender Tabelle

Vorteil. Einfach zu realisieren performant. Übersichtlich performant. Vererbung von Änderungen an vererbender Tabelle O/R Mapping: Abbildung von Vererbungsbeziehungen Strategie Vorteil Nachteil 1- Tabelle Einfach zu realisieren performant Leere Felder kein not-null Beschränkungen Identifikation der Klasse über eignes

Mehr

Softwaretechnik. Vorlesung 02: Spezifikation mit Typen. Peter Thiemann SS Universität Freiburg, Germany

Softwaretechnik. Vorlesung 02: Spezifikation mit Typen. Peter Thiemann SS Universität Freiburg, Germany Softwaretechnik Vorlesung 02: Spezifikation mit Typen Peter Thiemann Universität Freiburg, Germany SS 2008 Peter Thiemann (Univ. Freiburg) Softwaretechnik SWT 1 / 21 Inhalt Spezifikation mit Typen Exkursion:

Mehr

Leider gibt es in einigen Fällen keine wirklich einheitlichen Fachbegriffe im Deutschen, obwohl einige als "der Standard" bezeichnet werden.

Leider gibt es in einigen Fällen keine wirklich einheitlichen Fachbegriffe im Deutschen, obwohl einige als der Standard bezeichnet werden. 37 Leider gibt es in einigen Fällen keine wirklich einheitlichen Fachbegriffe im Deutschen, obwohl einige als "der Standard" bezeichnet werden. der Begriff der Klasse ist immer eindeutig. Die verschiedenen

Mehr

Internet-Programmierung

Internet-Programmierung JavaScript und DOM 18.5.2009 1 Verbindung JavaScript und HTML Bisher: JavaScript nette Scriptsprache Interessant, weil mit HTML verbindbar Erweituerung von HTML/CSS 2 DOM DOM: Document Object Model http://www.w3.org/dom/

Mehr

Inhaltsverzeichnis. Open-Xchange Authentication & Sessionhandling

Inhaltsverzeichnis. Open-Xchange Authentication & Sessionhandling Open-Xchange Authentication & Sessionhandling Version Date Author Changes 1.0 28.08.2006 Stephan Martin Initiale Version 1.1 29.08.2006 Marcus Klein Details Authentication via JSON 1.2 04.09.2006 Stephan

Mehr

AVID-Übung 5. Asynchronous.NET Remoting. 15. Juli Andreas I. Schmied Abteilung Verteilte Systeme Projektgruppe AspectIX

AVID-Übung 5. Asynchronous.NET Remoting. 15. Juli Andreas I. Schmied Abteilung Verteilte Systeme Projektgruppe AspectIX Abteilung Verteilte Systeme Projektgruppe AspectIX Universität Ulm Fakultät für Informatik AVID-Übung 5 Asynchronous.NET Remoting 15. Juli 2004 Andreas I. Schmied (schmied@inf...) Asynchrone Methodenaufrufe

Mehr

Ausnahmen (Exceptions)

Ausnahmen (Exceptions) Ausnahmen (Exceptions) Herkömmliche Fehlerbehandlung Jede Methode liefert einen Fehlercode int result; result = p(); if (result == ok) { result = q(); if (result == ok) { result = r(); if (result == ok)

Mehr

DOKUMENTATION. CaptchaAd als Werbevariante. Einbindung in Ihrer Webseite. Die Schritte zur Integration des CaptchaAds im Einzelnen

DOKUMENTATION. CaptchaAd als Werbevariante. Einbindung in Ihrer Webseite. Die Schritte zur Integration des CaptchaAds im Einzelnen CaptchaAd als Werbevariante Stand: 21. November 2016 Damit die Integration von CaptchaAd Ihnen noch leichter fällt, haben wir die notwendigen Schritte in diesem Leitfaden zusammen gefasst. Mit etwas Programmierkenntnissen

Mehr

(Ausnahmebehandlung)

(Ausnahmebehandlung) 16. Exceptions (Ausnahmebehandlung) 16-1 Objektorientierte Programmierung (Winter 2010/2011) Kapitel 16: Exceptions (Ausnahmebehandlung) Motivation Throw und Catch 16. Exceptions (Ausnahmebehandlung) 16-2

Mehr

Exceptions. CoMa-Übung VII TU Berlin. CoMa-Übung VII (TU Berlin) Exceptions / 1

Exceptions. CoMa-Übung VII TU Berlin. CoMa-Übung VII (TU Berlin) Exceptions / 1 Exceptions CoMa-Übung VII TU Berlin 7.11.013 CoMa-Übung VII (TU Berlin) Exceptions 7.11.013 1 / 1 Themen der Übung 1 Compilezeit- und Laufzeitfehler Exceptions 3 Try-Catch-Finally CoMa-Übung VII (TU Berlin)

Mehr

O'REILLT Beijing Cambridge Famham Köln Paris Sebastopol Taipei Tokyo. JavaScript. Das umfassende Referenzwerk. David Flanagan

O'REILLT Beijing Cambridge Famham Köln Paris Sebastopol Taipei Tokyo. JavaScript. Das umfassende Referenzwerk. David Flanagan 3. AUFLAGE JavaScript Das umfassende Referenzwerk David Flanagan Deutsche Übersetzung von Lars Schulten & Ulrich Speidel O'REILLT Beijing Cambridge Famham Köln Paris Sebastopol Taipei Tokyo Inhalt Vorwort

Mehr

Kapitel 10. Verweise und Referenzen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 10. Verweise und Referenzen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 10 Verweise und Referenzen Inhalt von Kapitel 10 Verweise und Referenzen 10.1 Das Schlüsselwort this Definition Verwendungszweck Klassenmethoden EINSCHUB: Musterlösung zu Übung 4.1 10.2 Objektreferenzen

Mehr

string: Beispiele: Test, test, `Seitentitel: ${document.title}`

string: Beispiele: Test, test, `Seitentitel: ${document.title}` JS Crashkurs Einige JavaScript spezifische Dinge zusammengefasst. Datentypen Javascript kennt folgende primitiven Datentypen: undefined number: Beispiele: 1 1.0.0 1. 0x1 1e0 boolean: true oder false string:

Mehr

Ajax HACKS. O'REILLY* Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo. Bruce W Perry. Deutsche Übersetzung von Kathrin Lichtenberg

Ajax HACKS. O'REILLY* Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo. Bruce W Perry. Deutsche Übersetzung von Kathrin Lichtenberg Ajax HACKS Bruce W Perry Deutsche Übersetzung von Kathrin Lichtenberg O'REILLY* Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo Inhalt Vorwort Credits Einleitung IX XI XV Kapitel 1. Ajax-Grundlagen

Mehr

JavaScript Basiskonzepte

JavaScript Basiskonzepte JavaScript Basiskonzepte Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Department of Law and Economics WS 2011/2012 Mittwoch, 8:00 9:30 Raum HS 021, B4 1 Wrap-Up HTML dient

Mehr

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon

Mehr