EJB-Präsentation

Werbung
Enterprise JavaBeans
+
Referenten
Albrecht Karlusch
Konradin Maier
Elisabeth Vinek
Alexis Robin Rondeau
Peter Beran
Leitung
Mag. Rainer Schmidt
+
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
EJB – Was ist denn das?
 EJB ist eine Architektur bzw. ein Framework für
komponentenbasierte verteilte Anwendungen.
 Die EBeans sind hierbei die Komponenten
verteilter, transaktionsorientierter Anwendungen,
die dem WORA Paradigma folgen
 Die EBeans werden im Programm durch Objekte
repräsentiert
EJB – Was ist denn das?
 Die EJB-Spezifikation ist in gewisser Weise
die Konvergenz von zwei Technologien:
 TP-Monitore und
 verteilter Komponentenservices (Java RMI, CORBA,
DCOM)
 EJB Server bieten eine TP-Monitor
ähnliche Umgebung für verteilte
Komponenten.
Die EBeans finden wir…
entspricht
TP Monitor
J2EE-Server
EJB-Container
Client
RMI
RDBS
Client
EJB
Client
EJB
EJB
O O DBMS
Client
Services
Präsentationsschicht
Mittelschicht
Ressourcenschicht
EJBs – allgemeiner Aufbau
Arten von JavaBeans
 Session Bean
 Stateless
 Stateful
 Entity Bean
 Bean managed
 Container managed
 Message Driven Bean
EJB - Vorteile
 Komponentenarchitektur
 unterschiedliche Programmiersprachen
 Trennung von Interface und
Implementation
 erhöhte Wiederverwendbarkeit
 vorgefertigte Komponenten
 Komponenten hoher Qualität
EJB - Vorteile 2
 Verschiedene Clients möglich
 EJB ist auch verteilt
 Zugriff auf alle EJBs im Netzwerk
möglich
 Multiuser- fähig
 Protokoll unabhängig
 IIOP, JRMP, HTTP...
EJB - Vorteile 3
 Applikationsserver übernimmt
Infrastrukturaufgaben





Skalierbarkeit durch Cluster
Ressourcen- Pooling
Persistenz
Sicherheit
Zustandsmanagement,...
EJB - Vorteile 4
 Verbesserter SWE- Prozess durch
 Wiederverwendbarkeit
 deskriptive Realisierung von
Infrastrukturaufgaben
 n- Tier Architekturen möglich
 Thin- Clients
Rollen in einer EJB-Umgebung
EJB-Container
Geschäftsmethode,
Lebenszyklus-Methode
(verwaltet Transaktionen,
Ressourcen-Pooling, Persistenz)
EJB-Client
EJB-Objekte
(führen Geschäftsmethoden aus)
Antwort
Das EJB-Objekt
 Drei Java-Interfaces/Klassen:
 Ein Bean (Client)-Interface (entfernte
und/oder lokale Version)
 Ein Home-Interface (entfernte und/oder
lokale Version)
 Eine Bean-Implementierung:
implementiert alle Methoden der
Interfaces + Methoden für den
Container
Der EJB-Client
 Benutzt entfernte EJB-Objekte, damit
diese auf Daten zugreifen, Aufgaben
ausführen usw.
 Schritte, die der Client durchführt:
 Er holt einen JNDI-Kontext vom J2EE/EJBServer.
 Er sucht mit diesem Kontext das HomeInterface der zu verwendenden Bean.
 Mit Hilfe des Home-Interfaces erzeugt (oder
findet) er eine Referenz auf eine EJB.
 Er ruft Methoden dieser Bean auf.
Der EJB-Container
 Das „Herz“ der EJB-Umgebung
 Aufgaben:
 Registrierung der Home-Interfaces in einem
JNDI Namensraum
 Verwaltung der Lebenszyklen der Beans
 Transaktionsverarbeitungen
 Sicherheit
 Ressourcen-Pooling
 Datenpersistenz
 Erzeugung von Klassen, die die einzelnen
Komponenten zusammenhalten
EJBs auf einen Blick
Home-Interface
Erzeugen/Finden/Löschen
Erzeugen/Finden/Löschen
Home-Stub
ClientInterfaceStubs
Client
EJBContainer
Home-Imple
mentierung
Geschäftsmethoden/Löschen
Mitteilungen
Bean-Imple
mentierung
Client-Interface
Löschen
Container-generie
rte Sub-Klasse
(optional)
Client-Stub
Geschäftsmethoden
Client
Server
Deployment
 Vorweg:
 Package javax.ejb
 Application Server (z.B. JBoss), EJB-Container integriert
 EJB-Komponenten in JAR-Dateien verpackt.
 EJB-Komponenten mit Deployment-Deskriptoren
beschrieben.
 „Inbetriebnahme“:
 Deployment-Informationen in Form einer XML-Datei.
 Generieren der vom Container zur Verfügung gestellten
Klassen.
 Verpacken der EJBs in einer ejb-jar Datei.
Zielgruppen
 erfahrene Java- bzw. EnterpriseEntwickler
 Softwareentwickler
 IT-Systemanalytiker
 IT-Fach und -Führungskräfte
 IT-Entscheidungsträger
 „Open Source“ - Unternehmen
Hersteller
 SUN Microsystems
(http://java.sun.com/products/ejb/)
 JCP (Java Community Process)
 Versionen
 EJB 2.1 (Final Release)
 EJB 3.0 (Early Draft Review)
Application Server Anbieter
 Sun
 Java System Application Server 8 2004Q4
 JBoss Inc
 JBoss Application Server 4.0.0
 Object Web Consortium
 Enhydra Server 5.1-16
 Dev2Dev
 BEA WebLogic Server 8.1
Schlussworte
Herzlichen Dank
für Eure Aufmerksamkeit !!
Herunterladen