Web Architektur
Unter der sogenannten Web Architektur (englisch: Web Architecture) wird der konzeptionelle Aufbau des World Wide Web verstanden. Das WWW oder Internet ist ein sich stetig veränderndes Medium, das einerseits die Kommunikation zwischen unterschiedlichen Nutzern und andererseits das technische Zusammenwirken (Interoperabilität) zwischen verschiedenen Systemen und Subsystemen ermöglicht.[1] Grundlage hierfür sind unterschiedliche Komponenten und Datenformate, die meist in sogenannten Schichten (engl.: tier) angeordnet sind und aufeinander aufbauen. Im Gesamten bilden sie die Infrastruktur des Internets, die durch die drei Kernbestandteile Datenübertragungsprotokolle (TCP/IP, HTTP), Repräsentationsformate (HTML, CSS, XML) und Adressierungsstandards (URI, URL) ermöglicht wird. Der Begriff Web Architektur ist von den Begriffen Website Architektur und Informationsarchitektur zu unterscheiden.
Entstehung
Das Web oder auch World Wide Web ist ein Konzept, das in den 1990er-Jahren realisiert wurde, damit Menschen und Maschinen innerhalb eines bestimmten Raumes miteinander kommunizieren können. Es dient dazu, Informationen in einem Netzwerk auszutauschen, zu verbreiten und zu verteilen. Damals bestand das Web vorwiegend aus statischen Websites auf HTML-Basis – sogenannte Hypertexte, die in einem Browser aufgerufen werden können. Später kamen dynamische Websites und verteilte Webdienste hinzu.
Arten von Web Architekturen
Das Internet ist ein Medium, das sich ständig verändert und durch zahlreiche Entwickler, Programmierer und verschiedene Konsortien wie dem W3C erweitert wird. Die eingesetzten Architekturen können jedoch schematisch unterschieden werden.
Client-Server-Modell
Anfangs war das Web durch das Zwei-Schichten-Modell (engl.: two tier architecture) charakterisiert: Clients und Server teilen sich die Aufgaben und Dienstleistungen, die das System erledigen soll. Der Client kann zum Beispiel einen Dienst vom Server anfordern; der Server beantwortet die Anfrage, indem er den Dienst bereitstellt. Das Abrufen einer Website per URL-Adresse, die auf einen Server verweist, und das Laden der Website im Browser des Clients ist ein Beispiel für das Zwei-Schichten-Modell, das auch als Client-Server-Modell bezeichnet wird.
Als Basis für das WWW dient die sogenannte Internetprotokollfamilie, die mittlerweile aus rund 500 unterschiedlichen Netzwerkprotokollen besteht, aber meist unter dem TCP/IP-Referenzmodell zusammengefasst wird. Für die Web Architektur müssen drei Voraussetzungen bestehen, damit die verteilten Anwendungssysteme miteinander kommunizieren können:[2]
- Repräsentationsformate, mit festem Standard: die am häufigsten eingesetzten Formate sind hier HTML und CSS; oder XML, wenn Maschinen miteinander kommunizieren.
- Protokolle zur Datenübertragung: im Web wird HTTP (Hypertext Transfer Protocol) genutzt; bei anderen Anwendungen wie Mailservern aber auch SMTP (Simple Mail Transfer Protocol) oder POP (Post Office Protocol). Die verwendeten Protokolle sind von ihrer Anwendung abhängig.
- Standard für die Adressierung: hiermit ist die URL (Uniform Ressource Locator) gemeint, die eine Instanz des allgemeineren Konzeptes URI ist.
Die Web Architektur basiert schließlich analog zur betrieblichen Struktur bei Anwendungssystemen aus Datenhaltung, Datenübertragung und Präsentation. Übertragen auf das Web, besteht die Web Architektur typischerweise aus Datenbankservern, welche die Daten und Ressourcen verwalten. Diese kommunizieren mithilfe eines Übertragungsprotokolls mit einem Client, der die Daten abrufen und sich diese formatiert und strukturiert in einem Browser anschauen kann. Die Repräsentation erfolgt hier meist mit HTML und CSS.
Drei-Schichten-Modell
Drei-Schichten-Modelle sind dadurch gekennzeichnet, dass zwischen Client und Server eine Anwendungslogik tritt, die die Datenverarbeitung übernimmt und ein gewisses Maß an Interaktion ermöglicht. So kann ein Anwendungsserver Daten verarbeiten, während ein Datenbankserver sich ausschließlich der Datenspeicherung widmet. Auf diese Weise können Inhalte dynamisch geladen und gespeichert werden. Die Skriptsprache JavaScript ist häufig für das Verhalten des Clients verantwortlich.
Grundsätzlich wird unterschieden zwischen serverseitiger und clientseitiger Datenverarbeitung. Dynamische Websites zeichnen sich gerade dadurch aus, dass Inhalte clientseitig verändert werden, ohne dass eine erneute Kommunikation zwischen Server und Client stattfindet. Das Handling auf der Clientseite wird mit Skripten beeinflusst, sodass keine asynchrone Datenübertragung notwendig ist. Auf der Serverseite werden veränderte Inhalte über den Anwendungsserver auf dem Datenbankserver gespeichert. Optional kann dies ein Virtueller Server sein, der einen physischen lediglich emuliert.
Es gibt verschiedene Programmiersprachen und Frameworks, um Drei-Schichten-Modelle umzusetzen. Eine Auswahl:
- Hypertext Preprocessor (PHP)
- Common Gateway Interface (CGI)
- JavaServer Pages (JSP)
- Active Server Pages (ASP.NET)
- Asynchronous JavaScript and XML (AJAX)
- Microsoft Silverlight
- JavaScript Object Notation (JSON)
- Java Applets, JavaScript und VBScript (clientseitige Technologien)
Serviceorientierte Architekturen (SOA)
Heute wird das Web für die Vernetzung von global verteilten IT-Strukturen genutzt. Dabei kann jedes IT-System wiederum aus Teilbereichen bestehen, deren einzelne Komponenten über eine feste Struktur bzw. Architektur miteinander verknüpft sind. Man denke an Intranet und interne Unternehmenssoftware. Moderne IT- und Webanwendungen sind wesentlich komplexer als das Client-Server-Modell. Verteilte Webdienste, die als serviceorientierte Architekturen (SOA) aufgesetzt sind, bieten vielerlei Funktionen und modulare Funktionseinheiten, die ergänzt werden können. Mit SOAs lassen sich Geschäftsprozesse automatisieren, indem die beteiligten System - teils ohne menschliche Eingriffe - miteinander kommunizieren und bestimmte Aufgaben erledigen. Beispiele hierfür sind Online-Banking, E-Commerce, E-Learning, Online-Marktplätze oder Business Intelligence Anwendungen. Diese Architekturen sind nicht nur weitaus komplexer, sondern mitunter auch modular erweiterbar. Sie werden als N-tier-Architekturen bezeichnet und kommen bisher vor allem in der Industrie zum Einsatz.
Generell existieren hier zwei Ansätze:[3]
- Web Services Description Language (WSDL) und Simple Object Access Protocol (SOAP): WSDL ist eine Metasprache zur Beschreibung von Netzwerkdiensten auf Basis von XML, sodass ein Webservice bestimmte Aufgaben interpretieren und ausführen kann. Mit WSDL lässt sich eine Schnittstelle zu einem Webservice definieren. SOAP basiert ebenfalls auf XML und erlaubt die Steuerung von Webservices in Form von Prozeduraufrufen, die mit dem Protokoll RPC (remote procedure call) realisiert werden. SOAP, WSDL und XML Schema kommen häufig gemeinsam zum Einsatz.
- Representational State Transfer (REST): REST ist ein ähnlicher Ansatz, der zur Kommunikation zwischen Maschinen in verteilten Systemen verwendet wird. Er baut auf einer Client-Server-Architektur auf, zeichnet sich aber vor allem durch seine einheitliche Schnittstelle aus. Somit soll die Verwendung von REST einfach und mit verschiedenen Ressourcen oder Objekten erfolgen können. Mit dem Konzept Hypermedia as the Engine of Application State (HATEOAS) ist es bei REST-Anwendungen zudem möglich, Schnittstellen während des Betriebs zu verändern, statt sie wie bei WSDL neu definieren zu müssen.
Als aktuelles Forschungsgebiet in diesem Kontext kann das Internet of Things oder das Semantic Web betrachtet werden. Würde die Web Architektur als evolutionäre Zeitleiste dargestellt werden, wären IoT und Semantic Web die Spitzen der Entwicklung.[4] Entsprechend komplex sind die Architekturen, die hier zum Einsatz kommen.
Bedeutung für das Online Marketing
Die Auswirkungen verschiedener Architekturen sind überaus vielfältig. Aus Nutzerperspektive verändern sich Websites und Webservices in einem Maß, das nicht einmal Entwickler überblicken. Mit Hunderten Protokollen, Programmier- und Skriptsprachen, Frameworks und Schnittstellen kann kaum ein Entwickler Schritt halten. Für den Nutzer bedeutet aber ein vergrößerter Funktionsumfang zunächst nur Gutes, solange das System funktioniert. Websites werden interaktiv, Daten werden schneller ausgetauscht und Dienste interagieren problemlos miteinander. Je nach gewähltem Modell können sich zum Beispiel bestimmte KPIs eines Webprojektes enorm erhöhen. Stichwort: Performance oder Page Speed. Aber auch die User Experience und der Joy of Use können sich zum Positiven verändern.
Für ambitionierte Webanwendungen benötigen Entwickler heutzutage aber auch fundierte Kenntnisse in Sachen IT-Infrastruktur, Programmiersprachen, APIs oder Sicherheit und Datenschutz. Aus Entwicklerperspektive werden Web Architekturen immer komplexer und zeitgleich existieren viele unterschiedliche Ansätze. Das Internet als solches kennt dies nicht anders: Technologien kommen und gehen; und nur die besten Anwendungen setzen sich durch – weil sie ein bestimmtes Problem lösen und durch die Nutzer akzeptiert werden. Das Client-Server-Modell ist jedenfalls schon jetzt ein Klassiker, auch wenn es bei Milliarden Aufrufen von Websites noch zum Einsatz kommt. Mit serviceorientierten Architekturen stehen wahrscheinlich bereits die Nachfolger fest.
Einzelnachweise
- ↑ Ein konzeptionelles Architekturrahmenswerk für Web-Anwendungen ceur-ws.org. Abgerufen am 25.01.2016
- ↑ Web-Architektur enzyklopaedie-der-wirtschaftsinformatik.de. Abgerufen am 25.01.2016
- ↑ Webservice itwissen.info. Abgerufen am 25.01.2016
- ↑ Web Technologie Einführung uni-weimar.de. Abgerufen am 25.01.2016
Weblinks
- Umfangreiche Informationssammlung zur Web Architecture auf den Seiten des W3C
- Web Architecture in knapp 40 Slides erklärt
- 35-minütiger Vortrag an der Florida State University zum Thema Web Architecture
- Architecture of the World Wide Web