1 vorlesung informationssystemen: neuere konzepte ss 2005 kurs: wwi02v2 dipl.-inform. michael klein...
TRANSCRIPT
![Page 1: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/1.jpg)
1
Vorlesung„Informationssystemen: Neuere Konzepte“
SS 2005Kurs: WWI02V2
Dipl.-Inform. Michael [email protected]
Dipl.-Inform. Heiko [email protected]
![Page 2: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/2.jpg)
2
Organisatorisches
Mein Name: Michael Klein eMail: [email protected]
Homepage der Vorlesung: www.michaelklein.net/nki
Vorlesung: Raum 210
![Page 3: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/3.jpg)
3
Themen
Teil I (Michael Klein) I-1: Web und Datenbanken (3) I-2: Objektorientierte Datenbanksysteme (2) I-3: ?
Teil II (Heiko Schepperle) II-1: Data Warehousing & OLAP II-2: Data Mining II-3: Imperfektion in Datenbanken
![Page 4: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/4.jpg)
4
Details zu Teil I
I-1: Web und Datenbanken 1. Webinformationssysteme, JSP 2. Praktische Rechnerübung zu JSP 3. Komponentenarchitekturen, EJB
I-2: Objektorientierte Datenbanksysteme 1. Objektorientierte Modellierung 2. Persistenz von Objekten
(optional)I-3: Web Services?
![Page 5: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/5.jpg)
5
Termine
Teil I Do, 09.06. 10:45 – 13:15 Uhr Mi, 15.06. 08:00 – 10:30 Uhr (Rechnerübung) Do, 23.06. 10:45 – 13:15 Uhr Do, 30.06. 10:45 – 13:15 Uhr Mo, 04.07. 10:45 – 13:15 Uhr
![Page 6: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/6.jpg)
6
Praktische Übungen
Übungsblätter Auf der Homepage erhältlich Werden zu Beginn durchgesprochen Wichtig als Klausurvorbereitung
Programmieraufgabe JSP Dienen zur Vertiefung der Themen Im Rechnerraum In Gruppen zu bearbeiten klausurrelevant
![Page 7: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/7.jpg)
Webinformationssysteme
Erweiterung der Vorlesung „Webtechnologien im Überblick I“ von Wassili Kazakos (FZI, Karlsruhe)
Vorlesung „Informationssystemen: Neuere Konzepte“Teil „Web & Datenbanken“
Michael Klein
![Page 8: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/8.jpg)
8
Inhalt
Themen heute: Welche datenbankgestützten Webanwendungen
gibt es? Wie funktioniert das Web? Wie bekommt man die Datenbankinhalte ins Web? Welche Technik setzt man für was ein? Einführung in Java Server Pages (JSP)
![Page 9: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/9.jpg)
9
Webshops, Auktionshaus, E-Commerce (1)
Beispiel:Amazon.deEbay.de
![Page 10: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/10.jpg)
10
Webshops, Auktionshaus, E-Commerce (2)
Eigenschaften: Datenbank speichert Artikel, Kundendaten, Profile
Versandinformationen, Auktionen etc. Suchen in Artikeln Bestellen von Artikeln, Bieten auf Artikel Einsehen des Versandstatus Auch: Angabe von Kaufempfehlungen
![Page 11: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/11.jpg)
11
Suchmaschinen (1)
Beispiele:Google.deAltavista.com
![Page 12: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/12.jpg)
12
Suchmaschinen (2)
Eigenschaften: Crawler durchforsten Internet nach Seiten Datenbank speichert indizierte Seiten
Welche Wörter/Wortgruppen sind enthalten Wer linkt auf diese Seite
Suchen nach Stichworten/Wortgruppen möglich Ranking der Suchergebnisse nach unterschiedlichen
Kriterien Meist einfache, funktionale Oberfläche
![Page 13: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/13.jpg)
13
Webanwendungen, Weboberflächen (1)
Beispiele:WebmailAdministrations-oberflächen
![Page 14: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/14.jpg)
14
Webanwendungen, Weboberflächen (2)
Eigenschaften: Datenbank speichert Userinformation (inkl.
Passwort), administrierte Daten (Mails, Ordner, Termine, etc.)
Web dient als Oberfläche, diese von beliebigen Ort, auf beliebigen (webfähigen) Gerät einsehen und verändern zu können
![Page 15: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/15.jpg)
15
Web Portale, „inhaltsstarke“ Seiten (1)
Beispiele:Yahoo.deZeitungen/Zeit-schriften, Spiegel.de
![Page 16: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/16.jpg)
16
Web Portale, „inhaltsstarke“ Seiten (2)
Eigenschaften: Komplexe, vielschichtige Seiten Viele Autoren, viele Informationsquellen Corporate Identity wichtig Formatvariationen für Ausgabegerät
![Page 17: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/17.jpg)
17
Internetspiele (1)
Beispiel:BrettspielWel
t,WarCraft IIIBattle.net-
Server
![Page 18: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/18.jpg)
18
Internetspiele (2)
Eigenschaften: Rechenintensive Anwendung Hoher graphischer Aufwand Spezielle Interaktionsbedürfnisse
![Page 19: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/19.jpg)
Technischer Aufbau des Internets
![Page 20: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/20.jpg)
20
Das Internet – Die Geschichte
Internet = Netz von Netzen 1960: das Internet entsteht aus dem militärischen
ARPANET 1982: TCP/IP setzt sich durch 1990: Erste graphische Browser, das World Wide
Web (WWW) entsteht ab 1990: Rasantes
Wachstum des Internets
![Page 21: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/21.jpg)
21
Das Internet - Technik
Stapel von Protokollen ISO/OSI-Referenzarchitektur, 7 Schichten
Unabhängig von Betriebssystem & Netzwerktechnologie
Teilnehmer sind durch eindeutige IP-Adresse ausgezeichnet
Vielzahl von Diensten möglich Mail, WWW, File-Sharing, Web-Radio (Streaming),
WebServices…
![Page 22: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/22.jpg)
22
Schichten des Internets
Klient Server
Application
Transport
Physical
Network
Data Link
Application
Transport
Physical
Network
Data Link
IP
TCP
HTTP
![Page 23: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/23.jpg)
23
Netzwerkschicht
Klient Server
Application
Transport
Network
Application
Transport
NetworkIP
TCP
HTTP
•vergibt weltweilt eindeutige IP-Adressen, z.B. 155.23.21.2•Sucht einen Weg zwischen zwei Netzteilnehmern (Routing)• zustandslos, d.h. Pakete wandern unabhängig durch das Netz
Sender Empfänger
Paket
![Page 24: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/24.jpg)
24
Transportschicht
Klient Server
Application
Transport
Network
Application
Transport
NetworkIP
TCP
HTTP
• Stellt eine Verbindung zwischen zwei Teilnehmern her• Explizites Öffnen und Schließen nötig• Ordnet die ankommenden Pakete• Regelt die Geschwindigkeiten zwischen den Partnern (Staukontrolle)• Weist Pakete der entsprechenden Anwendung zu (Ports, Multiplexing)
• zustandsbasiert• Weiteres Protokoll: UDP
![Page 25: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/25.jpg)
25
Anwendungsschicht - HTTP
Klient Server
Application
Transport
Network
Application
Transport
NetworkIP
TCP
HTTP
• Nutzt eine TCP-Verbindung, um Daten (Hypertexte) zu übertragen• get: Anfordern einer Datei vom Server• put: Ablegen einer Datei auf dem Server• post: Übermitteln von Parametern & Anforderung einer Datei
• Zustandslos• für jede Datei muss ein neues get gesendet werden• Server kennt Verlauf der Klientenaktionen nicht
• Weitere Protokolle: RMI, FTP, SMTP, …
![Page 26: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/26.jpg)
26
Typisches Dokumentformat bei HTTP: HTML
Application ApplicationHTTP
HTML
Ausgetauschte Information z.B. im HTML-Format
• Hypertext Markup Language
• Mischt Text mit Markup-Elementen (Tags), die Aussehen und Verhalten modifizieren
• z.B. Dieser Text ist <b>fettgeschrieben</b>.
• Möglichkeit zur
• Verlinkung auf andere Seiten
• Definition von Formularfeldern für Benutzereingaben
• Plattformunabhängig, wird von einem HTML-Renderer (üblicherweise einem Browser) auf dem Zielsystem dargestellt
![Page 27: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/27.jpg)
27
Anwendungsschicht: weitere Protokolle
Klient Server
Application
Transport
Network
Application
Transport
NetworkIP
?
Vielzahl weiterer Anwendungsprotokolle:• Remote Method Invocation (RMI), Remote Procedure Calls (RPC)
•Verteiltes Programmieren•Entfernter Aufruf von Methoden/Funktionen•Serialisierung und Versendung der Parameter
• Simple Object Access Protocol (SOAP) über HTTP•Zugriff auf Web Services
• Eigene Protokolle
TCP
![Page 28: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/28.jpg)
Zugriff auf Datenbanken über das Web
![Page 29: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/29.jpg)
29
Zugriff auf Datenbanken über das Web
Browser HTTPServer
DB
Unterschiedlich je nach Protokoll auf Anwendungsebene.Extreme:
HTTP(HTML)
BrowserErwei-terung DB
Datenbankspezifisches Protokoll
1. Serverseitige Generierung, Thin Client:
2. Klientenseitige Verarbeitung, keine Logik im Server, Rich Client:
![Page 30: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/30.jpg)
30
Weitere Zugriffsmöglichkeiten
Browser Applet DBRMI / RPC RMI
Server
Entfernte Methodenaufrufe
Anwendung
DB
HTTP(SOAP) SOAPServer
Web Services
DienstDienst
Dienst
![Page 31: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/31.jpg)
Serverseitige AnsätzeDer „klassische“ Weg
![Page 32: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/32.jpg)
32
Serverseitige Ansätze - Übersicht
Generell: Serverseitige Generierung von HTML-Seiten
Offline, durch Vorberechnung statischer HTML-Seiten
Durch Zugriff auf HTML-generierende Anwendungen
Durch Einbettung HTML-generierender Skriptteile in statisches HTML
kompiliert interpretiert
![Page 33: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/33.jpg)
33
Serverseitige Ansätze - Bewertung
Generelle Vorteile: Zentrale Wartbarkeit der Anwendungslogik Geringe Anforderungen an den Klienten (nur Browser) Plattformunabhängigkeit – Klient sieht reines HTML Sicherheit – Klient greift nicht direkt auf Datenbank zu Sicherheit – Kein aktiver Code beim Klienten
Generelle Nachteile: Eingeschränkte GUI-Möglichkeiten Zustandslosigkeit von HTTP HTML ist doch nicht so plattformunabhängig Jede Interaktion erfordert Kommunikation mit dem
Server
![Page 34: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/34.jpg)
Serverseitige Ansätze
1. Offline, Vorberechnung von HTML-Seiten
![Page 35: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/35.jpg)
35
Offline, Vorausberechnung von HTML-Seiten
Periodische Extraktion von Daten aus einem DBMS,Vorbereitung von statischen HTML Seiten
Navigation mittels offline generierter Links Auslieferung als gewöhnliche HTML-Seite über
HTTP
Datenbank
HTMLGenerierungs-werkzeug
HTML
HTML
HTTP
![Page 36: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/36.jpg)
36
Bewertung
Vorteile Schneller Zugriff: Nur Ausliefern der HTML-Seiten Keine DB-Zugriffe Automatische Erfassung durch Suchmaschinen
Nachteile Im Vergleich zu Datenbanksystemen
begrenzte Suchfunktionalität Aktualisierungs- und Konsistenzproblem Keine Anwendungsfunktionalität, kein richtiges
Reagieren auf Eingaben
![Page 37: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/37.jpg)
Serverseitige Ansätze
2. Durch Zugriff auf HTML-generierende Anwendungen
![Page 38: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/38.jpg)
38
Common Gateway Interface
Common Gateway Interface Definierte Schnittstelle für den Zugriff auf Server-seitige
Anwendungen Ermöglicht HTTP-Servern den Zugriff auf externe, lokale
Anwendungen Beispiel:
http://www.klick-and-bau.com/cgi/suche?term=tisch&preis=1
Aufruf des Programms "suche" mit den parametern "term" und "preis"
Implementiert in beliebiger Programmier- oder Skriptsprache (z.B. CGI-Skripte). Häufig: Perl, C, C++
Datenbankintegration durch entsprechende Anwendungen
![Page 39: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/39.jpg)
39
CGI-Skripte
client HTTP-Server
DatenbankCGI-Skript
Aufruf des Skriptesmit ParameternInitialisierung bei jedem Aufruf
Skript übermittelt HTML und beendetsich
Anfrage
Betätigung Submit-Button<FORM METHOD="POST" ACTION="http://www.fzi.de/cgi-bin/my-form">
Verbindungsaufbau
Aufbau der DB Verbindung bei jedem Aufruf
Skript generiert HTML
Antwort
HTTP Server Antwortet
SQL Anfrage
Skript stellt Anfrage an DB
Ergebnis
![Page 40: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/40.jpg)
40
Bewertung
Vorteile Beliebige Programme können integriert werden Sicherheit durch eigenen Prozess Volle Suchfunktionalität des darunter liegenden
DBMS (z.B. SQL) Nachteile
Ein Prozess pro Anfrage Keine Speicherung des Zustands Für jede DB-Anfrage Verbindung aufbauen und
trennen Keine Trennung von Präsentation und
Anwendungslogik CGI-Skripte nur für kleine Anwendungen
![Page 41: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/41.jpg)
41
API-basierte Ansätze
Entwickelt um Nachteile der CGI-Skripte zu überwinden Die CGI-Schnittstelle bleibt erhalten
Erweiterungen werden in den Adressraum des Servers geladen Müssen nur einmal geladen werden Werden in Threads statt Prozessen ausgeführt
Bekanntesten Vertreter NSAPI (Netscape) ISAPI (Microsoft) Java Servlets (Sun)
![Page 42: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/42.jpg)
42
API-basierte Ansätze
client HTTP-Server Datenbank
HTML-Generierung
Programm
Aufruf des Programms,ParameterübergabeInitialisierung bei erstenAufruf (einmalig)
Verbindungsaufbau
Verbindungsaufbau zur DB beim ersten Aufruf (einmalig)
Beliebig vieleSQL Anfragen
SQL Anfragen
Ergebnisse
Zustand
Anfrage
Betätigung Submit-Button<FORM METHOD="POST" ACTION="http://www.fzi.de/cgi-bin/my-form">
Antwort
HTML-Rückgabe
![Page 43: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/43.jpg)
43
Bewertung
Vorteile Höhere Leistungsfähigkeit
Session-Verwaltung Zustände, z.B. DB-Verbindung
Weniger Ressourcenverbrauch
Nachteile Keine Standardisierung Mangelnde Sicherheit Keine Trennung von Präsentation und
Anwendungslogik
![Page 44: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/44.jpg)
Serverseitige Ansätze
3. Durch Einbettung HTML-generierender Skriptteile in statisches HTML
![Page 45: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/45.jpg)
46
Server-Side Skripting
In HTML-Seiten werden zusätzliche HTML-generierende Quellen integriert
Beliebig viele HTML-Quellen können aufgenommen werden
Datenbank
Scripting
HTML
Scripting
HTML
Anwendungs-Logik
![Page 46: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/46.jpg)
47
Ausführungsvarianten
<HTML>
<xyz:...>
</HTML>
Anwendungerstellen
InterpreterInterpreter
HTML-Dokument
Laufzeit
<HTML>
<jsp:...>
</HTML>
Anwendungerstellen
CompilerCompilerÜbersetzungs-zeit(einmalig)
AusführbaresProgramm
HTML-Dokument
Laufzeit
interpretiert kompiliert
![Page 47: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/47.jpg)
48
Typische Vertreter
Interpretiert: PHP - Personal Home Page ASP - Active Server Pages (Microsoft IIS) Server Side JavaScript (Netscape)
Kompiliert: JSP - Java Server Pages ASP.NET – Active Server Pages .NET
![Page 48: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/48.jpg)
49
Bewertung
Vorteile: Starke Verbreitung, gute Unterstützung Volle Programmiersprachenfunktionalität Standardisierung Überbrückung der Zustandslosigkeit durch „Tricks“ Einbindung externer Programme möglich Statische Teile brauchen nicht erzeugt zu werden
Nachteile: Häufig geringe Geschwindigkeit Starke Mischung von HTML und Programmiersprache
![Page 49: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/49.jpg)
50
Übersicht Webinformationssysteme
WebDB-Techniken
ServerseitigeHTML-Generierung
Offline durchVorberechnung
von HTML-Seiten
Durch Zugriff auf HTML-
generierende Anwendung
Durch Einbettung HTML-
generierender Skriptteile
Generierung statischer Seiten
CGIAPI-basiert interpretiert kompiliert
SSIASPPHP
JSP
![Page 50: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/50.jpg)
Client-seitige Ansätze
![Page 51: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/51.jpg)
52
Zugriff auf Datenbanken über das Web
Browser HTTPServer
DB
Unterschiedlich je nach Protokoll auf Anwendungsebene.Extreme:
HTTP(HTML)
Browser Applet DBDatenbankspezifisches Protokoll
1. Serverseitige Generierung, Thin Client:
2. Klientenseitige Verarbeitung, keine Logik im Server, Rich Client:
![Page 52: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/52.jpg)
53
Clientseitige DB-WWW-Integration
Realität: Höhere Ansprüche an die Benutzeroberfläche Teilverlagerung von Funktionalität auf die Client-
Seite
Nicht mehr HTML-Generierung Erweiterung 1: mehr Interaktion/Überprüfung auf
dem Client Erweiterung 2: Windows-ähnliche Benutzerführung Erweiterung 3: Unmittelbarer Zugriff auf die Daten
![Page 53: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/53.jpg)
54
Funktionalität auf der Client-Seite
Browser-spezifische Erweiterungen: Plug-Ins z.B. Macromedia Shockwave, Macromedia Flash
Skript-Sprachen z.B. JavaScript, Visual Basic Script
Volle Programmiersprachen Java (Applets) VisualBasic, C++ über ActiveX controls
Übliche Aufteilung Benutzerschnittstelle auf dem Client Datenbankdienste weiterhin auf dem Server
Vom Direktzugriff von Client auf die DB ist aus Sicherheitsgründen abzuraten
![Page 54: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/54.jpg)
55
Beispiel: Client-seitige Integration
Datenbank
Server-Prozess
Präsentation/Interaktion
Anwendungs-Logik
Daten
![Page 55: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/55.jpg)
56
Übersicht Webinformationssysteme
WebDB-Techniken
ServerseitigeHTML-Generierung
Clientseitige GUI
Offline durchVorberechnung
von HTML-Seiten
Durch Zugriff auf HTML-
generierende Anwendung
Durch Einbettung HTML-
generierender Skriptteile
Generierung statischer Seiten
CGIAPI-basiert interpretiert kompiliert
SSIASPPHP
JSP
Java AppletJavaScriptPlugIns…
![Page 56: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/56.jpg)
57
Resümee
Häufigste Formen HTML-Generierung auf Serverseite:
CGI mit Perl, C, C++ PHP, JSP, ASP
Bei starker Interaktion und komplexer Benutzerführung
Clientseitige Erweiterung (JavaSkript, Java)
Keine „beste Lösung“ für alle Fälle Kriterien im Einzelfall entsprechend Anforderungen
gewichten Immer zu beachten:
rasanter technologischer Fortschritt rasche Produktentwicklungen
![Page 57: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/57.jpg)
58
Ausblick
Neue „Hype“-Themen auf dem Gebiet
JavaServer Faces vereinfachte, modulare GUI-Erstellung auf dem Client
WebServices Einbindung von externer Funktionalität über das Web
Zugang auch für mobile Geräte (Handys, PDAs…) Microsoft ASP.NET …
![Page 58: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/58.jpg)
Anwendungen für Webdatenbanken
![Page 59: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/59.jpg)
60
Webshops, Auktionshaus, E-Commerce (1)
Beispiel:Amazon.deEbay.de
![Page 60: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/60.jpg)
61
Webshops, Auktionshaus, E-Commerce (2)
Techniken: Meist Relationale DBMS Klient: Normaler Browser, Cookies, wenig
JavaScript Serverseitig: CGI (C++?), (EJB)
![Page 61: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/61.jpg)
62
Suchmaschinen (1)
Beispiele:Google.deAltavista.com
![Page 62: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/62.jpg)
63
Suchmaschinen (2)
Techniken: Farm relationaler DBMS, Parallele Datenbanken Serverseitig: CGI meist mit schnellen, kompilierten
Sprachen, z.B. C, C++ Client: Reiner Browser, sehr schlanke Seiten
![Page 63: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/63.jpg)
64
Webanwendungen, Weboberflächen (1)
Beispiele:WebmailAdministrations-oberflächen
![Page 64: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/64.jpg)
65
Webanwendungen, Weboberflächen (2)
Technik: Meist rel. Datenbanken Serverseitige Skriptsprachen: Perl, Python, PHP, JSP Klientseitig: Standardbrowser
![Page 65: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/65.jpg)
66
Web Portale, „inhaltsstarke“ Seiten (1)
Beispiele:Yahoo.deZeitungen/Zeit-schriften, Spiegel.de
![Page 66: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/66.jpg)
67
Web Portale, „inhaltsstarke“ Seiten (2)
Technik: Content-Management-System Trennung von Struktur und Inhalt XML Meist realisiert durch CGI Administration der Inhalte auch über Web möglich Klientseitig: Browser
CMSRohdaten
Layout-Templates
Anzeigbare Webseite
![Page 67: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/67.jpg)
68
Internetspiele (1)
Beispiel:BrettspielWel
t,WarCraft IIIBattle.net-
Server
![Page 68: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/68.jpg)
69
Internetspiele (2)
Technik: Serverseitig nicht berechenbar In Standardbrowser nicht anzeigbar Clientseitige Anwendung berechnet Graphiken,
Spielverlauf etc. Java Applet, Kommunikation mit Server über eigenes Protokoll eigene Anwendung, eigenes Protokoll
Serverseitige Datenbank: Speichert angemeldete Nutzer, laufende Spiele etc.
Meist: Nach Beginn des Spieles Peer-to-Peer-Kommunkation ohne Einbeziehung des Servers
![Page 69: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/69.jpg)
70
Literatur
Erhard Rahm, Gottfried VossenWeb und Datenbanken. Konzepte, Architekturen, Anwendungen. DPunkt Verlag 2002
Kazakos, Schmidt, TomczykDatenbanken und XML. Konzepte, Anwendungen, Systeme Springer Verlag 2002http://www.datenbanken-und-xml.de
![Page 70: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/70.jpg)
Im Detail:Java Server Pages (JSP)
![Page 71: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/71.jpg)
72
Übersicht Webinformationssysteme
WebDB-Techniken
ServerseitigeHTML-Generierung
Clientseitige GUI
Offline durchVorberechnung
von HTML-Seiten
Durch Zugriff auf HTML-
generierende Anwendung
Durch Einbettung HTML-
generierender Skriptteile
Generierung statischer Seiten
CGIAPI-basiert interpretiert kompiliert
SSIASPPHP
JSP
Java AppletJavaScriptPlugIns…
![Page 72: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/72.jpg)
73
Server-Side Skripting
In HTML-Seiten werden zusätzliche HTML-generierende Quellen integriert
Datenbank
Scripting
HTML
Scripting
HTML
Anwendungs-Logik
![Page 73: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/73.jpg)
74
Java Server Pages (JSP)
Bestandteil der Java 2 Plattform Enterprise Edition Trennung von (HTML-)Präsentation und Inhalt Zugriff auf weitere HTML-Quellen über Beans und
Servlets Ablauf
Erstellung einer JSP Aufruf der JSP durch den Benutzer
Überprüfung, ob sich die JSP geändert hat oder ob sie neu ist
(Gegebenenfalls Übersetzung der JSP in ein Servlet) Ausführung des Servlets
Rückgabe des Ergebnisses
![Page 74: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/74.jpg)
75
JSP Ablauf
client
HTTP-Server
Datenbank
JSP-page
JSP-Servlet
Generierung des JSP Servlet aus JSP Page (HTML + Scripting)
Anfrage
Antwort
SQL Anfragen
Ergebnisse
Verbindungsaufbau
Zustand
![Page 75: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/75.jpg)
76
JSP Elementtypen
JSP-Direktiven JSP-Skriptelemente JSP-Aktionen
![Page 76: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/76.jpg)
77
JSP-Direktiven
Nachrichten/Anweisungen an den HTTP-Server Keine Ausgabe Syntax: <%@ ... %> include-Direktive
Einfügen von Texten vor der Übersetzung <%@include file="Pfadangabe"%> Beispiel <%@ include file="copyright.txt" %>
page-Direktive Steuerung der Übersetzung <%@page attrib1="txt" attrib2="txt" ... %> Beispiel <%@ page errorPage="/error.html" %>
taglib-Direktive Zur Erzeugung benutzerspezifischer Tags
JSP
Ele
men
ttyp
en
![Page 77: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/77.jpg)
78
JSP-Skriptelemente (1)
Vereinbarungen / Deklarationen Deklarationen von Variablen, Methoden und inneren
Klassen Syntax: <%! Vereinbarung(en) %> import über die Direktive Beispiel:
Instanzvariablen: <%! int i=0; float f;%> Methode: <%! public String Zeit() {...} %>
Anweisungsfragemente/Scriplet Einbettung von Java-Fragmenten Syntax: <% Anweisungsfragment(e) %> Lokale Variablendeklaration Beispiel:
<% int i=1; while (i<10) {out.println(i);i++;} %>
JSP
Ele
men
ttyp
en
![Page 78: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/78.jpg)
79
JSP-Skriptelemente (2)
Ausdrücke Einfachste Art eines Skripts Syntax: <%= Ausdruck %> Umwandlung zur Laufzeit in String (toString-
Methode) Beispiel: <%= variable %> entspricht <%out.print(variable);%>
Kommentare Syntax: <%-- comment --%>
JSP
Ele
men
ttyp
en
![Page 79: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/79.jpg)
80
JSP-Aktionen
Ziel Erzeugen und Verändern von Objekten Steuerung der aktuellen Ausführung
Aktion include Aufruf einer Seite zur Ausführungszeit (auch JSP
möglich) Syntax: <jsp:include page="Pfadangabe" />
Aktion forward Weiterleitung der Anfrage an eine andere Seite Syntax: <jsp:forward page="Pfadangabe" />
JSP
Ele
men
ttyp
en
![Page 80: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/80.jpg)
81
JSP: Beispiel
Angenommen, klick-and-bau.com verwaltet Artikelstammdaten in der folgenden Tabelle:ARTIKEL(
Id CHAR(12),Name VARCHAR(25), Beschreibung VARCHAR(512),Photo_URL VARCHAR(512),Hersteller_Id CHAR(12) Kategorien VARCHAR(256), Status INT,Preis NUMERIC(8,2))
Aktuelle Produktname und Photo sollen nun über das Web zur Verfügung gestellt werden
![Page 81: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/81.jpg)
82
JSP: Beispiel
<%-- page-Direktive --%><%@ page errorPage="error.html"
import="java.sql.*" session="false" %>
<html><body><h1 align="center"> Produktliste vom
<%-- Ausdruck --%><%= new java.util.Date().toLocaleString()
%></h1>
...
![Page 82: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/82.jpg)
83
JSP: Beispiel (Forts.)
...<%-- Datenbank-Verbindung --%><%-- Deklaration der Instanzvariablen --%><%! Connection con; %>
<%-- Skriplet zum Verbindungsaufbau und Abfrage--%><% Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection("jdbc:odbc:ProduktDatenbank", "name",
"pwd");Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery
("SELECT name, photo_URL FROM artikel");%>...
![Page 83: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/83.jpg)
84
JSP: Beispiel (Forts.)
...<%-- Ausgabe in zwei Spalten...--%><table><tr>
<th>Name</th><th>Bild</th></tr><%-- ...Zeile für Zeile--%><% while (rs.next()){ %>
<tr><td> <%= rs.getString(1)%> </td><td> <img src="<%=rs.getString(2)%>"> </td>
</tr><%}%></table><%-- Verbindung schließen--%><% rs.close();%></body> </html>
![Page 84: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/84.jpg)
85
Parameterübergabe in JSP
requestEnthält die Parameter, die per HTTP über POST von
einer anderen Seite übergeben wurden.
Bsp: HTML: <form action=„foo.jsp“ method=„post“>
<input type="hidden" value=„20021220" name=„Datum"><input type="submit" value=„Abschicken">
</form>
JSP: foo.jsp String datum = request.getParameter(„Datum“)
![Page 85: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/85.jpg)
86
JSP-Aktionen und EJB
Standardaufgaben sollten auch weiterhin in Komponenten ausgelagert werden In Java: EJB Einbindung über JSP-Aktionen
Aktion useBean Deklaration der Bean Syntax: <jsp:useBean id="varName" class="KlassenName" scope="GültigkeitsBereich"/>
JSP
Ele
men
ttyp
en
![Page 86: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/86.jpg)
87
JSP-Aktionen und EJB
Aktion getProperty Lesen der Eigenschaft einer Komponente Syntax: <jsp:getProperty name="varName" property="AttributsName"
Aktion setProperty Schreiben der Eigenschaft einer Komponente Syntax:
<jsp:setProperty name="varName" property="AttributsNam" value="Wert"/>, oder
<jsp:setProperty name="varName" property="AttributsName" param="cgi-parameter" />
JSP
Ele
men
ttyp
en
![Page 87: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/87.jpg)
88
JSP und Synchronisation
Grundsätzlich mehrere Instanzen einer JSP-Seite/eines Servlets möglich.
Abhilfe im Falle vonSynchronisations-problemen:<%@ page isThreadSafe="false" %>
![Page 88: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/88.jpg)
89
JSP Sitzungsverfolgung / Session Management
JSP-Seiten nehmen an Sitzungsverwaltung teil In spezieller Variablen „session“ vom Typ HttpSession können
Objekte unter Namen abgelegt werden<% Foo foo = new Foo(); session.putValue("foo",foo); %>
Inhalt kann auch aus anderer Seite ausgelesen werden<% Foo myFoo = (Foo) session.getValue("foo"); %>
Technik: Überwindung der Zustandslosigkeit durch clientseitige Cookies
Häufigste Anwendung: Warenkorb
![Page 89: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/89.jpg)
90
JSP Bewertung
Sehr stark:
Mischung von Designcode (HTML) und Programmiersprachencode (JAVA)
Trennung in TemplateEngine, z.B. WebMacro
![Page 90: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/90.jpg)
91
Tutorial
JGuru: JSP Short Tutorialhttp://java.sun.com/developer/onlineTraining/JSPIntro/contents.html
Sinnvoll für Praktische Übung
![Page 91: 1 Vorlesung Informationssystemen: Neuere Konzepte SS 2005 Kurs: WWI02V2 Dipl.-Inform. Michael Klein kleinm@ipd.uni-karlsruhe.de Dipl.-Inform. Heiko Schepperle](https://reader036.vdokument.com/reader036/viewer/2022081514/55204d7e49795902118cf524/html5/thumbnails/91.jpg)
Danke für die Aufmerksamkeit!