Folien - Das Fachgebiet Software Engineering

Werbung
Aktuelle SE-Praktiken für das
WWW
Einführung
Leif Singer
<[email protected]>
Leibniz Universität Hannover, FG SE
07.04.2010
Agenda
• Einführung
• Themenvorstellung
• letzte Möglichkeit zur Anmeldung
• Grundlagen: Internet, WWW, HTTP, …
WWW-Seminar
07.04.2010
2
Motivation
• Webentwicklung gewinnt weiter an Bedeutung
– nicht nur in der Öffentlichkeit – auch in Unternehmen
• eine Unmenge an Techniken, Praktiken, Frameworks, ...
– viel Hype, viel Gutes
– wie trennen?
• Überblick geben
– wie geht Webentwicklung?
– welche Möglichkeiten gibt es?
• SE-Prinzipien wiederfinden
– nicht einzelne Technologien lernen
– Zusammenhänge verstehen
Aktuelle Software-Engineering-Praktiken
für das World Wide Web
3
26. Januar 2010
3
Ziele
• Ausarbeitung
– strukturiert und verständlich schreiben
– spätestens für die Abschlussarbeit obligatorisch
– hilfreich aber auch bei jeder Email
• Vorträge halten
– wichtig im Studium
– noch viel wichtiger im Berufsleben!
– deshalb: hier üben, wo es alle gut meinen
• Hypes kritisch betrachten
– nicht nur in der Informatik eine sinnvolle Fähigkeit
Aktuelle Software-Engineering-Praktiken
für das World Wide Web
4
26. Januar 2010
4
Organisatorisches
• ca. 14 Termine á 90 Minuten
– je ein Vortrag (~60 Minuten) + Diskussion (Inhalt und Vortrag)
– heute: Einführung durch LS & TW
• Termin
– Mittwoch nachmittags, 15:00 - 16:30
• Anmeldung und Themenausgabe bei LS / TW
– letzte Gelegenheit: nachher
• nach Anmeldung
– Materialien abholen (spätestens 5 Wochen vor Vortrag)
– 2 Wochen vor Vortrag: Ausarbeitung an Leif Singer
– 1 Woche vor Vortrag: Präsentationsskizze mit Leif Singer besprechen
Aktuelle Software-Engineering-Praktiken
für das World Wide Web
5
26. Januar 2010
5
Ausarbeitung
• 6-8 Seiten Einführung in das bearbeitete Thema (de/en)
– Template: siehe Webseite
1.
2.
3.
4.
5.
6.
Kontext: was, wofür (wieso?), in welchem Umfeld?
grundlegende Prinzipien erklären (gerne auch Diagramm)
Vor- und Nachteile abwägen
Beispiele geben (gerne auch Code und / oder Screenshots)
mit SE-Praktiken in Verbindung bringen
Zusammenfassen und Bewertung / Empfehlung abgeben
Aktuelle Software-Engineering-Praktiken
für das World Wide Web
6
26. Januar 2010
6
VORSTELLUNG DER THEMEN
WWW-Seminar
07.04.2010
7
Vorstellung der Themen
• 16 Themen auf Webseite gelistet (mind. 2 werden
gestrichen)
• bisher: 7 vergeben
• 9 noch offen:
–
–
–
–
–
–
–
–
–
CSS Frameworks
REST: Atom und HATEOAS
Reine JavaScript Clients
MVC Frameworks für das Web
Testen und Debuggen von Webanwendungen
Mashups
Web Scraping
"Enterprise 2.0„
Experiment-Driven Development
WWW-Seminar
07.04.2010
8
Vorstellung der Themen
• Sucht noch jemand ein Thema?
– wir übernehmen dann teilweise die noch offenen – ohne Ausarbeitung
– ggf. Zusammenlegung von Themen, die zusammenpassen
– insgesamt 12-14 Termine
• jetzt: Vorstellung aller Themen
– hinterher: bitte melden!
WWW-Seminar
07.04.2010
9
CSS Frameworks
•
•
•
•
HTML strukturiert Inhalte
JavaScript regelt Interaktivität
CSS bestimmt Aussehen und Anordnung
statt immer wieder bei Null zu starten, hat man sich auch hier
Frameworks geschaffen:
• eine eigene, CSS-ähnliche Sprache, die nach CSS kompiliert
– ergibt bspw. Variablen und Arithmetik für Farben
• vorgefertigte Stylesheets, die häufige Problemlösungen und
Best Practices schon enthalten
– bspw. fertige Grids
WWW-Seminar
07.04.2010
10
JavaScript Frameworks
• HTML strukturiert Inhalte
• CSS bestimmt Aussehen und Anordnung
• JavaScript regelt Interaktivität
• JS ist ein Dialekt der ECMAScript-Spezifikation
– genau wie JScript und ActionScript
• Auch hier: Frameworks bieten häufig benötigte Lösungen,
kapseln Komplexität
–
–
–
–
Unterschiede zwischen Browsern
Abkürzungen für häufig verwendete Funktionen
Bibliotheken für beliebte Effekte
…
WWW-Seminar
07.04.2010
11
AJAX und Comet
• JavaScript kann auch selbst HTTP-Anfragen stellen
und die Ergebnisse verarbeiten
• so kann man programmatisch Teile der Seite neu
laden – das ist dann AJAX
– mit weiteren Tricks auch kontinuierlich: Comet
• verbessert Benutzbarkeit: Anwendung wirkt schneller
und zusammenhängender
• Comet ermöglicht Benachrichtigungen in Echtzeit – im
Browser
• ermöglicht andere Programmiermodelle – bspw. da
man auch Code einfach nachladen kann
WWW-Seminar
07.04.2010
12
REST
• „Representational State Transfer“ – ein Client-ServerArchitekturstil, beschrieben in der Dissertation von Roy
Fielding
– hat HTTP mitentwickelt
•
•
•
•
Ressourcen sind durch URIs identifizierbar
alle Ressourcen bieten dieselbe Schnittstelle
ein Austausch ist zustandslos
…
• das ist erst mal genau das Web – wenngleich man diese
Einschränkungen auch verletzen kann (sollte man aber nicht)
WWW-Seminar
07.04.2010
13
HATEOAS
• „Hypermedia as the Engine of Application State“
– eine weiteres wichtiges REST-Prinzip
• Client kennt Basis-URI, Medientypen und die Bedeutung
möglicher Zustandsübergänge
• Server fügt nun Links in Antworten ein, die die möglichen
Transitionen im Anwendungszustand beschreiben
GET /auction/9192
<auction id=„9192“ name=„Super-cute pink Plush Bunny“>
<link rel=„seller“ href=„/user/fred“ />
</auction>
WWW-Seminar
07.04.2010
14
Reine JavaScript Clients
• JavaScript kann …
– DOM und CSS verändern
– Code und Daten über das Netz nachladen
– Vektorbilder zeichnen
• Idee: nur JavaScript verwenden, alle anderen Technologien
durch Frameworks, Bibliotheken wegkapseln
– Browser lädt einfach (viel) JavaScript und führt es aus
– JavaScript benutzt den Browser für die Darstellung und den Server für
Logik und Daten
Æ Näherung an das Programmiermodell für Desktopanwendungen
• Cappuccino, ExtJS, SproutCore
WWW-Seminar
07.04.2010
15
MVC Frameworks für das Web
• Model-View-Controller – wichtiges Pattern für den Desktop
– wurde adaptiert für das Web („Web MVC“, „MVC Model 2“, …)
– für die serverseitige Programmierung
• Server erhält Anfrage und sucht dafür den verantwortlichen
Controller, ggf. auch die verantwortliche Methode
• Controller arbeitet auf Datenmodell und gibt Ergebnisse an
eine Template weiter
• Template „rendert sich“ – baut HTML, JavaScript und CSS
zusammen, fügt Daten ein
– Framework gibt gerenderte Template an den Browser zurück
• wichtiges Pattern, interessante Frameworks
WWW-Seminar
07.04.2010
16
Testen und Debuggen von Webanwendungen
• bekannteste Art zu testen: Unit Tests (JUnit, …)
– testet aber nur die Einzelteile („Units“)
– Integration der Einzelteile ist ebenso wichtig!
• funktionales Testen für das Web simuliert Browser, führt
Testskript auf Webanwendung aus
– rufe http://google.com auf
– gebe in das Textfeld namens „q“ den Text „WebTest“ ein
– klicke auf den Knopf „I‘m Feeling Lucky“
– stelle sicher, dass der Titel der Seite jetzt „Canoo WebTest“ lautet
Æ u.a. toll für Akzeptanztests!
• außerdem: Debugger für das DOM und JavaScript
– Firebug, WebKit Inspector, …
WWW-Seminar
07.04.2010
17
Mashups
• ein Mashup ist eine Verbindung von existierenden
Webseiten oder Diensten zu einer neuen Anwendung
– dabei werden Daten, Logik und selbst Oberfläche integriert
• Beispiele:
– http://housingmaps.com
– ein YouTube-Video in eine Webseite einbinden
– ein Business Mashup, das alle Daten zu einem Kunden integriert
• nimmt Telefonnummer entgegen
• liefert vergangene Bestellungen, gekaufte Produkte, relevante
Serviceartikel, Karte mit Servicecentern in der Nähe, …
• Ansätze zur Mashup-Konstruktion für Endbenutzer
– erfüllen meist ein Nischenbedürfnis, müssen schnell verfügbar sein
WWW-Seminar
07.04.2010
18
Web Scraping
• Webseiten sind relativ unstrukturiert: HTML ist sehr allgemein
– „Tabelle“, „Liste“, … unklar von was, unklar ob richtig benutzt
• dennoch: Daten von Webseiten programmatisch verwenden
– in einer eigenen Anwendung oder auch in einem Mashup
• (Web/Screen) Scraper sind Programme, die die Regeln
kennen, nach denen eine Webseite aufgebaut ist
– hat der Programmierer formuliert
• überführen Daten in strukturierte Form, etwa XML
– schaffen quasi API ohne Kooperation des Betreibers
WWW-Seminar
07.04.2010
19
„Web 2.0“
• Was ist das überhaupt?
– hat inzwischen viele „Definitionen“ – also faktisch keine
– Wikis, Blogs, Feeds, Mashups, Soziale Netzwerke, User-Generated
Content, Crowdsourcing, Collective Intelligence, das Web als
Plattform, …
• Der Begriff an sich bedeutet also eigentlich nichts!
– Trotzdem ist er ein guter Startpunkt für Nachforschungen.
• Welche Phänomene sind die interessantesten?
• Welche sind uns wichtig?
• Welche sind wirklich neu?
WWW-Seminar
07.04.2010
20
„Enterprise 2.0“
• die Übertragung der „Web 2.0 Phänomene“ auf
Unternehmen
– ebenso schwammig – und noch mehr
• Soziale Software? Gewachsene statt vorgegebener
Strukturen?
• wie kann man die Ideen aus dem vorherigen
Vortrag sinnvoll im Unternehmen einsetzen?
– Unternehmen haben ganz andere Ressourcen als das
offene Web – verwenden sie vielleicht ähnliche Ideen
schon seit Jahren?
– Mitarbeiter in einem Unternehmen haben andere Ziele als
Web Surfer – benötigen sie diese Effekte überhaupt?
WWW-Seminar
07.04.2010
21
Entwicklungsmuster für „2.0“
• Angenommen, wir wüssten, was „2.0“ ist …
– Wie kommen wir dahin!?
• gesucht: Best Practices und Muster, die zu den
mit „2.0“ assoziierten Effekten führen können
– Wie motiviert man Benutzer im öffentlichen Web, wie
im Unternehmen?
– An welche Risiken und Probleme muss man denken,
welche Lösungsansätze gibt es?
WWW-Seminar
07.04.2010
22
SQL vs. „NoSQL“
• seit einer Weile sind sog. „NoSQL“-Datenbanken in Mode
• klassisches RDBMS: Schema definiert Struktur,
Abfragesprache kann auf Daten suchen
• „NoSQL“-Datenbank: kein festes Schema vorgegeben,
erleichtert Einstieg, schnelle Entwicklung, Replikation
– Suche aber oft viel aufwendiger
• hitzige Diskussionen:
– „RDBMS skalieren nicht!“
– „NoSQL-Datenbanken sind für die, die kein SQL können!“
Æ die Wahrheit liegt wahrscheinlich in einer Abwägung von
Anforderungen, Zielgruppen, etc. verborgen
WWW-Seminar
07.04.2010
23
Verarbeitung großer Datenmengen in der Cloud
• insb. beliebte Webanwendungen generieren sehr viele
Daten, die verarbeitet werden müssen
– getaggte Artikel immer wieder clustern
– hochgeladene Videos müssen transkodiert werden
– ggf. aber auch nur zu Spitzenzeiten / einmalig
• Cloud Computing bietet Elastizität: Skalierbarkeit nach oben
und unten
– schwere Aufgaben in die Cloud auslagern, so viele „Instanzen“
rechnen lassen wie nötig
– hinterher die Instanzen wieder löschen – man bezahlt nur, was man
benutzt / reserviert hat
– Anbieter: Amazon EC2, Google AppEngine, Windows Azure
WWW-Seminar
07.04.2010
24
Experiment-Driven Development
• Es ist sinnvoll, Änderungen an einer Anwendung vorher zu
erproben
– klassisch ist das aber sehr umständlich / kostspielig
• Webanwendungen haben oft …
– viele Benutzer
– ein zentrales Deployment
• Experimente sind also leichter / günstiger durchzuführen –
auch kleine
– bspw. A/B-Tests, die den Einfluss verschiedener Layouts, Farben
oder Formulierungen auf eine bestimmte Metrik (wie bspw.
Registrierungen, Umsatz, …) zeigen
WWW-Seminar
07.04.2010
25
WWW-Seminar
07.04.2010
26
LETZTE MÖGLICHKEIT ZUR
ANMELDUNG
WWW-Seminar
07.04.2010
27
Anmeldung
Nr.
Termin
Referent
Thema
1
07.04.10
Leif Singer, Tristan Wehrmaker
Einführung & Grundlagen von WWW und HTTP
2
14.04.10
Leif Singer
CSS Einführung & CSS Frameworks
3
21.04.10
Karsten Möckel
JavaScript Frameworks
4
28.04.10
Steffen Platte
AJAX und Comet
5
05.05.10
Olga Liskin
REST: Grundlagen & HATEOAS
6
12.05.10
Olga Liskin*
REST: Praktischer Teil?
7
19.05.10
JK
Web Scraping
8
02.06.10
Wladimir Exner
„Web 2.0“ & „Enterprise 2.0“
9
09.06.10
Armin Doroudian
Entwicklungsmuster für "2.0"
10
16.06.10
Leif Singer, Tristan Wehrmaker
Testen und Debuggen von Webanwendungen & Mashups
11
23.06.10
Mark Kubacki
SQL vs. "NoSQL"
12
30.06.10
Andy Stumpp
Verarbeitung großer Datenmengen in der Cloud
13
07.07.10
JK*
Experiment-Driven Development
14
14.07.10
Leif Singer
MVC Frameworks für das Web & Reine JavaScript Clients
WWW-Seminar
07.04.2010
28
Anmeldung
• endgültige Tabelle im Laufe der Woche
– auf Webseite, per Email
– Terminwünsche?
• Semesterunterbrechung am 26. Mai 2010
• letzter Termin am 14. Juli 2010
• gegen Mitte und / oder Ende: praktische Teile
– wir freuen uns über Anregungen von Euch
WWW-Seminar
07.04.2010
29
Aktuelle SE-Praktiken für das
WWW
Grundlagen
Tristan Wehrmaker
<[email protected]>
Leibniz Universität Hannover, FG SE
07.04.2010
Die Geschichte des Internet
• 1957
– Die UdSSR schickt Sputnik ins All
• 1958
– USA gründet ARPA (Advanced Research Projects Agency)
• 1962
– Entwicklung des ARPANET durch das Massachusetts Institute of
Technology (MIT)
• 1969
– August: 1. Host wird angeschlossen (University of California, Los
Angeles)
– Oktober: 2. Host (Stanford University)
– November: 3. Host (University of California, Santa Barbara)
– Dezember: 4. Host (University of Utah)
Quellen: http://www.zakon.org/robert/internet/timeline/ http://www.heise.de/ix/timeline/
WWW-Seminar
07.04.2010
31
Die Geschichte des Internet
• 1971
– File Transfer Protocol (FTP) wird veröffentlicht
– 23 Hosts angeschlossen
• 1972
– Erste Emailsoftware, Wahl des @-Zeichens für „at“
• 1973
– Erste internationale Verbindung zum University College of London
– ca. 2.000 ARPANET User
– 75% des Traffics wird durch Email verursacht.
• 1974
– Erste Publikation zu TCP (Transmission Control Protocol), darin
vermutlich erste Verwendung des Begriffs „Internet“
Quellen: http://www.zakon.org/robert/internet/timeline/ http://www.heise.de/ix/timeline/
WWW-Seminar
07.04.2010
32
Die Geschichte des Internet
• 1978
– Aufsplittung von TCP in TCP und IP (Internet Protocol)
– Erste kommerzielle Spam-Mail
• 1980
– ARPANET kommt zu einem völligen Stillstand durch versehentlich in
Umlauf gebrachten Virus.
• 1982
– Einführung der Emoticons :-) und :-(
• 1983
– Umstellung von NCP (Network Control Protocol) auf TCP/IP
– Anschluss von Stuttgart als deutscher Knotenpunkt
Quellen: http://www.zakon.org/robert/internet/timeline/ http://www.heise.de/ix/timeline/
WWW-Seminar
07.04.2010
33
Die Geschichte des Internet
• 1984
– Einführung von DNS (Domain Name Service)
– Über 1.000 Hosts angeschlossen
• 1985
– Erste Domain registriert (Symbolics.com)
• 1987
– Über 20.000 Hosts
• 1988
– ca. 6.000 der 60.000 Hosts von Internet Wurm betroffen
• 1989
– Über 100.000 Hosts
• 1990
– ARPANET wird eingestellt
Quellen: http://www.zakon.org/robert/internet/timeline/ http://www.heise.de/ix/timeline/
WWW-Seminar
07.04.2010
34
Die Geschichte des Internet
• 1991
– Tim Berners-Lee veröffentlicht das World Wide Web am CERN
• 1992
– Über 1.000.000 Hosts
• 1993
– Erster Entwurf für HTTP
Internet != World Wide Web
Quellen: http://www.zakon.org/robert/internet/timeline/ http://www.heise.de/ix/timeline/
WWW-Seminar
07.04.2010
35
Entwicklung des World Wide Web
WWW-Seminar
07.04.2010
36
Entwicklung des World Wide Web
YAHOO! - 1996
WWW-Seminar
07.04.2010
37
Entwicklung des World Wide Web
YAHOO! - 2000
WWW-Seminar
07.04.2010
38
Entwicklung des World Wide Web
YAHOO! - heute
WWW-Seminar
07.04.2010
39
Definitionen
• Hypertext =def
– Textdokumente, die mit Hyperlinks verknüpft sind.
• Hyperlinks =def
– Querverweise zwischen zwei Dokumenten bzw. zu einer
anderen Stelle im selben Dokument.
• Hypermedia =def
– Verschiedene Medien, die durch Hyperlinks verknüpft sind
(z.B. Text, Grafik, Video, Ton).
WWW-Seminar
07.04.2010
40
XML
• Extensible Markup Language
• Auszeichnungssprache für hierarchisch strukturierte
Datenstrukturen.
• Metasprache für andere Sprachen wie RSS, XHTML, SVG.
<?xml version="1.0" encoding="utf-8" ?>
<cart>
<product id="1">
<name>Apple Macbook Pro</name>
</product>
...
</cart>
WWW-Seminar
07.04.2010
41
HTML (XHTML, HTML5)
• Hypertext Markup Language (HypertextAuszeichnungssprache)
• Aktuelle Standards: XHTML, HTML 4.01
• Kommender Standard: HTML5
• Historie:
–
–
–
–
–
–
1989: Erste Festlegung von HTML durch Tim Berners-Lee
1997: HTML 4.0 – Einführung von Stylesheets, Skripten und Frames
1999: HTML 4.01
2000: XHTML 1.0
2001: XHTML 1.1
In der Entwicklung: HTML5
WWW-Seminar
07.04.2010
42
HTML 4.01
• Basiert auf SGML (Standard Generalized Markup Language)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Hello World</title>
</head>
<body>
<h1>Hello World!</h1>
<p>Welcome to the World Wide Web.<br>
<br>
<img src="image.jpg"></p>
<p><a href="http://www.google.de">Google</a></p>
</body>
</html>
WWW-Seminar
07.04.2010
43
XHTML 1.0
• Basiert auf XML
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Hello World</title>
</head>
<body>
<h1>Hello World!</h1>
<p>Welcome to the World Wide Web.<br />
<br />
<img src="image.jpg" /></p>
<p><a href="http://www.google.de">Google</a></p>
</body>
</html>
WWW-Seminar
07.04.2010
44
HTML5
• Obermenge von HTML 4.01, XHTML 1.0
• Einführung neuer Elemente, z.B.
– <article>, <section>
– <header>, <footer>
– <nav>
– <audio>
– <video>
• Umdefinierung vorhandener Elemente, z.B.
– <hr>,
– <b>, <i>, <strong>
WWW-Seminar
07.04.2010
45
Browser-Engines
WebKit
Gecko
Firefox
Safari
MobileSafari
Google Chrome
Camino
MSHTML
Epiphany
KHTML
Konqueror
Internet Explorer
WWW-Seminar
Presto
Opera
07.04.2010
46
CSS
• Cascading Style Sheets
• HTML legt nur den Inhalt fest. CSS das Aussehen.
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 90%;
background-color: #FFFFFF;
color: #000000;
margin: 0px;
padding: 0px;
}
WWW-Seminar
07.04.2010
47
CSS
• Selektoren
–
–
–
–
–
Elemente (z.B. body, p, div, etc.)
Elemente mit ID (z.B. #nav)
Elemente einer Klasse (z.B. .box)
Elemente mit bestimmten Attributwerten (z.B. img[border=0])
Elemente, die Nachfahren eines anderen Elements sind (z.B. body
div)
– Elemente, die Kind eines anderen Elementes sind (z.B. body > div)
• Wertzuweisungen
–
–
–
–
Schriften (z.B. font-family, font-size, font-weight)
Rahmen (z.B. border-color, border-style)
Abstände (z.B. margin, padding)
etc.
• Für weitere Infos: siehe http://www.css4you.de
WWW-Seminar
07.04.2010
48
JavaScript
• JavaScript != Java
• Clientseitige Ausführung auf dem Browser
• Bisher hauptsächlich für graphische Effekte
• Mittlerweile durch JavaScript-Frameworks
auch für die Entwicklung ganzer
Anwendungen. (siehe entsprechender Vortrag)
WWW-Seminar
07.04.2010
49
HTTP
• Hypertext Transfer Protocol
• Grundlage des Web
Request
Response
Client
Apache HTTP-Server
WWW-Seminar
07.04.2010
50
„Statischer“ HTTP-Ablauf
1. Client (z.B. Webbrowser) stellt Anfrage an Server (z.B.
Apache HTTP-Server).
2. Server schickt angefragte Ressource als Antwort zurück.
• Im Fall eines Webbrowsers wird meist HTML zurückgeliefert.
• In diesem HTML stehen Verweise auf CSS, Javascript,
Bilder, etc., die dann einzeln beim Server angefragt werden.
• Alle Daten rendert der Browser dann zu einer Webseite.
WWW-Seminar
07.04.2010
51
Abruf einer Website
WWW-Seminar
07.04.2010
52
Rendern einer Website
WWW-Seminar
07.04.2010
53
Laden der Stylesheet-Informationen
WWW-Seminar
07.04.2010
54
Laden der Bilder und Medien
WWW-Seminar
07.04.2010
55
Laden der Bilder und Medien
WWW-Seminar
07.04.2010
56
Laden von JavaScript
WWW-Seminar
07.04.2010
57
Überblick über geladene Ressourcen
WWW-Seminar
07.04.2010
58
HTTP-Methoden (Verben)
• HTTP definiert einige eindeutige Methoden, u.a.
– GET: Abfragen einer Ressource
– POST: Verändern einer Ressource (z.B. Hinzufügen von
Unterressourcen)
– PUT: Erstellen einer Ressource
– DELETE: Löschen einer Ressource
• Webbrowser unterstützen aktuell meist nur GET und POST.
WWW-Seminar
07.04.2010
59
„Dynamische“ Webentwicklung
• Statische Ressourcen reichen nicht.
• Man muss auch das Verhalten programmieren können.
• z.B. mit PHP, Perl, Python, Ruby und Java
WWW-Seminar
07.04.2010
60
Am Beispiel von PHP
Request
Response
Client
Webserver
mit PHP Modul
WWW-Seminar
Datenbank
(z.B. MySQL)
07.04.2010
61
Am Beispiel von Java
Request
Response
Webserver
Client
Servlet Container
(z.B. Apache Tomcat)
Java-Servlet
Datenbank
(z.B. MySQL)
WWW-Seminar
07.04.2010
62
Zusammenfassung
Fragen?
•
•
•
•
•
•
•
•
•
•
Die Geschichte des Internet
Entwicklung des World Wide Web
Hypertext, Hyperlinks, Hypermedia
XML
(X)HTML
Browser-Engines
CSS
JavaScript
HTTP
Statische und dynamische
Webanwendungen
WWW-Seminar
07.04.2010
63
Herunterladen