Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Architektur von Web- Informationssystemen. © Prof. T. Kudraß, HTWK Leipzig Techniken zur DB-Server- Anbindung Client-Seite Java Applet ActiveXPlugInCGISSIServer.

Ähnliche Präsentationen


Präsentation zum Thema: "Architektur von Web- Informationssystemen. © Prof. T. Kudraß, HTWK Leipzig Techniken zur DB-Server- Anbindung Client-Seite Java Applet ActiveXPlugInCGISSIServer."—  Präsentation transkript:

1 Architektur von Web- Informationssystemen

2 © Prof. T. Kudraß, HTWK Leipzig Techniken zur DB-Server- Anbindung Client-Seite Java Applet ActiveXPlugInCGISSIServer API ASPJava Servlet JSP Server-Seite DB-Server SQLJ JDBC ODBC Generierungsmethode HTML-Generierende Applikation HTML/XML- Erweiterung

3 © Prof. T. Kudraß, HTWK Leipzig Anforderungen an eine DB-Server- Anbindung Integrierte Benutzerschnittstelle – Verschiedene Medientypen – Browser-Darstellung, keine proprietären Formate Interaktivität – erfordert zustandswahrende Verbindung Konsistenz und Datenintegrität Performance Sicherheit – Programme, die von Web-Server geladen werden Skalierbarkeit Offenheit – Konflikt mit Performance (Java vs. Microsoft)

4 © Prof. T. Kudraß, HTWK Leipzig Web-DB-Anbindungsarchitekturen

5 © Prof. T. Kudraß, HTWK Leipzig Common Gateway Interface (CGI) Prinzip: Client (Anwender) Server-Rechner HTML-Datei mit Formular Daten- bank WWW- Server automatisch erzeugte HTML-Datei CGI- Skript automatisch erzeugte HTML-Datei Formular abschicken übertragen CGI-Skript aufrufen HTML-Datei übertragen DB abfragen Abfrage-Report der DB auswerten HTML-Datei aus Abfrage-Report erzeugen

6 © Prof. T. Kudraß, HTWK Leipzig CGI Bewertung Vorteile: – Unterstützung durch alle WWW-Server – Anforderungsspezifisch programmiert – schnell und flexibel Nachteile: – Pro Interaktion Start eines CGI-Prozesses / Aufbau einer DB- Verbindung (Verbesserung FastCGI) – Kein Transaktionskonzept zwischen Client und WWW-Server, Problem der Realisierung von Zuständen – Logische Formular-Eingabefehler erst im CGI-Programm erkannt – Sicherheit – Aufwendige Programmerstellung – Formatierung des Dokuments problematisch, da generiert

7 © Prof. T. Kudraß, HTWK Leipzig Server Side Includes (SSI) Prinzip: – Erweiterung der Funktionalität von Web Servern – SSI = dynamische HTML-Dokumente, angereichert mit speziellen Steuerungsbefehlen in HTML-Syntax und DB-Zugriffsfunktionalität (z.B. Anzeige aktueller Uhrzeit oder Börsenkurse) – Ebenfalls möglich: Aufruf anderer Anwendungen (z.B. CGI-Programme, BS- Kommandos) und Erzeugung eines neuen Prozesses Verarbeitung regulärer HTML-Formulare

8 © Prof. T. Kudraß, HTWK Leipzig Active Server Pages (ASP) HTML Dokument mit eingebetteten Anweisungen in VBScript oder JScript ASP Bestandteil des Internet Information Server große Funktionalität durch Mächtigkeit der Skript- Sprachen (aber geringer als Java/C++) Einbettung von SQL in Skriptsprache (DB-Zugriff über ODBC und ADOs) Session Management mit Hilfe von Session-IDs (von Cookies übertragen) Zugriff auf Formular- und Umgebungsvariablen

9 © Prof. T. Kudraß, HTWK Leipzig Java Servlets Einordnung: – als serverseitige Applets bezeichnet – Pendant zu den Server-Erweiterungs-APIs von MS und Netscape – Bestandteil des JDK 1.2 (somit kompatibel mit vielen Web- Server-Herstellern) Voraussetzung – Integration einer JVM in den Web-Server bzw. Kooperation mit einem Zusatzprozeß Vorteile: – Plattform- und herstellerunabhängige Erweiterung von Web- Servern möglich (durch Standard Java Extension API) – Dynamisches Binden möglich (Java-Klassenlader) Hinzufügen und Entfernen von Moduln ohne Neustart des Servers

10 © Prof. T. Kudraß, HTWK Leipzig Web/DB-Anbindung über Java Servlets Weitere Vorteile alle Möglichkeiten der Sprache Java Web-ClientWeb-Server Servlet-Engine DB-Server Java- Klassenbibliothek HTTP JVMJVM JDBC gleiches Sicherheitskonzept wie Java (Security Manager), verhindert Ressourcenmißbrauch Leistung: bleiben im Speicher des Servers, DB-Verbindung nur einmal nötig Lastverteilung: Aufruf anderer Servlets möglich mehr Programmieraufwand, Ent- wicklungsumgebungen verfügbar

11 © Prof. T. Kudraß, HTWK Leipzig Java Server Pages (JSP) Weiterentwicklung des SSI-Mechanismus und Erweiterung des Servlet-Konzepts mischt statisches HTML mit dynamischem Code (Anwendungslogik) Anwendungslogik: Java Beans, JDBC-Objekte, Enterprise Java Beans (EJB), RMI-Objekte (Remote Method Invocation) - aufrufbar aus JSP-Seite strikte Trennung von Design/Präsentation einer Seite von deren Inhalt bzw. Logik zusätzliche JSP-Engine muß installiert werden

12 © Prof. T. Kudraß, HTWK Leipzig Betrachtung der server-seitigen Ansätze Bewertung von Funktionalität und Architektur Realisierung von Zuständen Sicherheits-Aspekte

13 © Prof. T. Kudraß, HTWK Leipzig Realisierung von Zuständen Zustandslosigkeit – HTTP-Kommunikationsverbindung zwischen Web-Browser und Web-Server nur während einer Anfragebearbeitung – Folge: Transaktionen beschränkt auf diese Zeitspanne (jedesmal neue DB-Verbindung herstellen) – Bedarf zusätzlicher Techniken zur Realisierung kontextabhängiger Mehrschritt-Arbeitsgänge (z.B. Führen eines Warenkorbes) Realisierung von Zuständen durch – Session IDs (identifiziert Web-Sitzung) – User IDs (Benutzeridentifikation für personalisierte Angebote) Techniken – HTTP-Cookies – URL-Kodierung – Formularvariable (Hidden Fields)

14 © Prof. T. Kudraß, HTWK Leipzig Formularvariable Zuweisung einer eindeutigen Kennung an den Benutzer während der Interaktion mit dem WWW-Server (z.B. in Form einer ID) Eintrag der Session-ID als versteckte Eingabevariable ins HTML-Formular, z.B. Nutzung der Session-ID für die weitere Kommunikation (z.B. Bestimmung des Warenkorb-Besitzers bei langen Vorgängen über diese ID)

15 © Prof. T. Kudraß, HTWK Leipzig Formularvariable Bewertung Vorteil: – Unabhängig von Browsertyp und Browserkonfiguration Nachteile: – Session-ID muß in allen HTML-Dokumenten des Benutzers bei einem Vorgang und allen Folgeaktionen einkodiert sein – Erfordert dynamische Erzeugung von HTML- Dokumenten Belastet den Web-Server Erschwert die Anwendungsentwicklung

16 © Prof. T. Kudraß, HTWK Leipzig HTTP-Cookie Unabhängig vom eigentlichen HTML-Dokument Bestandteil der Meta-Information zu einer HTML-Seite – Vom Server zum Browser übertragen – Temporär im Browser gespeichert Beispiel: Set-Cookie: KNR=4711;Version=1;Path=/katalog; MAX-Age=1800 – Übertragung des Cookies KNR=4711 (Kunden-Nr.) bei jeder Dokumentenanforderung im Verzeichnis /katalog (falls Cookies unterstützt werden) – Max-Age definiert die Verfallsdauer (im Beispiel max. Sitzungsdauer 1800 Sekunden)

17 © Prof. T. Kudraß, HTWK Leipzig HTTP-Cookie Bewertung Vorteile: – Automatische Unterstützung durch den Browser – Einsatz unanhängig von der Kodierung in einer HTML-Seite – Bei gleichzeitiger Verwendung mehrerer Cookies Speicherung vieler Informationen möglich – Anwendung bei E-Shops: Speichern von Waren- korbinhalten Nachteile – Nicht von allen Browsern unterstützt – Benutzer kann Cookies abschalten bzw. verweigern

18 © Prof. T. Kudraß, HTWK Leipzig Sicherheit Sicherheit = Übertragungssicherheit + Zugriffsschutz Zugriffskontrolle: – HTTP-Authentisierung: Einschränkung des Zugriffs auf bestimmte Unterverzeichnisse oder den ganzen Server für bestimmte Benutzer – Einschränken des Verbindungsrechts auf bestimmte Adressen / Domains (Konfiguration des Web- Servers) – Werkzeugunterstützung für ID-Wechsel (Web-User vs. DB-Client)

19 © Prof. T. Kudraß, HTWK Leipzig Sicherheit (Forts.) Übertragungssicherheit für Passwörter u.a. vertrauliche Daten – Standard: Secure Socket Layer (SSL) Grundlage RSA-Verfahren Benötigt Zertifikat auf Seiten des Web-Servers Client entscheidet über Übertragung, falls Server nicht zertifiziert – Nachteil von SSL: kurze Schlüssellängen, somit besondere Sicherheitsanforderungen erfüllt – Erfordert Speziallösungen: z.B. für Online-Banking eigene Sicherheitsprotokolle, basierend auf Java


Herunterladen ppt "Architektur von Web- Informationssystemen. © Prof. T. Kudraß, HTWK Leipzig Techniken zur DB-Server- Anbindung Client-Seite Java Applet ActiveXPlugInCGISSIServer."

Ähnliche Präsentationen


Google-Anzeigen