Enterprise Java Beans

Werbung
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
Herunterladen