Seit vielen Jahrzehnten durchsuchen wir unsere Lieblingswebsites im Internet und erhalten eine schnelle Antwort, was auch immer wir wollen… aber versuchen Sie jemals zu wissen, wie die einzelnen Teile der Anwendung zusammenarbeiten und wie die Requests hinter den Kulissen verarbeitet wird? Wenn Sie sich ein wenig mit Technik auskennen, haben Sie vielleicht eine allgemeine und allgemeine Antwort, dass Ihre Requests an den Webserver geht, der Webserver dann die Requests verarbeitet und die gesamte Backend-Logik ausführt. Danach sendet es die Antwort zurück an den Webbrowser und Sie sehen das Ergebnis vor Ihrem Bildschirm.  

Wie-das-Web-funktioniert-Web-Application-Architecture-for-Anfänger class=

Nun, das ist genau richtig, aber wenn Sie auf eine tiefere Ebene gehen, werden Sie feststellen, dass Ihre Webanwendung eine komplexe Architektur aus verschiedenen Komponenten und Schichten hat. Ihre Requests durchläuft diese verschiedenen Schichten und Komponenten und Sie erhalten dann die Antwort vom Ende des Servers zurück. Es ist ein ziemlich langer Prozess, aber das Verständnis der Grundlagen der Webanwendungsarchitektur ist wirklich wichtig, wenn Sie ein guter Webanwendungsentwickler werden möchten. Lassen Sie uns zunächst ein paar Dinge über Webanwendungen verstehen.

Wenn Sie eine Anwendung erstellen, müssen Sie sich an drei Prinzipien erinnern …

  • Aus Kundensicht sollte die Anwendung nicht kompliziert sein, sie sollte angenehm sein und die meisten ihrer Probleme lösen.
  • Aus geschäftlicher Sicht sollte Ihre Webanwendung auf ihre Produkt-/ Markttauglichkeit ausgerichtet bleiben .
  • Aus der Sicht eines Ingenieurs sollte die Anwendung skalierbar, funktional und in der Lage sein, hohe Verkehrslasten zu tragen.

Wir werden die oben genannten Punkte in der Architektur von Webanwendungen diskutieren und das Kernkonzept, die Funktionsweise der Architektur, ihre Komponenten und Typen im Detail verstehen.

Was ist Webanwendungsarchitektur?

Wissen Sie, dass es einen Unterschied zwischen Websites und Webanwendungen gibt? (Sie haben vielleicht gedacht, dass beide gleich sind). Die Webanwendung ist ein Programm, das auf einem Browser läuft und hauptsächlich drei formale Merkmale aufweist. 

  • Behebt ein bestimmtes Problem, auch wenn es nur darum geht, Informationen zu finden
  • So interaktiv wie eine Desktop-Anwendung
  • Funktioniert mit Content-Management-System.

Wenn wir über die Website sprechen, dann ist es traditionell nur eine Kombination aus statischen Seiten. Eine Website wird zu einer Webanwendung, wenn sie sowohl aus statischen als auch aus dynamischen Seiten besteht ( ja!! es stimmt , dass alle modernen Websites das Beispiel für Webanwendungen sind.

Die Webanwendungsarchitektur ist ein Mechanismus, der uns verdeutlicht, wie die Verbindung zwischen dem Client und dem Server hergestellt wird. Es bestimmt, wie die Komponenten in einer Anwendung miteinander kommunizieren. Es spielt keine Rolle, wie groß und komplex die Anwendung ist, sie folgen alle dem gleichen Prinzip, nur die Details können sich unterscheiden. 

Wenn ein Benutzer eine Requests auf einer Website stellt, interagieren technisch gesehen verschiedene Komponenten der Anwendungen, Benutzeroberflächen, Middleware-Systeme, Datenbanken, Server und der Browser miteinander. Web Application Architecture ist ein Framework, das diese Beziehung zusammenhält und die Interaktion zwischen diesen Komponenten aufrechterhält. 

Wenn ein Benutzer mit einer Website interagiert und die Antwort vom Server zurückerhält, wird der gesamte Prozess innerhalb weniger Sekunden ausgeführt. Das Wichtigste, was wir hier beachten müssen, ist der Code, der an den Browser übergeben wurde. Dieser Code kann bestimmte Anweisungen enthalten oder nicht, die dem Browser mitteilen, wie er in Bezug auf die verschiedenen Arten von Benutzereingaben reagieren soll. Aus diesem Grund umfasst eine Webanwendungsarchitektur alle Unterkomponenten und externen Anwendungsaustausche für eine vollständige Softwareanwendung. Eine Webanwendungsarchitektur muss die Zuverlässigkeit, Skalierbarkeit, Sicherheit und Robustheit aufgrund einer großen Menge an globalem Netzwerkverkehr bewältigen. 

Wie funktioniert die Webrequests?

Nehmen wir ein Beispiel, dass Sie Flipkart.com besuchen möchten .

  • Sie geben flipkart.com in Ihrem Browser ein: Wenn Sie die URL in Ihren Webbrowser eingeben und die Eingabetaste drücken, muss der Webbrowser die Adresse des Servers kennen, auf dem sich die Seite befindet. Also sendet es die Requests an den DNS (Domain Name Server, der ein Lagerhaus für Domainnamen und ihre IP-Adressen ist). Danach sendet der Browser die Requests über das HTTPS-Protokoll an die gefundene IP-Adresse. Wenn Sie Flipkart.com bereits früher mit demselben Browser besucht haben, wird die Adresse aus dem Cache abgerufen.
  • Der Webserver verarbeitet die Requests: Im nächsten Schritt sendet der Webserver die Requests an den Speicherbereich, um die Seite und alle darauffolgenden Daten zu lokalisieren. Hier kommt die Geschäftslogik (auch Domänenlogik und Anwendungslogik genannt) ins Spiel. BL übernimmt die Verantwortung für das Routing, d. h. wie auf die einzelnen Daten zugegriffen wird. Sie regelt diesen Workflow anwendungsspezifisch. Während BL die Anforderung verarbeitet, sendet sie sie an den Speicher, um die gesuchten Daten zu lokalisieren.
  • Sie erhalten die Antwort zurück: Wenn die Antwort zurückgesendet wird, wird sie vor Ihrem Bildschirm angezeigt. Die Webseite (grafische Oberfläche) für jede Website, die auf Ihrem Bildschirm angezeigt wird, wird als Frontend einer Anwendung bezeichnet. Hier sehen Sie alle UI- und UX-Komponenten, um auf die Informationen zuzugreifen.

Wie funktioniert die Architektur von Webanwendungen?

Web-Application-Architecture

Alle Webanwendungen laufen auf der Clientseite und der Serverseite. Wenn ein Benutzer eine Requests stellt, laufen hauptsächlich zwei Programme auf beiden Seiten.

  • Code, der im Browser ausgeführt wird und gemäß den Eingaben des Benutzers funktioniert.
  • Code im Server, der auf die HTTP-Requestsn antwortet 

Während der Arbeit an der Webanwendung entscheidet ein Webentwickler über die Funktionen des Codes auf dem Server und die Funktionen des Codes im Browser. Sie definieren auch, wie diese beiden im Verhältnis zueinander funktionieren. Serverseitiger Code kann mit den Sprachen Python, JavaScript, C#, PHP, Ruby on Rails usw. geschrieben werden. Jeder Code kann auf dem Server ausgeführt werden, wenn er auf HTTP-Anforderungen reagieren kann. Der serverseitige Code ist hauptsächlich für die Erstellung der vom Benutzer angeforderten Seite verantwortlich. Es speichert auch verschiedene Arten von Daten wie Benutzerprofile, Tweets, Seiten usw. Serverseitiger Code kann vom Endbenutzer nicht gesehen werden (außer bei einer seltenen Fehlfunktion).

Zu den clientseitigen Sprachen gehört die Kombination aus HTML, CSS und JavaScript. Dieser Code wird vom Browser geparst und kann vom Benutzer sowohl angezeigt als auch bearbeitet werden. Clientseitiger Code kann nur über HTTP-Anforderungen mit dem Server kommunizieren. Außerdem kann es Dateien nicht direkt von einem Server lesen.

Komponenten der Webanwendungsarchitektur

Die Architektur von Webanwendungen arbeitet auf verschiedenen Komponenten. Diese Komponenten lassen sich in zwei Bereiche unterteilen.

1. App-Komponenten der Benutzeroberfläche: Wie der Name schon sagt, bezieht sich diese Kategorie viel mehr auf die Benutzeroberfläche/Erfahrung. In dieser Kategorie bezieht sich die Rolle der Webseite auf die Anzeige, Dashboards, Protokolle, Benachrichtigungen, Statistiken, Konfigurationseinstellungen usw. und hat nichts mit der Funktionalität oder Funktionsweise der Webanwendung zu tun. 

2. Strukturelle Komponenten: Diese Kategorie befasst sich hauptsächlich mit der Funktionalität der Webanwendung, mit der ein Benutzer interagiert, der Steuerung und der Datenbankspeicherung. Wie der Name schon sagt, geht es viel mehr um den strukturellen Teil der Webanwendung. Dieses Bauteil umfasst…

  • Der Webbrowser oder Client 
  • Der Webanwendungsserver
  • Der Datenbankserver 

Dreistufige Architekturschichten für Webanwendungen

Architekturmuster für Webanwendungen sind in viele verschiedene Schichten oder Ebenen unterteilt, was als Multi- oder Three-Tier Architecture bezeichnet wird. Sie können jede Ebene problemlos unabhängig voneinander ersetzen und aktualisieren. 

Web-Application-Three-Tier-Architecture

Präsentationsschicht: Diese Schicht ist für den Client über einen Browser zugänglich und enthält Benutzerschnittstellenkomponenten und UI-Prozesskomponenten. Wie wir bereits besprochen haben, werden diese UI-Komponenten mit HTML, CSS und JavaScript (und seinen Frameworks oder Bibliotheken) erstellt, wobei jede von ihnen eine andere Rolle beim Erstellen der Benutzeroberfläche spielt.

Geschäftsschicht: Wird auch als Geschäftslogik oder Domänenlogik oder Anwendungsschicht bezeichnet. Es nimmt die Requests des Benutzers vom Browser entgegen, verarbeitet sie und regelt die Wege, über die auf die Daten zugegriffen wird. Der gesamte Workflow ist in dieser Schicht codiert. Sie können das Beispiel der Buchung eines Hotels auf einer Website nehmen. Ein Reisender durchläuft eine Reihe von Ereignissen, um das Hotelzimmer zu buchen, und der gesamte Arbeitsablauf wird von der Geschäftslogik übernommen. 

Persistenzschicht: Wird auch als Speicher- oder Datenzugriffsschicht bezeichnet. Diese Schicht sammelt alle Datenaufrufe und bietet Zugriff auf den dauerhaften Speicher einer Anwendung. Die Business-Schicht ist eng mit der Persistenzschicht verbunden, sodass die Logik weiß, mit welcher Datenbank sie kommunizieren muss, und der Prozess zum Abrufen von Daten optimierter wird. In der Datenspeicherinfrastruktur sind ein Server und eine Datenbankverwaltungssystemsoftware vorhanden, die verwendet werden, um mit der Datenbank selbst, Anwendungen und Benutzerschnittstellen zu kommunizieren, um Daten abzurufen und zu analysieren. Sie können die Daten auf Hardwareservern oder in der Cloud speichern.

Einige andere Teile der Webanwendung, die von den in der Architektur vorhandenen Hauptschichten getrennt sind, sind…

  • Querschnittscode: Dieser Teil befasst sich mit Kommunikation, Betriebsmanagement und Sicherheit. Es betrifft alle Teile des Systems, sollte sich aber niemals mit ihnen vermischen.
  • Integrationen von Drittanbietern: Mithilfe von APIs von Drittanbietern können wir Zahlungs-Gateways, Social Logins, GDSs in Reise-Websites usw. integrieren.

Arten von Webanwendungsarchitekturen

1. Single-Page-Anwendungen: Heutzutage sind viele moderne Webanwendungen als Single-Page-Webanwendungen konzipiert, die nur die nötigsten Elemente und Informationen enthalten, um ein intuitives und interaktives Benutzererlebnis zu erzeugen. Bei einer Einzelseitenanwendung werden der Inhalt oder die Informationen auf der aktuellen Seite aktualisiert, anstatt für jede vom Benutzer durchgeführte Aktion eine neue Seite vom Server zu laden. 

  • Die Anwendung fordert nur notwendige Inhaltsdetails an und verhindert Unterbrechungen der Benutzererfahrung. 
  • AJAX, Asynchronous JavaScript und XML werden hauptsächlich für die Seitenkommunikation verwendet.
  • Benutzer können die Interaktion mit der Seite fortsetzen, während die Inhalte auf der Seite aktualisiert werden (schnellere Interaktion).

2. Microservices: Hierbei handelt es sich um kleine und leichtgewichtige Dienste, die spezifische Einzelfunktionen ausführen. Die Komponenten in den Anwendungen sind nicht voneinander abhängig, sodass nicht jede Komponente mit derselben Programmiersprache entwickelt werden muss. Dies gibt den Entwicklern die Flexibilität, die Sprache oder den Technologie-Stack ihrer eigenen Wahl zu wählen. Es steigert die Produktivität der Entwickler und beschleunigt den Entwicklungsprozess. 

3. Serverlose Architekturen: Bei diesem Ansatz lagern Entwickler die Server- und Infrastrukturverwaltung von einem Drittanbieter von Cloud-Infrastrukturdiensten aus. Der Vorteil dieses Ansatzes besteht darin, dass die Anwendung die erforderliche oder benutzerdefinierte Logik ausführen kann, ohne sich um die infrastrukturbezogenen Aufgaben kümmern zu müssen. Dieser Ansatz wird hauptsächlich von Unternehmen bevorzugt, die die Server und die Hardware, für die sie die Webanwendung entwickelt haben, nicht verwalten oder unterstützen möchten.

Fazit

Ich hoffe, dies war hilfreich, um die vollständige Architektur von Webanwendungen zu verstehen. Die Web-Apps entwickeln sich ständig weiter und viele moderne Webentwicklungs-Apps haben die bisherige Legacy-Struktur und die Grundkomponenten ersetzt. Viele Funktionen von Webanwendungen wie Robustheit, Sicherheit, Skalierbarkeit, Zuverlässigkeit und Reaktionsfähigkeit hängen von der Webanwendungsarchitektur ab, mit der man arbeitet. Die richtige Webanwendungsarchitektur ebnet den Weg für zukünftige Erweiterungs- und Skalierbarkeitspläne. Daher ist es immer gut, die Anforderungen und Ziele zu erkunden, bevor jemand mit dem Entwicklungsprozess einer Anwendung beginnt. 

Go Premium (An Ad Free Experience with many more features)