Einleitung
EJB-Design
Komponenten
Zusammenspiel
der Komponenten
am Beispiel
Einsatzbereich
Stephan Bury  Pascal Busch  Bita Gerami
Michael Kropiwoda  Oliver Losch
Ausblick
September 2001
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Gliederung
Einleitung
EJB-Design
Komponenten
Zusammenspiel
der Komponenten
am Beispiel
1. Einleitung
1.1 Definition
1.2 Einordnung
1.2.1 Client/Server-Architektur
1.2.2 Middleware
Einsatzbereich
Ausblick
2. EJB-Design
2.1 Aufbau
2.2 Anwendungsarchitekturen
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Gliederung
Einleitung
EJB-Design
Komponenten
Zusammenspiel
der Komponenten
am Beispiel
Einsatzbereich
Ausblick
3. Komponenten
3.1 Server
3.2 Container
3.3 Beans
3.3.1 Session Beans
3.3.2 Entity Beans
3.4 Deployment Descriptor
3.5 JNDI
3.6 Client
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Gliederung
Einleitung
EJB-Design
Komponenten
Zusammenspiel
der Komponenten
am Beispiel
Einsatzbereich
Ausblick
4. Interaktion der Komponenten im Beispiel
5. Einsatzbereich
5.1 Anwendungsgebiete
5.2 Vergleich mit alternativen Ansätzen
5.3 Vor- und Nachteile
6. Ausblick
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Definition EJB
Einleitung
Enterprise
für unternehmenskritische Anwendungen entwickelt
Java
objekt-orientierte Programmiersprache
Beans
wiederverwendbare Komponenten
EJB
Architektur für komponentenorientierte, verteilte Anwendungen
EJB-Design
Komponenten
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einordnung
• Client/Server-Architektur
• Middleware
Einsatzbereich
Ausblick
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Definition EJB
Einordnung
• Client/Server-Architektur
• Middleware
Einleitung
EJB-Design
Komponenten
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
Ausblick
„EJB ist eine Architektur für
verteilte, transaktionsorientierte
Geschäftsanwendungen“
Enterprise JavaBeans sind
keine JavaBeans
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Definition EJB
Einordnung
• Client/Server-Architektur
• Middleware
2-tier Modell
Einleitung
Applikation ist direkt mit Datenhaltung verbunden
Businesslogik ist fest in Anwendung integriert
EJB-Design
Komponenten
Anwendung
Business-Logik
Datenhaltung
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
3/n-tier Modell
Applikationserver entkoppelt Datenhaltung und Endanwendung
Businesslogik fest in Anwendung integriert
Ausblick
Applikation-Server
Präsentation
Business-Logik
Datenhaltung
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Definition EJB
Einordnung
• Client/Server-Architektur
• Middleware
Einleitung
Client
EJB-Server
DB
EJB-Design
Komponenten
DB
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Client
EJB-Server
Einsatzbereich
DB
Ausblick
Client
andere Appl.
DB
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Definition EJB
Einleitung
Einordnung
• Client/Server-Architektur
• Middleware
Anwendungsinteraktion
CLIENT
SERVER
EJB-Design
Komponenten
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
MIDDLEWARE
Objektinteraktion
MIDDLEWARE
z.B. Java RMI,
CORBA, COM+
z.B. EJB‘s,
CORBA Components
Transportorientierte
Schichten
Transportorientierte
Schichten
Ausblick
Physikalisches Netzwerk
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Aufbau
Anwendungsarchitekturen
EJB Server
Einleitung
CONTAINER
EJB-Design
Home Interface &
Home Object
Komponenten
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
CLIENT
Session Bean
Remote Interface &
Remote Object
DB
JDBC
DD
Naming Interface
DB
Ausblick
Entity Bean
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Aufbau
Anwendungsarchitekturen
Client-Side
Presentation
Einleitung
EJB-Design
Komponenten
Browser
Pure HTML
Java
Applet
Server-Side
Presentation
WebServer
JSP
Server-Side
Business-Logic
Enterprise
IS
EJBContainer
EJB
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
EJB
Desktop
Java
Applikation
Java
Servlet
EJB
Ausblick
Other devices
J2EE
Platform
J2EE
Platform
J2EE
Platform
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Server
Container
Beans
• Session Beans
• Entity Beans
Deployment
Descriptor
JNDI
Client
Server stellt Basisdienste (z.B. Laufzeitumgebung,
Netzwerkprotokoll) für Container bereit
Einleitung
EJB-Design
Komponenten
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
Ausblick
Kommunikation
mit Client
JNDI
Kommunikation
mit OS
EJB –
Container
EJB - Server
EJB –
Container
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Server
Einleitung
EJB-Design
Komponenten
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
Container
Beans
• Session Beans
• Entity Beans
Deployment
Descriptor
JNDI
Client
• Serverhersteller gehen zum J2EE-konformen
Server über
• Schnittstelle zwischen Server und Container nicht
spezifiziert
• Server und Container meist vom selben Hersteller
Server
Container
Beans
Ausblick
Nicht spezifiziert
Definiert durch
EJB – Spezifikation
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Server
Container
Beans
• Session Beans
• Entity Beans
Deployment
Descriptor
JNDI
Client
Container
Einleitung
• stellt Laufzeitumgebung für EB`s dar
EJB-Design
• macht eine EB über JNDI zugänglich
Komponenten
• ist Vermittler zwischen Client und EB
(Client greift nie direkt auf EB zu)
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
Ausblick
• stellt Standardschnittstellen zur Verfügung
(Home- u. Remote-Object)
 Stellt EB`s Java - API`s zur Verfügung
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Server
Container
Beans
• Session Beans
• Entity Beans
Deployment
Descriptor
JNDI
Client
Container-Dienste
Einleitung
EJB-Design
Komponenten
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
Ausblick
 Lifecycle-Management (Erzeugung, Initialisierung und Löschen von EB)
 Load-balancing (Swapping von Session Beans)
 Persistenz-Management (für Entity Beans)
 Transaktions-Management (Gewährleistung
des erforderlichen Kontextes für Methoden)
 Generierung von Stubs und Skeletons für RMI
 Sicherheits-Management
 Poolmanagement für Beans
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Server
Container
Beans
• Session Beans
• Entity Beans
Einleitung
EJB-Design
JNDI
Client
Transaktions
management
Containerservices
Deployment
Descriptor
Komponenten
Zusammenspiel
der Komponenten
am Beispiel
Einsatzbereich
jar - File
Deployment
Bean
Lifecyclemanagement
Container
Ausblick
Generierung
der BeanKlassen
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Server
Container
Beans
• Session Beans
• Entity Beans
Deployment
Descriptor
JNDI
Client
Beans (EB)
Einleitung
 Server-seitige Komponenten
EJB-Design
 implementieren die Anwendungslogik
Komponenten
 werden in einem Container deployed, der ihnen
zur Laufzeit eine Umgebung zur Verfügung stellt,
in der sie existieren können
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
 greifen auf die vom Container zur Verfügung gestellten Dienste zurück
Ausblick
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Server
Container
Beans
• Session Beans
• Entity Beans
Deployment
Descriptor
JNDI
Client
Bestandteile
Einleitung
EJB-Design
Home-Interface
Remote-Interface
Komponenten
Bean-Klasse
Zusammenspiel
import java.rmi.RemoteExeption;
der Komponenten
amBeispiel
im
Beispiel
import javax.ejb.*;
public class XYBean implements EntityBean {
…}
Einsatzbereich
Primarykey-Klasse
Ausblick
XML
Deployment
Descriptor
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Server
Container
Beans
• Session Beans
• Entity Beans
Deployment
Descriptor
JNDI
Client
Session Beans
Einleitung
 implementieren die Anwendungslogik
EJB-Design
 stehen einem Client exklusiv zur Verfügung
Komponenten
 nicht persistent
Zusammenspiel
 Transaktionsmanagement
 bean-managed transactions
 container-managed transactions
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
Ausblick
Session Beans
stateless
statefull
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Server
Container
Beans
• Session Beans
• Entity Beans
Deployment
Descriptor
JNDI
Client
Lebenszyklus – stateless Session Beans
Einleitung
EJB-Design
nicht existent
Komponenten
Zusammenspiel
ejbCreate()
der Komponenten
amBeispiel
im
Beispiel
ejbRemove()
Einsatzbereich
Ausblick
System
Exception
pooled ready
<method>(…)
Client
Container
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Server
Container
Beans
• Session Beans
• Entity Beans
Deployment
Descriptor
JNDI
Client
Lebenszyklus – statefull Session Beans
Einleitung
EJB-Design
nicht
existent
Komponenten
Löschen nach Timeout
ejbRemove()
ejbActivate()
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
ejbCreate()
System
Exception
ready
Einsatzbereich
BEGIN
Ausblick
ejbPassivate()
<method>(…)
COMMIT od.
ROLLBACK
ready
in TA
Client
Container
passiviert
<method>(…)
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Server
Container
Beans
• Session Beans
• Entity Beans
Deployment
Descriptor
JNDI
Client
Entity Beans
Einleitung
 repräsentieren Daten
EJB-Design
 zentrale Ressource, die von mehreren Clients
zeitgleich in Anspruch genommen werden kann
Komponenten
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
 persistent
 bean-managed persistence
 container-managed persistence
 mittels Primärschlüssel eindeutig identifizierbar
Ausblick
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Server
Container
Beans
• Session Beans
• Entity Beans
Deployment
Descriptor
JNDI
Client
Lebenszyklus – Entity Beans
Einleitung
EJB-Design
nicht existent
pooled
ready sync
ready async
Komponenten
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
Ausblick
ready update
Client
Container
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Server
Container
Beans
• Session Beans
• Entity Beans
Deployment
Descriptor
JNDI
Client
 Datei (XML-Format)
Einleitung
EJB-Design
Komponenten
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
 teilt dem Container mit, wie die EB zur Laufzeit
zu behandeln ist
 enthält deskriptive Informationen über
 die Struktur und Abhängigkeiten einer EB
 das Verhalten der EB zur Laufzeit
 die Kombinationsmöglichkeiten mit anderen
EBs einer jar-Datei zu komplexen Bausteinen
Ausblick
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Server
Einleitung
Container
Beans
• Session Beans
• Entity Beans
<!-- Klasse des HomeInterfaces -->
<home>KursHome</home>
Komponenten
<!-- Klasse des RemoteInterfaces -->
<remote>Kurs</remote>
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
Ausblick
JNDI
Client
<ejb-jar>
<enterprise-beans>
<session>
<!-- Name der Bean im JNDI -->
<ejb-name>Kurs</ejb-name>
EJB-Design
Zusammenspiel
Deployment
Descriptor
<!-- Klasse der EnterpriseBean -->
<ejb-class>KursBean</ejb-class>
<!-- Sessiontyp: Stateless -->
<session-type>Stateless</session-type>
<!-- Transaktionstyp: Containermanaged -->
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
<assembly-descriptor>
<!-- mit dem assembly-descriptor kann man z.B. Rollen verteilen -->
</assembly-descriptor>
</ejb-jar>
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Server
Container
Beans
• Session Beans
• Entity Beans
Deployment
Descriptor
JNDI
Client
Bean-Klasse
Remote-Interface
Home-Interface
Einleitung
EJB-Design
DeploymentDescriptor
PrimaryKey-Klasse
Komponenten
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
Klasse
ContainerTools
Interface
XML-Dokument
Ausblick
Home-Objekt
Home-Interface
Remote-Objekt
Remote-Interface
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Server
Einleitung
EJB-Design
Komponenten
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
Ausblick
Container
Beans
• Session Beans
• Entity Beans
Deployment
Descriptor
JNDI
Client
JNDI API
• Applikation Programming Interface
• Wichtigstes Element: Context interface
• Lookup(Name) liefert Objekt dieses Namens
Naming Manager
• Funktionalität wird vor dem Entwickler verborgen
JNDI SPI
• Service Provider Interface
• ermöglicht Nutzung unterschiedlicher Middleware
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Server
Container
Beans
• Session Beans
• Entity Beans
Deployment
Descriptor
JNDI
Client
Einleitung
Application
EJB-Design
Komponenten
JNDI API
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Naming Manager
Einsatzbereich
JNDI SPI
Ausblick
CORBA
RMI
. . .
JNDI Implementierungsmöglichkeiten
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Server
Einleitung
Container
Beans
• Session Beans
• Entity Beans
Deployment
Descriptor
JNDI
Client
Client
EJB-Design
Komponenten
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
 findet Beans durch JNDI
 kommuniziert mit Enterprise Beans über
Interfaces Home und Remote
 muss nicht in Java geschrieben und
kompiliert sein
Ausblick
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Server
Container
Beans
• Session Beans
• Entity Beans
EJBHome
Einleitung
Client
JNDI
Client Stub
Home
create(),
find(),
remove()
Komponenten
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
JNDI
lookup(EJB-Name)
Client
EJB-Design
Deployment
Descriptor
Home Object
Anwendung
Einsatzbereich
Ausblick
Client Stub
Remote
alle Methoden
der EJB
Remote Object
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Übersicht
Einleitung
ServerKomponenten
Übersicht
Code
ClientKomponente
Übersicht
Code
Beispiel für das Zusammenspiel der
Komponenten
EJB-Design
Komponenten
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
Client
...verbindet sich mit Server
...erstellt Objekt
...ruft Funktion auf
...zerstört Objekt
Ausblick
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Übersicht
ServerKomponenten
Übersicht
Code
ClientKomponente
Übersicht
Code
Ablauf
EJB Server
Einleitung
CONTAINER
EJB-Design
Home Interface &
Home Object
Komponenten
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
CLIENT
Session Bean
Remote Interface &
EJB Object
DB
JDBC
DD
DB
Naming Interface
Ausblick
Entity Bean
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Übersicht
ServerKomponenten
Übersicht
Code
ClientKomponente
Übersicht
Code
Ablauf
Bean KursBean
Einleitung
EJB-Design
Komponenten
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
 eigentliche Bean
 implementiert Home Interface KursHome
 implementiert Remote Interface Kurs
 bei JNDI bekannt als Kurs
Ausblick
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Übersicht
ServerKomponenten
Übersicht
Code
ClientKomponente
Übersicht
Code
Ablauf
Home Interface KursHome
Einleitung
EJB-Design
public interface KursHome extends EJBHome {
...
Komponenten
// Methode zum Erzeugen eines Kurses
Kurs create() throws CreateException, RemoteException;
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
...
}
Einsatzbereich
Ausblick
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Übersicht
ServerKomponenten
Übersicht
Code
ClientKomponente
Übersicht
Code
Ablauf
Remote Interface Kurs
Einleitung
EJB-Design
// erbt von EJBObject
Komponenten
public interface Kurs extends EJBObject {
Zusammenspiel
// Deklaration der Methoden
der Komponenten
amBeispiel
im
Beispiel
public String getName() throws RemoteException;
}
Einsatzbereich
Ausblick
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Übersicht
ServerKomponenten
Übersicht
Code
ClientKomponente
Übersicht
Code
Ablauf
EB KursBean
Einleitung
public class KursBean implements SessionBean {
...
EJB-Design
// Implementieren aller SessionBeanInterface Methoden
Komponenten
public void ejbActivate() {...}
public void ejbPassivate() {...}
Zusammenspiel
public void ejbRemove() {...}
der Komponenten
amBeispiel
im
Beispiel
public void ejbCreate() throws CreateException {...}
...
// Methode die vom Client aufgerufen wird
Einsatzbereich
public String getName() {
return "WWI00B";
Ausblick
}
}
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Übersicht
ServerKomponenten
Übersicht
Code
ClientKomponente
Übersicht
Code
Ablauf
public class Client {
...
Einleitung
// Verbinden mit JNDI
Context ctx = getInitialContext();
EJB-Design
// Bean im JNDI suchen
Object home = ctx.lookup("Kurs");
Komponenten
...
// Verbindung zum HomeInterface herstellen
Zusammenspiel
KursHome home = (KursHome) narrow(home, KursHome.class);
der Komponenten
amBeispiel
im
Beispiel
...
// ein neues Objekt erstellen
Einsatzbereich
Kurs einKurs = (Kurs) narrow(home.create(), Kurs.class);
// Methode von Kurs aufrufen
Ausblick
String message = einKurs.getName();
// Objekt entfernen
einKurs.remove();
...
}
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Übersicht
ServerKomponenten
Übersicht
Code
ClientKomponente
Übersicht
Code
Ablauf
JNDI
Einleitung
lookup(Kurs)
Client
EJB-Design
Home Stub
Komponenten
Zusammenspiel
Server
HI
Home
Stub
Container
create()
Remote Stub
Home
Object
der Komponenten
amBeispiel
im
Beispiel
KursBean
Einsatzbereich
Ausblick
Remote
Stub
RI
getName()
Remote
Object
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Anwendungsgebiete
Einleitung
EJB-Design
Komponenten
Vergleich mit alternativen Ansätzen
• CORBA
Vor- und
Nachteile
Enterprise JavaBeans unterstützen
 Wiederverwendbarkeit
 Modularität
 Thin Clients
 (Last-)Verteilung
 Transaktionsmanagment
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
Einsatzbereich
Ausblick
daher Einsatzbereiche insbesondere:
 als Middleware
 zur Anbindung von Internet-Anwendungen
an bestehende Systeme
 für Intra- und Internetanwendungen
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Anwendungsgebiete
Vergleich mit alternativen Ansätzen
• CORBA
Vor- und
Nachteile
EJB
CORBA
Sprachunterstützung
Java bzw.
via CORBA
sprachunabhängig
Komponenten
Plattformunterstützung
alle Plattformen
mit Java-VM
plattformunabhängig
Zusammenspiel
Kommunikation
synchron
synchron
der Komponenten
amBeispiel
im
Beispiel
Sicherheit
Java-Sicherheitsmodell
sehr umfangreich
uneingeschränkt
uneingeschränkt
Einleitung
EJB-Design
Einsatzbereich
Ausblick
Eignung für
komplexe Systeme
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Fazit
Welchen Nutzen bietet der Einsatz von EJB?
Einleitung
EJB-Design
Unternehmen
 Stabilität
Komponenten
 Verknüpfung inhomogener Systeme
(Plattformunabhängigkeit)
Zusammenspiel
 kostengünstigere Applikationen
der Komponenten
amBeispiel
im
Beispiel
 Lastverteilung, Pooling (Performanz)
Einsatzbereich
Ausblick
Entwickler
 Verkürzung von Entwicklungszeiten
 einfachere Programmierung
Anwender (Client-Entwickler)
 Transparenz
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch
Literaturverzeichnis
 C. Crenshaw, The Developer`s Guide to Understanding
Einleitung
EJB-Design
Komponenten
Zusammenspiel
der Komponenten
amBeispiel
im
Beispiel
EJB Applications, 2000, New Jersey
 S. Denniger/I. Peters, Enterprise JavaBeans, 2000,
München
 A. Thomas, Enterprise JavaBeans Technology, 1998,
Boston
 V. Matena/M. Hapner, Enterprise JavaBeans Specification, 1999, Palo Alto
Einsatzbereich
Ausblick
Stephan Bury  Pascal Busch  Bita Gerami  Michael Kropiwoda  Oliver Losch