• Keine Ergebnisse gefunden

Architektur von Web- Informationssystemen

N/A
N/A
Protected

Academic year: 2022

Aktie "Architektur von Web- Informationssystemen"

Copied!
19
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)
(2)

Techniken zur DB-Server- Anbindung

Client-Seite Java

Applet

ActiveX PlugIn CGI SSI Server API

ASP Java Servlet

JSP Server-Seite

DB-Server SQLJ

JDBC ODBC

Generierungsmethode HTML-Generierende

Applikation

HTML/XML- Erweiterung

(3)

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)

Web-DB-Anbindungsarchitekturen

(5)

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)

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)

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)

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)

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)

Web/DB-Anbindung über Java Servlets

Weitere Vorteile

alle Möglichkeiten der Sprache Java

Web-Client Web-Server Servlet-Engine

DB-Server Java-

Klassenbibliothek

HTTP

J V M

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

(11)

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)

Betrachtung der server-seitigen Ansätze

Bewertung von Funktionalität und Architektur

Realisierung von Zuständen

Sicherheits-Aspekte

(13)

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)

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.

<INPUT TYPE=HIDDEN NAME=SID VALUE=4711>

Nutzung der Session-ID für die weitere Kommunikation (z.B. Bestimmung des

Warenkorb-Besitzers bei langen Vorgängen

über diese ID)

(15)

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)

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.

(17)

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)

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

(19)

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

Referenzen

ÄHNLICHE DOKUMENTE

– POST: Client schickt Daten an den Server, wobei diese nicht in der URL sondern direkt im Header der Anforderung übergeben werden.. – HEAD, PUT, DELETE: keine Bedeutung für

– POST: Client schickt Daten an den Server, wobei diese nicht in der URL sondern direkt im Header der Anforderung übergeben werden.. – HEAD, PUT, DELETE: keine Bedeutung für

Das Bildungspaket gilt für alle Familien, die leistungsberechtigt nach dem SGB II sind (insbesondere Arbeitslosengeld II oder Sozialgeld) oder Sozialhilfe, Wohngeld, den

Mithilfe dieses Kommunikations-Cockpit soll es dem Planer möglich sein, Diskussionen zu steuern, Entscheidungen mit Gesetzestexte zu verlinken, so dass eine breiteres Verständnis

Um diese Situation langfristig zu ver- bessern, hat eine Gruppe von Impfexperten unter der Be- zeichnung „Forum Impfende Ärzte“ eine Internet-Platt- form aufgebaut, die

Es wurde auch überlegt, daß es lustig wäre die beiden Figuren (Anne Fänger und Sam Erst) als zukünftige Maskottchen des Erstsemestrigentutoriums auf der TU-Graz zu erwählen.

&#34;rexx&#34; and refers to an external file containing the code because of the presence of the src attribute with the value &#34;helloWorld.rex&#34;. Note that the external

In einer Be obachtungsstudie zeigte der Statineinsatz bei ACS-Patienten bei Spitalentlas- sung im Vergleich zu keiner Statintherapie sowohl nach 30 Tagen wie auch nach