J2EE-Architektur und Enterprise JavaBeans

 Diese Seite drucken

EJB als Teil der Java 2 Enterprise Edition (J2EE)

Die Enterprise JavaBeans Architektur stellt eine logische Erweiterung des JavaBeans-Komponentmodells um Serverkomponenten dar. Es sind also Komponenten, die serverseitig ausgeführt werden und einen großen Teil der Ablauflogik implementieren.
Ein EJB-Server stellt eine effiziente, hochgradig skalierbare, robuste Ausführungsumgebung bereit, die besonders für internetfähige Applikationen geignet ist.
Die Enterprise JavaBeans (EJB) Spezifikation ist Teil der J2EE, einer Standardplattform für Internetbasierte Anwendungen. Zur J2EE gehören neben den EJB noch weitere Dienste, insbesondere:

Diese Bestandteile stelle ich im Abschnitt J2EE-Technologien noch etwas detaillierter vor.

.


Die Java 2 Enterprise Edition (J2EE) und ihre Container

Container Services

Container stellen die Schnittstelle zwischen einer Komponente und der sie unterstützenden umgebenden plattformspezifischen Funktionalität dar. Sie fungieren als Dienstleister für die immer gleichen Anforderungen der business objects.

Bevor eine Web-Komponente, eine EJB und ein Application Client ausgeführt werden können, müssen sie zu einer J2EE-Applikation zusammengesetzt und in ihre Container deployed werden ('Deploying'). Der Prozess des Zusammensetzens ('Assembling') erfordert spezifische Einstellungen für jede Komponente einer J2EE Application und für die J2EE Application selbst.

Am Container müssen dann noch Einstellungen vorgenommen werden, um die Unterstützung durch den J2EE Server zu konfigurieren. Das betrifft z.B. Einstellungen zu Sicherheit, Transaktionsmanagement, Java Naming and Directory Interface (JNDI) lookups und remote connectivity:

Die J2EE-Architektur stellt konfigurierbare Dienste zur Verfügung. Komponenten derselben J2EE Application können sich unterschiedlich verhalten, je nachdem, wohin sie deployed wurden. Beispielsweise können die Sicherheitseinstellungen einer EJB in der einen Produktionsumgebung weitreichende Rechte für den Datanbakzugriff vorsehen, während dieselbe Bean in einer anderern Produktionsumgebung viel restriktiver gehandhabt wird.

Container sorgen daneben noch für Dienste, die nicht konfigurierbar sind, wie beispielsweise das Management des Lebenszyklus von EJBs und Servlets, das Pooling von Datenbankverbindungen, Datenpersistzenz und Zugang zu anderen APIs der J2EE-Plattform. Obwohl die (container-managed) Datenpersistenz nicht konfigurierbar ist, erlaubt die J2EE-Architektur, die continer-manged persistence zu 'überschreiben', indem man entsprechenden Code in der Implemenation der EJB ablegt, der eine 'Handsteuerung' erlaubt. Man kann bean-managed persistence beispielsweise dazu benutzen, um eigene finder-Methoden zu implementieren oder um einen eigenen Datenbank-Cache anzulegen

Container Types

Durch das Deployen werden Komponenten einer J2EE- Applikation in ihren J2EE-Containern installiert.

 

Ein paar Begriffe:

 

J2EE server
Die Runtime -Umgebung eines J2EE-Produkts. Ein J2EE-Server stellt Web-Container und EJB-Contaibner zur Verfügung. Beispiel: JBOSS

Enterprise JavaBeans (EJB) container

 

Kümmert sich um die Ausführung von EJBs für J2EE-Applikationen. EJBs und ihre Container laufen auf einem J2EE-Server.

 

Web container

 

Kümmert sich um die Ausführung von Java Server Pages (JSP) und Servlets, den Web-Komponenten einer J2EE-Applikation. Web-Komponenten un ihre Container laufen auf einem J2EE-Server.

 

Application client container

 

Kümmert sich um die Ausführung von Client-Komponenten einer Applikation. Ist eine funktionseingeschränkte J2EE-Laufzeitumgebung ( unterstützt - vereinfacht gesagt - nur Security und Deploy-Funktionen aus der üblichen Container-Funktionalität) und läuft in der VM des Clients.

 

Applet container

 

Kümmert sich um die Ausführung von Applets. Besteht aus dem Web-Browser und seinem Java-Plug-in, die beide auf dem Client laufen.


Die Java 2 Enterprise Edition (J2EE) und die Vorgänge bei der Softwareentwicklung

Aus der Struktur des J2EE ergeben sich typische Vorgänge und Rollen
(von denen wir in unserer Übung natürlich die meisten selbst spielen müssen):

Als nächstes werden wir uns mit den Enterprise JavaBeans genauer befassen.


26.08.2003  Petra Haberer  Version 1.0.1