Video: Datenbank-Grundlagen Tutorial: Begriffserklärungen |video2brain.com 2024
Oracle 12c erkennt, dass m Ulti-Tier-Anwendungen der aktuelle Industriestandard sind und aus mehreren Web-, Anwendungs- und Datenbankdaten bestehen. Server, die Inhalte an Thin Clients mit Präsentation über einen Webbrowser liefern. Haben Sie sich jemals gefragt, was hinter den Kulissen steckt, wenn Sie sich bei einer Webanwendung für Online-Einkäufe oder Bankgeschäfte anmelden?
Die Client-Ebene ist lediglich ein Webbrowser, der auf einen Webserver zugreift. Das Anzeigen von Inhalten an den Benutzer ist der Hauptzweck des Clients in dieser Architektur; Auf dieser Ebene innerhalb des Browsers findet keine tatsächliche Verarbeitung statt. Die Präsentation erfolgt am häufigsten über HTML (HyperText Markup Language), kann aber auch innerhalb eines Java-Applets oder einer ActiveX-Komponente erfolgen und verwendet JavaScript für dynamischere Formatierungen und Inhalte.
Die Kommunikation vom Browser zum Webserver erfolgt über HTTP (HyperText Transfer Protocol) oder HTTPS für sichere (verschlüsselte) Daten. Webserver fungieren konzeptionell als Weblistener; Sie empfangen Anfragen von Browsern und geben formatierte Ergebnismengen mit geringer Verarbeitung selbst zurück. Sobald sie auf dem Webserver sind, wird die Browseranforderung analysiert und zur Verarbeitung an den entsprechenden Anwendungsserver gesendet.
Die Anwendungsserverkomponente befindet sich möglicherweise auf demselben physischen Server wie der Webserver oder auf einem anderen physischen Server. Der bei weitem bekannteste Webserver ist Apache oder eines seiner kommerziellen Derivate mit über 50 Prozent des Marktanteils nach Netcraft.
Auf der Anwendungsserverebene wird die Benutzeranforderung unter Verwendung der relevanten Anwendungslogik verarbeitet. Eine sehr gebräuchliche Methode ist die Verwendung eines Java-Anwendungsservers wie Tomcat, Orion oder Glassfish. In diesem Fall wird die Programmlogik innerhalb einer Java Virtual Machine (JVM) ausgeführt, die als Laufzeitumgebung für den Programmcode dient.
Ein weiteres beliebtes Tool ist Oracle Fusion Middleware (OFM). In OFM kann das Programm als Oracle Forms, Reports, Discoverer oder sogar Java über Oracle Containers for J2EE (OC4J) ausgeführt werden. Unabhängig vom Produkt wird innerhalb der Anwendungsserverkomponente die Anwendungslogik ausgeführt.
Bei der Verarbeitung auf dem Anwendungsserver ist es üblich, Datenbankzugriff zum Abfragen, Erstellen, Aktualisieren oder Löschen von Daten zu benötigen. Der Anwendungsserver kommuniziert über Protokolle wie JDBC oder Oracle Net mit dem Datenbankserver, um auf die Daten zuzugreifen. Während dieser Zeit greift der Anwendungsserver im Namen des Benutzers auf die Datenbank zu, der die Anwendungsanfrage stellt.
Anstatt sich als benannter, eindeutiger Benutzer wie JSMITH anzumelden, verbindet sich der Anwendungsserver über ein generisches Webkonto (wie WEB_USER). Mehrere gleichzeitige Verbindungen vom Anwendungsserver zur Datenbank bilden einen Verbindungspool , über den eine Datenbankverbindung auf Daten für eine Anforderung zugreifen kann. Verbindungspooling ist ein Leistungsvorteil, da nur wenige Datenbankverbindungen Tausende von Anforderungen im Namen vieler Benutzer bearbeiten können.
Wenn er bei der Datenbankinstanz angemeldet ist, fragt der generische Webbenutzer DML im Namen des Anwendungsservers ab oder führt ihn aus, der eine tatsächliche Benutzeranforderung verarbeitet. Der verbundene Web-Benutzer hat keine Schemabesitzerschaft in der Datenbank; Es verfügt nur über die erforderlichen Berechtigungen, um im Namen des Anwendungsservers auf Daten zuzugreifen oder diese zu aktualisieren.
Während dieser Zeit werden normale Datenbankrollen, Berechtigungen und Berechtigungen verwendet. Darüber hinaus wird häufig eine Datenbankprogrammlogik ausgeführt, die über Prozeduren, Funktionen und Pakete in PL / SQL implementiert ist.
Nachdem die Datenergebnismenge auf der Datenbankebene generiert wurde, wird sie zur weiteren Verarbeitung an den Anwendungsserver zurückgegeben. Als nächstes werden die Ergebnisse über den Webserver und über das Netzwerk zurückgeliefert, um sie dem Benutzer über ihren Webbrowser zu präsentieren.
Klingt kompliziert mit all den verschiedenen Komponenten? Sie mögen das zuerst denken, aber es gibt gute Gründe dafür, das System in Web-, Anwendungs- und Datenbankkomponenten zu zerlegen:
-
Sie können Komponenten verschiedener Hersteller in einer "Best of Breed" -Konfiguration verwenden. Beispielsweise können Sie eine kostenlose Apache-Webserverinstanz in Verbindung mit Tomcat oder Glassfish für eine kostengünstige Anwendungsserverkomponente verwenden. Dann binden Sie das an die Macht der Oracle-Datenbank an, und Sie haben ein solides System zu geringeren Kosten!
-
Wenn mehr Benutzer online gehen, können Sie weitere Web-, Anwendungs- oder Datenbankserverinstanzen hinzufügen, um Ihre Verarbeitungsleistung zu steigern. Anstatt größere Server zu kaufen, kaufen Sie einfach kleinere Server.
-
Nachdem Sie eine Reihe von mehreren Servern haben, erhalten Sie Fehlertoleranz. Dies nennt man Clustering. Wenn ein Webserver abstürzt oder der Anwendungsserver gewartet werden muss, kein Problem - die redundanten Server übernehmen die Arbeitslast.
Hoffentlich zeigen diese Vorteile, warum Multi-Tier-Systemarchitekturen der Industriestandard sind und die Client-Server-Systeme übertroffen haben.