Grundlagen der Multi-Tier-Anwendungen in Oracle 12c

Oracle 12c erkennt, dass multi-Tier-Anwendungen sind die aktuellen Industriestandard und mehrere Web-, Applikations- und Datenbankserver Inhalt auf Thin Clients mit Präsentation über einen Web-Browser zusammenstellen bereitstellt. Immer fragen, was hinter den Kulissen ist, wenn Sie für Online-Einkäufe oder Bank zu einer Web-Anwendung anmelden?

bild0.jpg

Der Client-Tier ist lediglich ein Web-Browser einen Web-Server zugreifen. Anzeigen von Inhalt an den Benutzer ist der primäre Zweck des Kunden in dieser Architektur- keine tatsächliche Verarbeitung bei dieser Schicht innerhalb des Browsers auftritt. Darstellung erfolgt meist über HTML (Hypertext Markup Language), aber es kann auch innerhalb eines Java-Applets oder ActiveX-Komponente und zu verwenden javascript für dynamischere Formatierung und Inhalt.

Kommunikation vom Browser an den Web-Server erfolgt über HTTP (Hypertext Transfer Protocol) oder HTTPS für sichere (verschlüsselte) Daten. Web-Server agieren konzeptionell als Web listeners- sie Anfragen von Browsern und wieder zurückzugeben formatiert Ergebnismengen mit wenig Verarbeitung auf eigene Faust. Einmal auf dem Web-Server wird der Browser-Anforderung analysiert und an den entsprechenden Anwendungsserver zur Verarbeitung gesendet.

Der Anwendungs-Server-Komponente auf dem gleichen physischen Server als Web-Server sein kann, oder es kann auf einem anderen physischen Server sein. Bei weitem ist die häufigste Webserver Apache oder einem seiner kommerziellen Derivaten, mit mehr als 50 Prozent des Marktanteils nach Netcraft.

Auf der Anwendungsserverebene wird die Benutzeranforderung mit der entsprechenden Anwendungslogik verarbeitet. Eine sehr verbreitete Methode ist ein Java-Anwendungsserver zu verwenden, wie zum Beispiel Tomcat, Orion oder Glassfish. In diesem Fall wird die Programmlogik in einer Java Virtual Machine (JVM) ausgeführt, die als Laufzeitumgebung für den Programmcode dient.

Ein weiteres beliebtes Werkzeug ist Oracle Fusion Middleware (OFM). Innerhalb OFM, kann das Programm laufen, wie Oracle Forms, Reports, Discoverer oder sogar Java über Oracle Containers für J2EE (OC4J). Unabhängig von dem Produkt, ist es innerhalb des Anwendungsserverkomponente, die die Anwendungslogik ausgeführt wird.

Bei der Verarbeitung auf dem Anwendungsserver ist es üblich, den Datenbankzugriff zu müssen abfragen, erstellen, aktualisieren oder Löschen von Daten. Der Anwendungsserver kommuniziert mit dem Datenbankserver über Protokolle wie JDBC oder Oracle Net, auf die Daten zuzugreifen. Während dieser Zeit wird die Anwendungsserver Zugriff auf die Datenbank im Namen des Benutzers, der die Anwendungsanfrage.

Anstatt als benannte, verschiedene Benutzer verbindet wie JSMITH, der Anwendungsserver eine generische Web-Konto (wie WEB_USER) verbindet mit. Mehrere gleichzeitige Verbindungen vom Anwendungsserver auf die Datenbank bilden eine Verbindungspool dass ermöglicht eine beliebige Datenbankverbindung den Zugriff auf Daten für eine Anfrage. Connection-Pooling ist ein Performance-Vorteil, da nur wenige Datenbankverbindungen Tausende von Anfragen im Namen vieler Benutzer bedienen kann.

Wenn sie in die Datenbankinstanz angemeldet, die generische Abfragen Benutzer Web oder führt DML im Namen des Anwendungsservers, die eine tatsächliche Benutzeranforderung verarbeitet. Die Verbindung gepoolt Web-Benutzer nicht über Schema Eigentum in die database- es nur die Berechtigungen benötigten Daten zugreifen oder diese Aktualisierung im Namen des Anwendungsservers.

Während dieser Zeit normalen Datenbankrollen, Berechtigungen und Zuschüsse verwendet werden. Zusätzlich kann in PL / SQL implementiert Datenbank Programmlogik über Prozeduren, Funktionen und Pakete wird oft ausgeführt.

Nachdem der Datensatz Ergebnis wird auf der Datenbank-Ebene erzeugt, ist es passiert, um weitere Verarbeitung an den Anwendungsserver zurück. Als nächstes werden die Ergebnisse zurück durch den Web-Server und über das Netzwerk für die Präsentation an den Benutzer über ihren Web-Browser weitergeleitet werden.

Klänge, die mit all den verschiedenen Komponenten kompliziert? Sie mögen denken, so auf den ersten, aber gute Gründe dafür, das System in Web für das Brechen, Anwendungs- und Datenbankkomponenten:

  • Sie können Komponenten verschiedener Hersteller in ein verwenden # 147-best of breed # 148- Konfiguration. Zum Beispiel können Sie eine kostenlose Apache-Web-Server-Instanz in Verbindung mit Tomcat oder Glassfish für eine günstige Anwendungsserverkomponente verwenden. Dann binden Sie, dass an die Macht der Oracle-Datenbank, und Sie ein solides System zu niedrigeren Kosten haben!

  • Da immer mehr Nutzer online sind, können Sie mehr Web-, Applikations- oder Datenbank-Server-Instanzen fügen Sie Ihre Rechenleistung zu steigern. Anstatt größere Server zu kaufen, nur kaufen kleinere Server.

  • Nachdem Sie eine Reihe von mehreren Servern haben, erhalten Sie die Fehlertoleranz. Dies wird Clustering genannt. Wenn ein Web-Server abstürzt oder der Anwendungsserver benötigt Wartung, kein Problem - die redundanten Server werden die Arbeitsbelastung abholen.

Hoffentlich zeigen diese Vorteile, warum Multi-Tier-Systemarchitekturen der Industriestandard sind und Client-Server-Systeme übertroffen.

Menü