190 likes | 302 Views
Web-Design: Architektur. Ziele dieses Abschnitts: Überblick über die drei Grundmuster Entscheidungsunterstützung zur Auswahl und Allokation von Komponenten Vorverständnis für Vergleich mit der service-basierten Architektur (“Web Services“). Web-Design: Architektur.
E N D
Web-Design: Architektur • Ziele dieses Abschnitts: • Überblick über die drei Grundmuster • Entscheidungsunterstützung zur Auswahl und Allokation von Komponenten • Vorverständnis für Vergleich mit der service-basierten Architektur (“Web Services“) Web-Architektur
Web-Design: Architektur • Web-Applikation: Erweiterung einer Web-Site um das Einbringen von Operationen einer Anwendung, die in Folge den Zustand eines Anwendungsfalls am Server aktualisieren. • Eine Web-Applikation ist ein Client/Server SW System. • Im Minimalfall werden folgende Komponenten benötigt: • client browser • web server • application server, meist jedoch auch DB server Web-Architektur
Web-Design: 3 Architekturpatterns • Thin Web Client: Wird für Internet Applikationen verwendet, bei welchen kein Einfluss auf die Konfiguration des Client besteht. Über die Ausstattung des Client werden keine Annahmen getroffen. • Thick Web Client:Ein architukturell signifikanter Teil der Anwendungslogik wird auf dem Client verarbeiet.Client-Server Kommunikation erfolgt über HTTP. • Web Delivery:Neben HTTP werden Protokolle wie IIOP und DCOM verwendet, die ein Distributed Object System unterstützen. Der Web-Browser dient primär zu „Zustellzwecken“. Web-Architektur
Web-Architektur: Thin Web Client • Anwendung: Client minimal ausgestattet oder Austattung des Client nicht steuerbar/unbekannt • Anwendungsbereich: e-Commerce, da ein möglichst weiter Kundenkreis erreicht werden soll • Struktur: Alle wesentlichen Komponenten residieren am Server. • Client-Browser und Web-Server kommunizieren über HTTP oder SSL (Secure Socket Layer), wobei die übertragene Information in „encrypteter“ Form übermittelt wird. Web-Architektur
Web-Architektur: Thin Web Client (Min.) Web Server + Authentication +Cookie Mngmt. Application Server + Session State Browser + Cookies HTTP Server Pages+ Java Servlets + ISAPI, +NSAPI + CGI + JSP HTML Pages + Forms +Input Element Web-Architektur
Web-Architektur: Thin Web Client –Erweiterung Web Server Application Server Server Pages AccountSystem Business Objects Legacy System Interface Persistence Mapping Persistence
Thin Client - Komponenten • Client Browser: Standardmäßiger HTML Browser mit Forms. Agiert als verallgemeinertes Benutzerinterface. Der Anwender verwendet den Browser, um Web Seiten (HTML oder Server Pages) anzufordern. • Web Server: Ist der zentrale Zugriffspunkt aller Browser, die nur über den Web Server zugreifen.Abhängegig von der Anforderung, kann eine Server-seitige Verarbeitung (CGI, ISAPI,...) erfolgen. Das Ergebnis ist immer eine HTML Seite. • HTML Seite: Eine Web Seite mit Interface und Content Information, die keiner Server-seitigen Verarbeitung unterliegt. Web-Architektur
Thin Client - Komponenten • Server Seite: Eine Seite, die einer Server-seitigen Verarbeitung bedarf. Beispiel: HTML Input Form; Typischerweise sind solche Seiten am Server als “scripted pages“ implementiert (ASP; Java Server Pages,...). Verarbeitung mittels eines Filters am Application-Server oder mittlels exekutierbarer Module wie ISAPI, NSAPI. • Application Server: Die primäre Zuständigkeit für die Verarbetung Server-seitiger Anwendungslogik. Kann auf derselben Maschine liegen wie der Web-Server, ist jedoch logisch eine getrennte Komponente. Web-Architektur
Thin Client mit Datenbankanbindung • Die meisten Web-Applikationen verwenden eine DB zwecks Persistenz der Business Daten, andere benutzen einen TPM (transact. processing monitor). • Die einfachste Art der Anbindung besteht darin, den Scripts in den Server Seiten direkten Zugriff auf die DB zu ermöglichen. • Direkter Zugriff erfolgt unter Verwendung von Standardbibliotheken für den DB Zugriff, wie RDO (Remote Data Object) ADO (ActiveX Data Object), ODBC (Open Database Connectivity), JDBC, DBLib, ... • Die Server Seiten kennen das DB Schema, für relationale DB‘s konstuieren und exekutiern sie SQL Anweisungen zwecks Zugriffs auf die Daten der DB. Web-Architektur
Thin Client mit Business Objects • Die Business Logic Komponente kapselt die An-wendungslogik ab, sie läuft am Application Server. • Vorteil: andere Client Server Systeme können dieselbe Komponente verwenden, um dieselbe Anwendungslogik zu nutzen. • Beispiel: Ein Front-end eines Geschäftes verwendet eine Web-SS mit Thin Client Architektur für alle Kundenaktivitäten, setzt aber für das Rechnungswesen, das einen komplexeren Datenzugriff erfordert, ein Clieent/Server System ein. – Beide Systeme (Front- und Back- end) greifen auf dieselbe Anwendungslogik am Application Server zu. Web-Architektur
Thin Client – Konsequenzen • Geeignet für Anwendungen, bei welchen die Antwortzeiten des Servers innerhalb einer Zeitspanne liegen, die von Benutzer akzeptiert wird, bzw. innerhalb der timeout Schranke des Client Browsers liegt.Ggf. Verwendung von periodischem Polling des Servers. • Nur einfache Benutzerschnittstellen verwendbar. Da der Browser als gesamte Benutzerschnittstelle fungiert, stehen nur die Features entsprechend der verwendeten HTML Spezifikation zur Verfügung, also primär Texteingabefelder, Checkboxes, Buttons. Web-Architektur
Thick Client Architektur • Erweitert den Thin Client um die Verwendung von “Client-side Scripting“ und “Custom Objects“. • Anwendung: für Web-Applikationen, bei welchen eine bestimmte Client Konfiguration und Browser Version vorausgesetzt werden kann. • Anwendungsbereich: Darbieten erweiterter Benutzerschnittstellen durch Cleint-side Scripts, Applets, Controls, Plug-Ins,... . • Java Applets und ActiveX Controls werden gern verwendet, um hierarchische Strukturen für Controls und Views zu erzeugen. Web-Architektur
Thick Client Architektur • Kommunikation zwischen Cleint und Server via HTTP – verbindungsloses (connectionless) Protokoll. • Client sendet Informationen nur während er Seiten anfordert. Meist keine offene Verbindung zwischen Client und Server. • - Client-side scripts (VBScript, JavaScript, eingebettet in einer HTML Seite), - ActiveX controls (COM Objekte), - Java applets (kompilierte Komponenten) interagieren nur mit Objekten, die sich am Client befinden. Web-Architektur
Thick Client Architektur Java Applet ActiveX Control Browser Persistenz und Legacy wie bei der Ergänzung zum Thin Client. HTML Pages XML Document Client Script Server Pages HTTP Web Server Application Server Business Objects Web-Architektur
Thick Client Architektur - Konsequezen • Portabilität über verschiedene Browser Implementierungen; • Nicht alle HTML Browser unterstützen VBScript oder JavaScript oder ActiveX Komponenten; • Wenn Client-Scripting, Applets, Kontrollelemente benutzt werden, muss für jede Client Konfiguration die volle Menge der Testszenarien durchgeführt werden; • Verschiedene Browser können sich verschieden verhalten, auch wenn derselbe Source-Code existiert. Web-Architektur
Web-Delivery Architektur • Das Web wird primär als Zustelldienst für ein sonst traditionelles, verteiltes Cliet/Server System. • Wird verwendet, wenn man signifikanten Einfluss auf die Klienten Applikation und das Netzwerk hat. • größte Bedeutung: existierende Business Object Anwendungen werden netzfähig gemacht. • Direkte und persisitente Kommunikation zwischen Client und Server sind möglich. • Wird häufig mit einem oder beiden der anderen Patterns verwendet. Web-Architektur
Web-Delivery Architektur - Struktur • Signifikantester Unterschied zu den anderen Mustern: es kommen Protokolle (ggf. neben HTTP) zum Einsatz, die mächigere Interaktionen zwischen Client und Server zulassen. Beispiele: • DCOM: Distributed COM: MIcrosoft‘s Protokoll für die Inter-Objekt-Kommunikation verteilter Objekte. • IIOO: Internet Inter-ORB Protocol ist OMG‘s CORBA Protokoll für die Inter-Objekt Kommunikation über das Internet oder ein TCP/IP-basiertes Netzwerk. • RMI: Remote Method Invocation ist Java‘s Weg der Inter-Objekt-Kommunikation. RMI kann CORBA‘s IIOP implementiert werden. Web-Architektur
Web Delivery Architektur Pattern Browser ActiveX Client components Java Applet HTTP RMI DCOM Web Server Application Server IIOP HTML Pages Server Pages ActiveX Server components Business Objects Enterprise JavaBeans Merchant account interfaces Legacy system Interfaces Persistence Mapping Persistence Web-Architektur
Zusammenfassung • Die Sicht der Software Architektur beschreibt die architekturell signifikanten Komponenten auf höchstem Niveau. (UML Packages, Subsysteme) • Thin Clients beruhen auf den nur grundlegendsten Fähigkeiten von Browsern. Die Anwendungslogik liegt i.A. am Server. • Thick Clients verwenden Scripts, Applets, ActiveX Components, um Anwendungslogik am Client auszuführen. Mächtigere Benutzerschnittstellen sind möglich. • In Web-Delivery Systemen partizipiert der Client an einem System verteilter Objekte und kommuniziert direkt mit den Servern, welche die Anwendungslogik tragen. • Die Architekturmuster sind kombinierbar. Web-Architektur