J2EE ist eine Kurzform von Java 2 Enterprise Edition, früher Java 2 Platform Enterprise Edition, mit Spezifikationen, die die Java 2 Standard Edition (J2SE) erweitern. J2EE bietet eine integrierte Reihe von Diensten, die in großem Umfang genutzt werden und mehrschichtige, komponentenbasierte und verteilte Architekturen unterstützen. Normalerweise handelt es sich bei J2EE um eine Reihe von APIs, die beim Erstellen umfangreicher Anwendungen helfen. Die J2EE-Technologie nutzt die APIs und ist ein Standard für die Erstellung und Bereitstellung von Unternehmensanwendungen. Es verspricht „Einmal schreiben, überall ausführen“.
WERBUNG
Beliebter Kurs in dieser Kategorie
J2EE – Spezialisierung | 14 Kursreihe | 6 Probetests
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Java Enterprise Edition enthält mehrere Spezifikationen für verschiedene Zwecke wie das Generieren von Webseiten, das Lesen und Schreiben aus der Datenbank und das Verwalten verteilter Warteschlangen.
Liste der J2EE-Technologien
Grafische Darstellung der J2EE-Plattform.
1. Java-Servlet
Java-Servlets laufen auf einem Webserver, generieren dynamische Webseiten, verarbeiten Anfragen von Webbrowsern, verarbeiten die Anfragen und senden die verarbeiteten Daten zurück an den Browser.
Common Gateway Interface (CGI) wird auch für die Entwicklung dynamischer Webseiten verwendet, weist jedoch mehrere Einschränkungen auf, wie z. B. Leistung, Skalierbarkeit, Wiederverwendbarkeit usw. Um diese Einschränkung zu überwinden, können wir Servlet verwenden.
Einer der wichtigsten Nachteile von CGI besteht darin, dass das CGI-Programm jedes Mal, wenn eine neue Anfrage vom Benutzer gestellt wird, diese verarbeitet, indem ein neuer Prozess erstellt wird. Wenn die Anzahl der Benutzer zunimmt, muss CGI für jede Anfrage einen neuen Prozess erstellen. Das Erstellen eines neuen Prozesses für jeden Prozess ist für die Serverseite nicht gültig, da die Ressourcen begrenzt sind. Im Gegensatz zu CGI verarbeiten separate Threads Servlet-Programme.
Servlet-Ausführungsprozess:
- Der Kunde sendet eine Anfrage.
- Der Webserver empfängt die Anfrage.
- Der Webserver leitet Anfragen an das entsprechende Servlet weiter.
- Servlet verarbeitet Anfragen und generiert eine Antwort in Form einer Ausgabe.
- Servlet sendet eine Antwort zurück an einen Webserver
- Der Webserver sendet eine Antwort an den Client.
2. Java Server Pages (JSP)
Entwickler nutzen Java Server Pages für die serverseitige Programmierung, um dynamische Webseiten zu erstellen und webbasierte Anwendungen zu erstellen.
Funktionen von JSP:
- Die JSP-Leistung erhöht sich erheblich, da Benutzer damit Java-Code in HTML einbetten können.
- Wie ein Servlet hat JSP auch Zugriff auf Enterprise Java APIs
- Entwickler nutzen JSP-Seiten auch in Kombination mit Servlets.
- JSP-Tags, die das Einbetten von Java-Code in HTML ermöglichen, sind <%—–JSP-Code—- %>
- Durch die Einbettung von JSP-Code in HTML werden HTML-Seiten dynamisch, z. B. Registrierungsformulare, Dropdown-Felder usw.
- JSP wird für den Zugriff auf Java Beans-Objekte verwendet.
- JSP trennt die Präsentationsschicht von der Geschäftslogik.
- Es bietet im Vergleich zu Servlets die einfachste Möglichkeit, dynamische Webseiten zu generieren.
- Der Webcontainer verarbeitet alle Änderungen im JSP-Code, ohne dass eine Neukompilierung erforderlich ist.
- Wie Servlets erfordert JSP keine zusätzlichen Dateien, Klassendateien und Web, XML.
- Eine zusätzliche web.xml-Zuordnung ist für JSP nicht erforderlich.
Die Architektur von JSP:
Architekturarbeit #1
In dieser Architektur spielt JSP eine wichtige Rolle bei der Verarbeitung von Kundenanfragen.
- Ein Client sendet eine Anfrage an JSP
- JSP erstellt JavaBean-Objekt.
- JavaBeans verarbeiten die Anfrage bei Bedarf unter Verwendung der erforderlichen Daten aus der Datenbank.
- Der Server sendet die Antwort zurück an den Client.
Architekturarbeit #2
In dieser Architektur spielt Servlet eine wichtige Rolle. Das Servlet fungiert als Controller.
- Der Kunde sendet eine Anfrage.
- Servlet verarbeitet die vom Client gesendete Anfrage.
- Das Servlet erstellt ein Bean-Objekt und ruft eine bestimmte JSP-Seite auf.
- Hier verarbeitet JSP keine Client-Anfragen.
- JSP übernimmt den Präsentationsteil.
3. Enterprise Java Bean (EJB)
Enterprise Java Beans ist eine Entwicklungsarchitektur zum Erstellen hoch skalierbarer und robuster Anwendungen auf Unternehmensebene.
Funktionen von EJB:
- Der Entwickler muss sich auf die Geschäftslogik der Anwendung konzentrieren, da der Anwendungsserver die meisten Dienste auf Systemebene, Transaktionen, Protokollierung, Ausnahmebehandlung usw. bereitstellt.
- Der EJB-Container verwaltet alle EJB-Instanzen.
- EJB-Komponenten laufen auf jedem kompatiblen EJB-kompatiblen Server. Diese Vorteile sind plattformunabhängig.
Arten von Enterprise-Bohnen:
a. Session Bean
Session Beans führen die Aufgabe für den Client aus. Der Client kann die gekapselte Geschäftslogik programmgesteuert aufrufen.
Es gibt drei Arten von Session-Beans:
-
Stateful Session Bean: Die Instanz der Stateful Session Bean stellt den Zustand eines eindeutigen Clients dar, der oft als Konversationszustand bezeichnet wird. Sie wird auch als interaktive Sitzung bezeichnet und ist nur einem Benutzer zugeordnet. Der Status bleibt erhalten, sobald der Client die Beans-Sitzung entfernt und der Status verschwindet.
-
Stateless Session Bean: Stateless Session-Instanz behält keinen Konversationsstatus mit dem Client bei. Wenn ein Client aufruft, ist eine Methode einer zustandslosen Bean-Variable enthalten, die spezifisch für diesen Client ist, jedoch nur für die Dauer des Aufrufs. Die Instanz gilt für alle Clients. Kann einen Webdienst implementieren.
-
Singleton Session Bean: Wird einmal pro Anwendung instanziiert und bleibt für den Lebenszyklus der Anwendung bestehen. Wird verwendet, wenn eine einzelne Instanz-Bean von allen gleichzeitigen Clients gemeinsam genutzt wird. Der Server behält den Status zwischen Clientaufrufen bei, ist jedoch nicht verpflichtet, den Status über das Herunterfahren des Servers hinweg aufrechtzuerhalten. Es sollte beim Start der Anwendung instanziiert werden.
b. Nachrichtengesteuert
Eine Message-Driven Bean ist ein Listener für einen bestimmten Nachrichtentyp, beispielsweise eine Java-Message-Server-API.
EJB-Architektur:
4. Java-Datenbankkonnektivität (JDBC)
Java Database Connectivity ist eine Java-API, die zum Verbinden und Ausführen von Abfragen verwendet wird. Es verwendet JDBC-Treiber für die Konnektivität.
Typen von Fahrern:
- JDBC-ODBC Bridge-Treiber
- Nativer Treiber.
- Netzwerkprotokolltreiber.
- Dünner Treiber.
Eigenschaften:
- ODBC verwendet ODBC-Treiber für die Verbindung, da diese plattformabhängig sind, daher hat Java seine eigene JDBC-API entwickelt.
- Java kann zum Schreiben verschiedener Arten von ausführbaren Dateien verwendet werden, darunter Java-Applets, JSP, EJB, Servlets usw.
JDBC-Architektur:
JDBC-Architektur ist in zwei Typen unterteilt
- Zweistufige Architektur.
- Dreistufige Architektur.
a. Zweistufige Architektur
Grafische Darstellung der zweistufigen Architektur.
In dieser zweistufigen Architektur wird direkt aus der Datenbank auf die Java-Anwendung zugegriffen. Client-Zugriffsdaten direkt über den JDBC-Treiber. Die Datenbank kann sich auf demselben Computer oder einem anderen Computer in einer Client-Server-Konfiguration befinden.
b. Dreistufige Architektur
Grafische Darstellung der dreistufigen Architektur.
Diese Architektur sendet Befehle an die mittlere Ebene, die die Anfrage verarbeitet und sie dann an die Datenquelle weiterleitet. Die Datenquelle verarbeitet die Anfrage und die Ergebnisse werden zurück an die mittlere Ebene gesendet, die dann an den Benutzer gesendet wird. Dreistufig behält die Kontrolle über den Datenzugriff und die Aktualisierung von Unternehmensdaten.
5. Java Message Service (JMS)
Java Messaging Service ist eine API, die eine formelle Kommunikation zwischen Computern in einem Netzwerk namens Messaging Service ermöglicht.
- Der Austausch von Nachrichten kann im synchronen oder asynchronen Modus erfolgen.
- JMS API ermöglicht Interoperabilität zwischen anderen Java-Plattformsprachen.
- Anwendungen basieren auf den Konzepten Nachrichtenwarteschlange, Sender und Empfänger.
Es gibt zwei Arten von Messaging-Domänen in JMS.
a. Punkt-zu-Punkt-Messaging-Domäne
- Anwendungen basieren auf dem Konzept von Warteschlangen, Sender und Empfänger.
- Jede an einen Nachrichtenwarteschlangenempfänger gesendete Nachricht speichert Nachrichten in der Nachrichtenwarteschlange.
- Die Warteschlange speichert alle Nachrichten, bis sie verbraucht werden oder ablaufen.
- Wenn der Empfänger in einem Netzwerk nicht verfügbar ist, bleibt die Nachricht erhalten, Nachrichtenvermittler, bis der Empfänger die Nachricht konsumiert.
- Der Empfänger quittiert den Nachrichtenverbrauch.
b. Veröffentlichen/Abonnieren Sie die Messaging-Domäne
- Anwendungen senden Nachrichten an Nachrichtenbroker namens Topic.
- Das Thema veröffentlicht eine Nachricht an alle Abonnenten.
- Das Thema behält alle Nachrichten, bis der Empfänger sie verbraucht.
- Hier erhalten mehrere Verbraucher und Konsumenten nach dem Abonnieren Nachrichten.
JMS-Architektur:
6. Java Transaction API (JTA)
JTA ermöglicht die Durchführung verteilter Transaktionen, um auf Daten mehrerer Computer in einem Netzwerk zuzugreifen und diese zu aktualisieren. Die JTA-API fungiert als Java-Schnittstelle zwischen Transaction Manager und dem Client.
Der Anwendungsserver und der Ressourcenmanager steuern den Zugriff auf gemeinsam genutzte Ressourcentransaktionen.
-
Atomizität: Der Transaktionsmanager ist dafür verantwortlich, eine endgültige Entscheidung zu treffen, ob ein Commit oder ein Rollback durchgeführt wird.
-
Sorgt für Konsistenz:Wenn eine Transaktion fehlschlägt, bleibt die Datenintegrität erhalten.
- Es ist nicht möglich, die Transaktion auslaufen zu lassen, bis die Transaktion durch andere Anwendungen oder Threads festgeschrieben oder zurückgesetzt wurde.
- Committed kann auch im Falle eines Systemausfalls erhalten bleiben.
- Drei Arten von Transaktionsmanagern.
-
Datenbank:Transaktionen verhindern, dass die Datenbank aufgrund einer unvollständigen Aktualisierung in einem inkonsistenten Zustand bleibt.
- Die Verwendung von Transaktionen durch JMS-Anbieter stellt sicher, dass Nachrichten zuverlässig zugestellt werden.
- J2EE-Connector-Architekturkomponenten.
-
Containerverwaltete Transaktionen: Der EJB-Container legt die Grenzen der Transaktion fest und kann jede Enterprise-Bean verwenden. Der Code enthält keine Anweisungen, die eine Transaktion beginnen und beenden.
-
Komponentenverwaltete Transaktion: Transaktionen werden von der JDBC-API verwaltet, die die Transaktionsverwaltung in der Anwendung selbst ermöglicht. Message-driven Beans markieren explizit die Grenzen von Transaktionen.
JTA-Architektur:
7. Java Mail
Java Mail ist eine API. Dies ermöglicht uns das Verfassen, Lesen und Schreiben von E-Mails. Diese API bietet Protokoll- und Plattformunabhängigkeit.
Mit der Java Mail API verwendete Protokolle:
-
SMTP: SMTP (Simple Mail Transfer Protocol) ist ein Mechanismus zur Übertragung von E-Mails. Apache James Server und andere Mailserver-Software können als SMTP-Server zum Senden und Weiterleiten von E-Mails verwendet werden.
-
POP: POP ist Post Office Protocol /POP3. Es handelt sich um einen Mechanismus zum Empfangen der E-Mail. Unterstützt ein einzelnes Postfach für jeden Benutzer. Apache James Server, der Mailserver, kann für die POP-Funktionalität verwendet werden.
-
IMAP: Internet Message Access Protocol ist ein erweitertes Protokoll zum Empfangen von Nachrichten. Unterstützt mehrere Postfächer für jeden Benutzer.
-
MIME: Multiple Internet Mail Extension teilt dem Browser mit, was gesendet wird, z. B. das Format der E-Mail, Anhänge usw.
Java Mail-Architektur:
8. Java Naming and Directory Interface (JNDI)
Java Naming and Directory Interface ist eine API für Naming and Directory Service, die es Benutzern ermöglicht, Daten anhand bestimmter Namen zu ermitteln.
- JNDI ist unabhängig von der Implementierung.
- Es stellt Service Provider Interfaces (SPI) bereit – ermöglicht die Einbindung von Verzeichnisdiensten in das Framework.
- Entwickler nutzen die API, um Java-Anwendungen mit einem externen Verzeichnis zu verbinden.
- Es stellt einen Mechanismus bereit, um ein Objekt an den Namen zu binden.
- Über die Ereignisschnittstelle können Clients feststellen, wann Verzeichniseinträge geändert wurden.
JNDI verwendet die folgenden Namens- und Verzeichnisdienste.
- Lightweight Directory Access Protocol (LDAP).
- Common Object Request Broker Architecture (CORBA).
- Common Object Services (COS)
- Java Remote Method Invocation (RMI).
- Domain Name Service (DNS).
JNDI-Architektur:
9. J2EE-Connector-Architektur (JCA)
Der Anwendungsserver verwendet JCA, um eine Verbindung zu einem EIS herzustellen.
- JCA-fähiger Anwendungsserver lässt sich in jedes JCA-kompatible EIS integrieren.
- Ressourcenadapter ermöglicht Java-Anwendungen den Zugriff auf und die Interaktion mit dem Ressourcenmanager von EIS.
- Es bietet auch eine nachrichtenbasierte Transaktionsintegration von Java EE-basierten Webdiensten mit EIS.
JCA definiert einen Standardsatz von Verträgen auf Systemebene zwischen dem Java Application Server und dem Ressourcenadapter.
-
Verbindungsverwaltung: Ermöglicht die Verbindung des Anwendungs-Sever-Pools mit EIS. Ermöglicht die Verbindung von Anwendungskomponenten. Dies kommt einer skalierbaren Anwendungsumgebung zugute und unterstützt eine große Anzahl von Clients.
-
Transaktionsverwaltung: Ermöglicht einem Anwendungsserver die Verwendung des Transaktionsmanagers zur Verwaltung von Transaktionen mehrerer Ressourcenmanager. Diese Software unterstützt die interne Verwaltung von Transaktionen, ohne externe Transaktionsmanager einzubeziehen.
-
Sicherheitsmanagement: Verhindert Sicherheitsbedrohungen für EIS und schützt wertvolle Ressourcen, die von EIS verwaltet werden.
-
Lebenszyklusverwaltung: Ermöglicht dem Anwendungsserver die Verwaltung des Lebenszyklus eines Ressourcenadapters vom Anfang bis zum Ende.
-
Arbeitsverwaltung: Ermöglicht dem Ressourcenadapter, dem Anwendungsserver Arbeit zur Ausführung zuzuweisen. Der Anwendungsserver sendet Threads, um die zugewiesene Arbeit abzuschließen.
-
Transaktionszuflussverwaltung: Ermöglicht dem Ressourcenadapter, importierte Transaktionen an den Anwendungsserver weiterzugeben. Ermöglicht dem Ressourcenadapter die Übertragung des Transaktionsabschlusses und der von EIS initiierten Absturzwiederherstellung.
-
Nachrichteneingangsverwaltung: Ermöglicht die asynchrone Zustellung von Nachrichten an Nachrichtenendpunkte, die sich auf dem Anwendungsserver befinden.
JCA-Architektur:
Fazit – J2EE Technologies
2EE optimiert Enterprise Computing oder Unternehmensanwendungen, die eine Client-Erweiterung bieten. Container oder Anwendungsserver, die von fast allen J2EE-Technologien bereitgestellt werden, ermöglichen eine schnelle Entwicklung und Bereitstellung, da die plattformunabhängigen Standards von Java eine plattformübergreifende Entwicklung gewährleisten, die auf mehreren Plattformen ausgeführt werden kann. Die meisten Technologien in J2EE trennen Design und Entwicklung.
Das obige ist der detaillierte Inhalt vonJ2EE-Technologien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!