Enterprise JavaBeans 2.0

Werbung
Überblick
Enterprise JavaBeans™ 2.0
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
n
n
n
n
n
2 von 116
Überblick
3 von 116
EJB
Motivation
n Einführung
n Spezifikation
n Rollen
n Container
n Beantypen
n Bestandteile einer Bean
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Allgemeines
J2EE
n
Von
Hauke Traulsen und Sebastian Lempert
n
Motivation
Anforderungen
Einführung
Bestandteile
n Architektur
n Rollen
Vortrag im Seminar
Komponentenbasierte Softwareentwicklung
Einführung
J2EE
EJB
EJB 2.0
Literatur
Unternehmensanwendungen
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Überblick
Einführung
J2EE
EJB
EJB 2.0
Literatur
4 von 116
n
EJB 2.0
JMS
MDB
n Local Interfaces
n CMP/CMR
n EJB QL
n Home Methods
n
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
1
Enterprise Motivation (1)
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
n
Enterprise Motivation (2)
Verteilte transaktionsorientierte Anwendungen für
Unternehmen
serverseitige
Geschwindigkeit
n Sicherheit
n Zuverlässigkeit
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
5 von 116
7 von 116
Schnelllebigkeit
n
Bedarf in Design und Aufbau
Schneller
Weniger Geld
n Weniger Ressourcenverbrauch
n
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
6 von 116
Multi-tier Architektur (1)
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
Multi-tier Architektur (2)
Beispiel: 3-tier-Architektur
Präsentation
(first tier)
Geschäftslogik
(middle tier)
Daten
(third tier)
GUI
Server
Datenbank
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Einführung
J2EE
EJB
EJB 2.0
Literatur
8 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
2
J2EE – Einführung (1)
Einführung
J2EE
EJB
EJB 2.0
Literatur
J2EE – Einführung (2)
Java 2 Enterprise Edition
n
n
n
Reduktion der Kosten
Beschleunigung von Design und Entwicklung
Komponentenbasierter Ansatz
Einführung
J2EE
EJB
EJB 2.0
Literatur
Design
n Entwicklung
n Zusammenbau
n Einsatz
n
9 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
10 von 116
J2EE - Bestandteile (1)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Verteiltes Multitier- Anwendungsmodell
n
Wiederverwendbarkeit von Komponenten
n
Entscheidungsfreiheit bei Wahl der Hersteller
verschiedener Komponenten
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
J2EE – Bestandteile (2)
EJB
JDBC
JSP
JNDI
JMS
n
?
Einführung
J2EE
EJB
EJB 2.0
Literatur
Enterprise JavaBeans (EJB)
Implementierung der Geschäftslogik
Java Server Pages (JSP)
Verbindung von Web und Geschäftslogik
JAAS
Connector
JAXP
JTA
Mail+JAF
11 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
12 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
3
J2EE – Bestandteile (3)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Java Database Connectivity (JDBC)
Zugriff auf Datenbank aus EJB oder JSP heraus
Java Message Service (JMS)
J2EE – Bestandteile (4)
Einführung
J2EE
EJB
EJB 2.0
Literatur
asynchrone Interprozess-Kommunikation
Java Naming And Directory Interface (JNDI)
Lookup und Assoziation von Objekten durch deren
Attribute
Java Transaction API (JTA)
Transaktionsmanagement (RBs,Commits)
13 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
14 von 116
J2EE – Bestandteile (5)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Java Mail und Java Activation Framework (JAF)
E-Mails versenden
Java Mail benutzt JAF (Datenzugriff)
J2EE – Bestandteile (6)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Java API for XML Processing (JAXP)
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
J2EE Connector Architecture
Ressourcenzugriff aus J2EE heraus auf
andere Informationssysteme (EIS-Tier)
Java Authentication and Authorization Service (JAAS)
XML Verarbeitung
15 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Überprüfung von Aufrufsberechtigungen eines Nutzers
oder einer Nutzergruppe
16 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
4
J2EE - Architektur
Application
Client Container
Applet
Einführung
J2EE
EJB
EJB 2.0
Literatur
J2EE-Architektur
HTTP
SSL
Web Container
JSP
Servlet
EJB Container
EJB
J2SE
J2SE
Connector
JDBC
JAXP
Java JAF
Mail
JTA
JAAS
JMS
HTTP
SSL
Connector
JDBC
JAXP
Java JAF
Mail
Application
Client Container
JTA
JAAS
JMS
Einführung
J2EE
EJB
EJB 2.0
Literatur
J2EE – Rollen (1)
J2SE
n
Module
n
Teilung des Entwicklungsprozesses
n
Teilung des Einsatzprozesses
Application
Client
JDBC
JAXP
JAAS
JMS
J2SE
17 von 116
Die einzelnen Bestandteile der J2EE ergänzen sich und ermöglichen eine
umfassende Unterstützung von Geschäftsprozessen. Ein Applikations-Server
implementiert die standardisierten Schnittstellen als Ablaufumgebung für Java
Anwendungen
Database
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
18 von 116
J2EE – Rollen (2)
Einführung
J2EE
EJB
EJB 2.0
Literatur
J2EE Product Provider
Hersteller von OS, DBS, App.-/Web-Server
n Implementieren J2EE-Spezifikation
n àJ2EE – Server
n
J2EE – Rollen (3)
Einführung
J2EE
EJB
EJB 2.0
Literatur
19 von 116
Tools für Entwicklung, Zusammenbau und Einsatz
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Application Component Provider
Anbieter von Enterprise Beans, Web Komponenten,
Clients, etc
Application Assembler
Komponenten werden zusammengeführt
(EJB-JARs, WARs à EAR)
J2EE Tool Provider
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
20 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
5
J2EE – Rollen (4)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Application Deployer
Einbau der J2EE Anwendung, Administration,
Kontrolle der Laufzeitumgebung
J2EE – Spezifikation
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
J2EE
Spezifikation
1.3 vom 27.07.2001
n
J2EE SDK
Referenzimplementierung
SDK 1.3.1 vom 31.01.2002
inklusive Dokumentation 25 MB
21 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
22 von 116
EJB - Motivation
Einführung
J2EE
EJB
EJB 2.0
Literatur
Vereinfachte Entwicklung kommerzieller
Anwendungen
Entwickler von kommerziellen Anwendungen sollen
sich auf die Implementierung der Geschäftslogik, d. h.
das Codieren von Geschäftsregeln, -logik und -wissen,
konzentrieren können.
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB - Die EJB Spezifikation (1)
Einführung
J2EE
EJB
EJB 2.0
Literatur
... ist eine
Standardisierte API für die Entwicklung
komponentenbasierter Software
... ist
ein Bestandteil der J2EE-Spezifikation
... wird entwickelt von
vielen Leuten, vielen Firmen (Borland, Fujitsu, IBM,
Oracle, Sun, Sybase etc.) und dem Java Community
Process
23 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
24 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
6
EJB - Die EJB Spezifikation (2)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Überblick über die Versionen
§
§
§
§
Version
Version
Version
Version
1.0,
1.1,
2.0,
2.1,
21.03.1998,
17.12.1999,
22.08.2001,
17.06.2002,
181
314
572
636
Seiten
Seiten
Seiten
Seiten (Public Draft)
EJB – Einführung (1)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Was sind EJB?
„The Enterprise JavaBeans architecture is a component
architecture for the development and deployment of
component-based distributed business applications.
Applications written using the Enterprise JavaBeans
architecture are scalable, transactional, and multi-user
secure. These applications may be written once, and then
deployed on any server platform that supports the
Enterprise JavaBeans specification.“
Quelle: Sun microsystems
(EJB Specification 2.0 vom 22.08.2001)
25 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
26 von 116
EJB – Einführung (2)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Was sind EJB?
„Enterprise JavaBeans (EJB) components execute in a
managed environment that supports transactions.
Enterprise beans typically contain the business logic for a
J2EE application.“
EJB – Einführung (3)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
n
Komponentenmodell
Serverseitige Komponentenarchitektur für die J2EEPlattform
n
Verteilte Anwendungen
Ein Client nutzt Funktionalität eines Servers über
Fernaufrufe (RPC / ROI), hier Java RMI
n
Quelle: Sun microsystems
(J2EE Specification 1.3 vom 27.07.2001)
27 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Write once, run anywhere (WORA)
Ein EJB läuft in jedem Server, der sich an die Spezifikation
hält.
28 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
7
EJB – Einführung (4)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Transaktionen und EJB
§
§
§
§
§
29 von 116
EJB Architektur (1)
EJB laufen in einem Container, welcher laut J2EE
Transaktionen unterstützen muss
Protokoll: Two-Phase-Commit (2PC) basierend auf dem
OMG Transaction Service (OTS)
implementiert im Java Transaction Service (JTA)
Unterstützung für mehrere Transaktionsmanager
(transactional resource manager)
dadurch Überführung von Datenbanktransaktionen auf
Objekte
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Einführung
J2EE
EJB
EJB 2.0
Literatur
§
einem EJB-Server
EJB-Containern, die auf diesem Server laufen
sog. "Home Objects" , sog. "Remote EJB Objects" und
Enterprise JavaBeans die in den Containern laufen
mindestens einem EJB-Client
weiteren Hilfssystemen wie JNDI, JTS, Sicherheitsdiensten
etc.
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB – Container: Spezifikationsanforderungen (1)
EJB Container
EJB Container
Home
Interface
Home
Object
Enterprise
Java
Bean
EJB
Client
Invoke Business
methods of EJB
§
§
30 von 116
EJB
EJBServer
Server
Locate, Create
and Remove,
instance of EJB
§
§
EJB Architektur (2)
Einführung
J2EE
EJB
EJB 2.0
Literatur
... besteht aus
Remote
Interface
EJB
Object
Databases
Einführung
J2EE
EJB
EJB 2.0
Literatur
Ressourcen und Lebenszyklusmanagement
§
§
Zustandsverwaltung / Persistenz
JMS
JMS
Security
Security
JTG
JTG
§
JNDI
JNDI
Verteilung der Ressourcen auf die unterschiedlichen EJB
eines Containers.
Erzeugung und Entfernung von Bean-Instanzen.
Der Zustand einer zustandsbehafteten Bean kann
abgespeichert bzw. persistent gemacht und wieder geladen
werden.
Enterprise Services and API
31 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
32 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
8
EJB - Container: Spezifikationsanforderungen (2)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Transaktionsmanagement
Sicherheit
§
§
Für den Ablauf einer EJB können verschiedene
Sicherheitsklassen definiert werden.
Durch Java Security Manager implementiert.
EJB - Container: Spezifikationsanforderungen (3)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Hilfswerkzeuge
§
§
§
Ein EJB Container besitzt eine gewisse Grundausstattung
an Hilfswerkzeugen.
Erzeugung von Stubs und Skeletons.
Logik, die für die verschiedenen Dienste notwendig ist (z.B.
Implementierung eines Namensdienstes)
RPC und Ortstransparenz
§
§
33 von 116
Fernaufrufe sind durch RMI implementiert.
Ortstransparenz ist gegeben.
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
34 von 116
EJB Container:
Zusätzliche Features (1)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Lastbalancierung
§
Ressourcenaufteilung von gleichartigen EJB-Containern
untereinander.
Komponentenaustausch zur Laufzeit
§
Einspielung neuer Versionen zur Laufzeit.
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB Container:
Zusätzliche Features (2)
Einführung
J2EE
EJB
EJB 2.0
Literatur
XML-Unterstützung
§
... zur Repräsentation der Daten
Integration von CORBA
§
CORBA-Unterstützung durch das Protokoll RMI-IIOP:
CORBA-Objekte kommunizieren mit Java Remote Objects
Verteilte Transaktionen
§
35 von 116
Transaktionen über mehrere Container und Server hinweg.
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
36 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
9
EJB Architektur: Beantypen (3)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Session Beans
§
§
§
§
37 von 116
Modellierung von Geschäftsprozessen
enthalten Geschäftslogik
Lebenszeit entspricht in etwa einer Client-Session
sind nicht nebenläufig, pro Session Bean immer nur ein
Client zur gleichen Zeit
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB Architektur: Beantypen (4)
Einführung
J2EE
EJB
EJB 2.0
Literatur
38 von 116
EJB Architektur: Beantypen (5)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Entity Beans
§
§
§
§
39 von 116
Modellierung von Daten: Objektorientierte Ansicht der
gerade benötigten Daten aus der Datenbank.
Somit nur lokale Kommunikation beim Zugriff auf die Daten
= erhöhte Performance.
Daten lassen sich leichter abfragen und modifizieren.
nebenläufig: Gleichzeitige Nutzung durch mehrere Clients
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Typen von Session Beans
§
§
Stateful Session Beans: Zustandsbehaftete Beans, z.B. für
einen elektronischen Warenkorb
Stateless Session Beans: Zustandslose Beans.
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB Architektur: Beantypen (6)
Einführung
J2EE
EJB
EJB 2.0
Literatur
40 von 116
Typen von Entity Beans
§
Bean-Managed Persistent Entity Bean:
Persistenzmanagement von Hand
§
Container-Managed Persistent Entity Bean: ...
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
10
Bestandteile einer EJB (1)
Einführung
J2EE
EJB
EJB 2.0
Literatur
... laut J2EE Spezifikation
§
§
§
§
§
die eigentliche Enterprise JavaBean
das EJB Object samt Remote Interface
das Home Object samt Home Interface
der Deployment Descriptor / das Manifest
(Verwaltungsinformationen)
die EJB-Jar-Datei
Bestandteile einer EJB (2)
Einführung
J2EE
EJB
EJB 2.0
Literatur
EnterpriseBean Interface
public interface javax.ejb.EnterpriseBean
extends java.io.Serializable {}
§
§
§
41 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
42 von 116
Bestandteile einer EJB (3)
Einführung
J2EE
EJB
EJB 2.0
Literatur
SessionBean Interface
public interface SessionBean
extends EnterpriseBean {...}
EntityBean Interface
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Bestandteile einer EJB (4)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Remote Interface und EJB Object
public interface EJBObject extends Remote {...}
§
§
public interface EntityBean
extends EnterpriseBean {...}
§
§
43 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
muss von jeder EJB implementiert werden
ist ein Marker Interface: Jede Klasse, es implementiert ist
automatisch eine EJB
erbt von Serializable, somit ist jede EJB serialisierbar.
44 von 116
Das EJB Object ist ein Stellvertreter für die EJB mit einer
Schnittstelle nach außen; ähnlich Skeleton aus CORBA
Aufrufe werden über das EJB Object und den Container an
die EJB weitergeleitet.
Das EJB Object wird durch das Remote Interface
beschrieben und automatisch vom Container generiert.
Das EJB Object ist Container-abhängig
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
11
Bestandteile einer EJB (5)
Kommunikation mit einer EJB
Einführung
J2EE
EJB
EJB 2.0
Literatur
EJB-Container
Client
Remote
Interface
Einführung
J2EE
EJB
EJB 2.0
Literatur
Bestandteile einer EJB (6)
EJB
Object
EJB
Home Interface und Home Object
public interface EJBHome extends Remote {...}
§
§
§
45 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
46 von 116
Bestandteile einer EJB (7)
e
nd z
Se en
r
3 . ef e
ch
R
na
e
ag z
Fr ren
1 . ef e
R
47 von 116
EJB-Container
Remote
Interface
Client
4. Zugriff
auf EJB
Object
EJB
Object
5. Zugriff
auf EJB
EJB
Einführung
J2EE
EJB
EJB 2.0
Literatur
2. Erzeuge EJB Object
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Bestandteile einer EJB (8)
Erzeugung von EJB-Instanzen
Home
Interface
Einführung
J2EE
EJB
EJB 2.0
Literatur
Dem Home Object kommt die Rolle einer Object Factory
zu: Sie liefert eine Referenz auf ein EJB Object zurück.
Das Home Objects wird durch das Home Interface
beschrieben und automatisch vom Container generiert.
Das Home Object ist Container-abhängig.
Deployment Descriptor
§
§
§
§
§
Home
Object
§
48 von 116
Für Verwaltungsinformationen zuständig.
legt fest, welche Dienste des EJB-Containers durch die
Bean genutzt werden sollen.
Bean-Management: Namen der EJBs, zugehörige Objekte
und Schnittstellen, Bean-Typ
Persistenz: Betrifft Entity Beans (container managed?)
Transaktionsmanagement
Sicherheit
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
12
Bestandteile einer EJB (10)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Die EJB-Jar-Datei
§
§
Auslieferungsformat einer EJB: Sämtliche Dateien werden
in eine JAR-Datei gepackt.
EJB Object bzw. Home Object sind nicht enthalten, da vom
Container automatisch generiert ... dafür aber
notwendigerweise Remote Interface bzw. Home Interface!
EJB - Die sechs Rollen (1)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Enterprise Bean Provider
§
Bean Hersteller. Erzeugnis: EJB-JAR-File.
Application Assembler
§
Fügt mehrere EJB zu einer größeren Anwendung
zusammen. Erzeugnis: EJB-JAR-File.
Deployer
§
49 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
50 von 116
EJB - Die sechs Rollen (2)
Einführung
J2EE
EJB
EJB 2.0
Literatur
EJB Server Provider
§
§
Spezialisiert auf das Gebiet des verteilten
Transaktionsmanagements (z.B. OS-, Middleware- bzw.
Datenbankhersteller).
Momentan ist diese Rolle gleichbedeutend mit der des EJB
Container Providers.
Integriert eine gelieferte EJB in das System, bringt die EJB
in einem Container zum Laufen.
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB - Die sechs Rollen (3)
Einführung
J2EE
EJB
EJB 2.0
Literatur
System Administrator
§
§
Verantwortlich für die Konfiguration und Administration der
Rechner- und Netzwerkinfrastruktur.
Überwachung von EJB Server und Container.
EJB Container Provider
§
§
51 von 116
Stellt Deployment-Tools und die Laufzeitumgebung für EJB
zur Verfügung
Häufig Server/Container Provider in Einem
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
52 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
13
EJB Architektur: Namensdienst (1)
Einführung
J2EE
EJB
EJB 2.0
Literatur
JNDI
§
§
§
Java Naming and Directory Interface
Wird vom Client angesprochen, um das Home Object
finden zu können.
Eigentlich nur eine Spezifikation: Muss von dem ContainerHersteller bereitgestellt werden.
Zusammenfassung
Einführung
J2EE
EJB
EJB 2.0
Literatur
Vorteile
§
§
§
§
§
§
53 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
54 von 116
EJB 2.0
Einführung
J2EE
EJB
EJB 2.0
Literatur
55 von 116
EJB 2.0 Spezifikation
Final Release vom 22.08.2001
2/3 umfangreicher als 1.1
n 572 Seiten
n
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Unabhängigkeit von zugrundeliegender Middleware
Plattformunabhängigkeit und WORA
Strukturierte Anwendungsentwicklung durch Rollen
(verteiltes) Transaktionsmanagement
Portierbarkeit und Skalierbarkeit
Nahtlose Integration von CORBA
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – JMS (1)
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
Java Message Service
n
Seit 2.0 in J2EE integriert
n
56 von 116
Jedes Element von J2EE à
Producer / Consumer von Nachrichten
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
14
EJB 2.0 – JMS (2)
Einführung
J2EE
EJB
EJB 2.0
Literatur
57 von 116
n
Konzept eines JMS-Servers
n
Häufig in den EJB-Applicationsserver integriert
n
Verwaltet Topics und Queues
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – JMS (3)
Einführung
J2EE
EJB
EJB 2.0
Literatur
58 von 116
EJB 2.0 – JMS (4)
Einführung
J2EE
EJB
EJB 2.0
Literatur
59 von 116
n
P2P
Point To Point
n Auswahl eines von mehreren potentiellen
Empfängern
n Viele Produkte: Auswahl nach Lastverteilung
n Kommunikationskanal: „Queue“
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
n
Pub/Sub
Übermittlung einer Nachricht an mehrere Consumer
(publish)
n Kommunikationskanal: „Topic“
n An-/Abmeldung von Consumer an einem Topic
(subscribe)
n Listenerkonzept
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – JMS (5)
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
n
n
60 von 116
Queues und Topics per Naming-Service verfügbar
Steuerung von Web-Komponenten, Session Beans
und Entity Beans über RMI-IIOP: Synchron
Client-Applikation und Message Driven Beans:
Asynchron
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
15
EJB 2.0 – MDB (1)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Message Driven Beans
Einführung
J2EE
EJB
EJB 2.0
Literatur
Neuer (dritter) Beantyp
n Möglich durch Integration von JMS
n Asynchrone Methodenaufrufe
n Per Definition: JMS-Consumer
n
n
61 von 116
EJB 2.0 – MDB (2)
Kann dennoch Nachrichten senden
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
n
62 von 116
Client
Ext.
Java
programm
Session Bean
Pool
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Applicationserver
JMS-Server
MDB
Pool
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
Implementiert zwei Interfaces
n
javax.ejb.MessageDrivenBean
n
n
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
n
64 von 116
Methoden zum Erzeugen neuer Beans
Vorbereitung der Verarbeitung von Nachrichten
javax.jms.MessageListener
n
63 von 116
JMS-Server
EJB 2.0 – MDB (4)
Spezifikation 2.0
Client
Applicationserver
Problem: Nachrichten nicht teil von
Transaktionen
EJB 2.0 – MDB (3)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Bis Spezifikation 1.1:
public void onMessage(Message m);
Vom Container genutzt, um Bean Nachricht zu
übermitteln
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
16
EJB 2.0 – MDB (5)
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
MDB ähnlich Stateless Session Beans
geeignet zum Instance - Pooling
Lastverteilung
n
Immer vom Container aufgerufen
n
n
n
n
65 von 116
EJB 2.0 – MDB (6)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
n
Concurrency hier erlaubt
Keine Garantien über die Ausführungsreihenfolge
von eintreffenden nebenläufig verarbeiteten
Nachrichten
n Vorbereitung der Bean auf Nebenläufigkeit
n
n
Problem: Erzeugung der Instanzen unsichtbar für
den Entwickler durch den Container
n Lösung: Deployment Descriptor bietet Elemente zur
Definition
<container-transaction>
<exclude-list>
<method-permission>
66 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – Local Interfaces (1)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Sonst nicht erlaubt
n
n
Home-Interface (Lebenszyklus)
Remote-Interface (Geschäftslogik)
n Generelle Ortsunabhängigkeit (RMI)
n Kommunikation zwischen Beans auch in der
gleichen JVM
n
n
Container verliert Teil der Kontrolle
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
n
68 von 116
Spezifikation 1.x
n
n
67 von 116
Definition von Selector möglich
n
Darum: kein Home-Interface
Unsichtbar für Client
EJB 2.0 – MDB (7)
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
immer über RMI
Serialisierung
bis 10000 mal langsamer als lokal
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
17
EJB 2.0 – Local Interfaces (2)
Einführung
J2EE
EJB
EJB 2.0
Literatur
69 von 116
n
Spezifikation 2.0
Einführung des Local Interface – Konzeptes
n Parameterübergabe innerhalb einer JVM damit per
Referenz
n Somit Aufgabe der Ortstransparenz
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – Local Interfaces (3)
Einführung
J2EE
EJB
EJB 2.0
Literatur
70 von 116
EJB 2.0 – Local Interfaces (4)
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
Neu: Zwei Gruppen von Interfaces
n
Home – Interfaces
n
n
Component Interfaces
n
n
71 von 116
Erzeugen, Suchen, Löschen, Neu: „Home-Methods“
Motivation
Sowohl grobe als auch feine Sicht der Beans
möglich
n fein = stark voneinander abhängige Beans
n Feine Sicht wird durch Local Interface beschleunigt
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – Local Interfaces (5)
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
n
Interfaces dieser Gruppen wahlweise als Local
Interface oder Remote Interface
Resultat: Vier mögliche Interfaces
Local Home
Local Component
n Remote Home
n Remote Component
n
n
Ersetzt Begriff „Remote-Interface“
Beschreibt Zugriff auf die Geschäftslogik
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
n
72 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
18
EJB 2.0 – Local Interfaces (6)
Einführung
J2EE
EJB
EJB 2.0
Literatur
73 von 116
n
n
Möglichkeit vorhanden, nur Remote- bzw. LocalInterfaces zu verwenden
Rückgabewerte entsprechend
n Local Home Methoden geben Local Component
Interfaces zurück
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – Local Interfaces (7)
Einführung
J2EE
EJB
EJB 2.0
Literatur
74 von 116
EJB 2.0 – Local Interfaces (8)
Einführung
J2EE
EJB
EJB 2.0
Literatur
75 von 116
n
Forced Facades
Cluster-interne EJBs, die als Rückgabewert an
Elemente ausserhalb des Clusters auftreten,
brauchen (z.B. im Falle eines Remote Clients) ein
erzwungenes Remote-Interface
n Problem: Abhängige Local Interface-Rückgabewerte
führen zu weiteren Forced Facades
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
n
Kritische Betrachtung
n
Stark vernetzte Beans mit Local Interfaces
(Clustering)
Fassaden- Bean
n Kommuniziert mit Cluster-externem
n Cluster-interne Bean
n Wird nur von Beans desselben Clusters angesprochen
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – Local Interfaces (9)
Einführung
J2EE
EJB
EJB 2.0
Literatur
76 von 116
n
Problem bei Dual Interfaces:
Cluster-Bean erschafft via LocalHome eine Instanz
einer anderen Bean
n Folge: Hat ein Local Interface bekommen
n Rückgabe zum Remote Client: Transformation einer
Lokalreferenz in eine Remotereferenz notwendig
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
19
EJB 2.0 – Local Interfaces (10)
Einführung
J2EE
EJB
EJB 2.0
Literatur
77 von 116
n
Transformationstypen
Methode steht bei erschaffener Instanz zur
Verfügung (getRemote...)
n ... sonst: Eigenregie
n
Via Local Interface Primary Key der Instanz erfragen
n Via JNDI das Remote Home Interface holen
n Via Find-Methode mit Primary Key das Remote
Component Interface holen
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – Local Interfaces (11)
Einführung
J2EE
EJB
EJB 2.0
Literatur
79 von 116
n
Anderer Ansatz:
Cluster-Bean-Hersteller soll nicht zu einem Remote
Interface gezwungen werden
n Definition: Aktivität = Menge von Methoden
n Einführung einer Facade Bean für jede Aktivität:
Session Bean, die das Remote Interface stellt und
intern auf das Local Interface zugreift
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
n
n
n
78 von 116
EJB 2.0 – Local Interfaces (12)
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
Schwierigkeit vorherzusehen, welche Methoden in
welchem Interface (= Remote oder Local) benötigt
werden
EJB Designer realisiert Grossteil der Methoden in
beiden Interfaces
Mehr Entwicklungsarbeit, unterschiedliche Semantik
(?) nach außen gleicher Methoden
größerer Deployment Descriptor
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – Local Interfaces (13)
Einführung
J2EE
EJB
EJB 2.0
Literatur
80 von 116
n
Neues Problem:
n
Jede neue Aktivität führt
zu neuer Session Bean
wahrscheinlich zur Verschmelzung von Clustern
(Schnittmenge der benötigten Entity Beans)
n zu riesigen Clustern (z.B. Session Bean greift auf
mehrere Cluster-Beans zu, die in unterschiedlichen
Clustern stecken)
n
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
20
EJB 2.0 – Local Interfaces (14)
Einführung
J2EE
EJB
EJB 2.0
Literatur
81 von 116
n
Weitere Nachteile dieses Ansatzes
Alle Session Beans könnten auf alle Entity-Beans
zugreifen: „komponentenbasierter Spaghetti-Code“
n Facade Session Beans sind extra konstruiert
à nicht wiederverwendbar
à Komponenten ?
n Gesteigerte Komplexität in Entwicklung und
Wartung
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – Local Interfaces (15)
Einführung
J2EE
EJB
EJB 2.0
Literatur
83 von 116
Local Interfaces nur unter bestimmten
Gegebenheiten eine gute Lösung
à Alternativlösung entwickelt ... siehe Literatur: H. A.
Schmid
à
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Letzter Versuch
Kontra Bildung eines Riesenclusters
Kommunikation zwischen Facade Beans
unterschiedlicher Cluster
n Aber Problem:
n
n
n
n
82 von 116
EJB 2.0 – Local Interfaces (16)
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
Zyklen bei Session Beans sind verboten
Wiederum steigende Komplexität bei den Session Beans
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – CMP (1)
Einführung
J2EE
EJB
EJB 2.0
Literatur
84 von 116
n
n
n
Container Managed Persistence è CMP EntityBeans
Seit EJB 1.1
In EJB 1.1 Problem der schlechten Portierbarkeit
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
21
EJB 2.0 – CMP (2)
Einführung
J2EE
EJB
EJB 2.0
Literatur
85 von 116
n
Spezifikation 2.0
Bean Klassen und Persistenz genügend spezifiziert
n Portierung von Sourcecode leicht
n Generator (kommt mit Container) erzeugt aus
Deployment Descriptor- Beschreibung Containerspezifische Hilfsklasse
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – CMP (3)
Einführung
J2EE
EJB
EJB 2.0
Literatur
86 von 116
EJB 2.0 – CMP/CMR (1)
Einführung
J2EE
EJB
EJB 2.0
Literatur
87 von 116
n
n
CMR =
Container Managed Relations
Verwaltung von Relationen zwischen Beans durch
Container
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
n
Weitere Vorteile
Generatorwerkzeug erzeugt Unabhängigkeit von der
Persistenzschicht
n Generierung vermindert Testbedarf
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – CMP/CMR (2)
Einführung
J2EE
EJB
EJB 2.0
Literatur
88 von 116
n
1.x
n
n
Abfrage der Fremdschlüsselbeziehungen durch
Find-Methoden
2.0
n
Beziehungen definiert im Deployment Descriptor
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
22
EJB 2.0 – CMP/CMR (3)
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
Abstrakte get/set Methoden in den Beans
n
Implementierung durch Generator (beim Container)
EJB 2.0 – CMP/CMR (4)
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
n
n
89 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
90 von 116
EJB 2.0 – CMP/CMR (5)
Einführung
J2EE
EJB
EJB 2.0
Literatur
91 von 116
n
M:N Relationen
Müssen in relationalen Datenbanken mit dritter
Verbindungstabelle dargestellt werden
n Neu: Nur Angabe im Deployment Descriptor, vorher
explizite Bean-Modellierung
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Kardinalitäten: 1:1, 1:M, M:N
Local Interface, java.util.Set bzw. java.util.Collection
als Parameter in den get() und set() Methoden
Nur einsetzbar für CMP Entity Beans
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – CMP/CMR (6)
Einführung
J2EE
EJB
EJB 2.0
Literatur
92 von 116
n
1:M bzw. 1:1 Beziehungen
erlauben das „Cascade Delete“, wenn das
löschende Element einzeln ist (die 1-Seite)
n Vergleiche Datenbanken
n Spezifikation 2.0 bietet Technik an:
Aufruf von ejbRemove() am anderen Ende der
Beziehung
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
23
EJB 2.0 – CMP/CMR (7)
Einführung
J2EE
EJB
EJB 2.0
Literatur
93 von 116
n
n
Container ist für referentielle Integrität zuständig
Grosse Rolle von CMR bei Anfragen per EJB QL
(folgt)
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – CMP – Dependent Value Classes
Einführung
J2EE
EJB
EJB 2.0
Literatur
94 von 116
EJB 2.0 – EJB QL (1)
Einführung
J2EE
EJB
EJB 2.0
Literatur
95 von 116
Enterprise JavaBeans Query Language
n
n
n
Ist eine „query specification language“
Benutzt zum Auffinden von Daten
Keine Manipulation ! (vgl. SQL)
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
n
n
n
instanziierbare und serialisierbare Java Klassen
werden serialisiert in der Datenbank gespeichert
Nachteil: Schlechte Performance bei Anfragen
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – EJB QL (2)
Einführung
J2EE
EJB
EJB 2.0
Literatur
96 von 116
n
Bis Spezifikation 1.1:
n
Eingebettete SQL-Anfragen im Sourcecode
n
n
Verlust der Unabhängigkeit gegenüber der
Persistenzschicht
EJB QL arbeitet als Anfragesprache auf dem
abstrakten Schema der Bean im Deployment
Descriptor
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
24
EJB 2.0 - EJB QL (3)
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
Suchfunktionalität
n
Jeweils Signaturen im Quellcode:
Find-Methoden im Home Interface
n Select-Methoden in der Bean-Klasse
n
n
n
Signaturen wiederholen im Deployment Descriptor
Ebenfalls im DD: Anfrage
n
97 von 116
EJB 2.0 – EJB QL (4)
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
(angelehnt an SQL92)
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
98 von 116
EJB 2.0 – EJB QL (5)
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
n
n
n
n
n
n
99 von 116
TRUE, FALSE
+, -, *, /
=, >, >=, <, <=, <>
NOT, AND, OR
BETWEEN, IN, LIKE, NULL, EMPTY, MEMBER
CONCAT, SUBSTRING, LENGTH,...
.....
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
n
Select_clause
from_clause
[ where_clause ]
Methodenparameter: ?1, ?2,...
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – EJB QL (6)
Einführung
J2EE
EJB
EJB 2.0
Literatur
Beispiel für find-Methode
(im Home Interface folgende Signatur):
public Collection findXXX(int id, Date maxDate)
throws FinderException
à
100 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
25
EJB 2.0 – EJB QL (7)
Einführung
J2EE
EJB
EJB 2.0
Literatur
101 von 116
<query>
<query-method>
<method-name>findXXX</method-name>
<method-params>
<method-param>int</method-param>
<method-param>java.sql.Date</method-param>
</method-params>
</query-method>
<ejb-ql> <![CDATA[SELECT OBJECT(v) FROM ABCBean v
WHERE v.id = ?1
AND v.gueltigbis = ?2 ]]>
</ejb-ql>
</query>
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – EJB QL (8)
Einführung
J2EE
EJB
EJB 2.0
Literatur
103 von 116
n
Zusätzliche Methoden
Definiert im Home-Interface
n Neben create-, remove-, findn Beziehen sich auf eine Menge von Instanzen
n Wie static-Methoden in Java (Klassenmethoden)
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Select Methoden
n
n
n
Neu in 2.0
Abstrakt in der Bean mit Prefix:
„ejbSelect...“
im Gegensatz zu ejbFind() nicht nach außen
sichtbar
n Umsetzung wie bei ejbFind()
n
102 von 116
EJB 2.0 – Home Methods (1)
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – Home Methods (2)
Einführung
J2EE
EJB
EJB 2.0
Literatur
104 von 116
n
Implementierung
„ejbHome“-Präfix für den Methodennamen
Public – muss sein
n Static – darf nicht sein
n
n
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
26
EJB 2.0 – Home Methods (3)
Einführung
J2EE
EJB
EJB 2.0
Literatur
105 von 116
n
Beispiel: Remote-Interface
public int berechneXY() throws RemoteException;
n
Implementierung
public int ejbHomeBerechneXY() {
....
}
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – Home Methods (4)
Einführung
J2EE
EJB
EJB 2.0
Literatur
106 von 116
EJB 2.0 – Home Methods (5)
Einführung
J2EE
EJB
EJB 2.0
Literatur
n
Lebenszyklus einer Entity-Bean
n does not exist (keine Methodenaufrufe möglich)
n
pooled ç (alle Instanzen noch gleich: Zustand für
den Aufruf von ejbSelect- und Home-Methoden)
n
n
EJB 2.0 – Run-As-Security (1)
Einführung
J2EE
EJB
EJB 2.0
Literatur
ready (ejbCreate, usw. sorgen für Attributbelegung
einzelner Instanz, jetzt Component-InterfaceMethoden aufrufbar)
107 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Keine Instanzmethoden aus einer ejbHomeImplementierung aufrufen (vgl. static, wo der
Compiler protestieren könnte)
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
n
n
n
n
n
WICHTIG
108 von 116
Erweiterung des bestehenden AufrufBerechtigungskonzept
Definieren von „Rollen“, die Aufrufer innehaben
kann
Rollendefinition im Deployment-Descriptor
Weiterreichen des Security-Contextes bei inneren
Methodenaufrufen, welcher die Benutzeridentität
beinhaltet
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
27
EJB 2.0 – Run-As-Security (2)
Einführung
J2EE
EJB
EJB 2.0
Literatur
109 von 116
n
Run-As steht für:
n
Zuweisung einer Identität an eine Bean
1) Nutzer ruft Methode X der Bean auf
2) Überprüfung, ob er dies darf
3) Bean hat Identität „admin“ (z.B.)
4) Alle Methodenaufrufe in X werden gegen
„admin“ auf Berechtigung geprüft.
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
EJB 2.0 – Run-As-Security (3)
Einführung
J2EE
EJB
EJB 2.0
Literatur
110 von 116
Literatur
Einführung
J2EE
EJB
EJB 2.0
Literatur
A. Eberhart, S. Fischer (2001)
Java-Bausteine für E-Commerce-Anwendungen
Hanser
G. Seshadri (1999)
Enterprise Java Computing – Applications and Architecture
Cambridge University Press
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Run-As verhindert Mehrfach-implementierung von
Methoden.
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Literatur
Einführung
J2EE
EJB
EJB 2.0
Literatur
V. Matene, M. Hapner (1998)
Enterprise JavaBeans
http://www.java.sun.com/products/ejb/docs.html
V. Matene, M. Hapner (1999)
Enterprise JavaBeans Specification, v1.1
http://www.java.sun.com/products/ejb/docs.html
L. DeMichiel, L. Yalçinalp, S. Krishnan (2001)
Enterprise JavaBeans Specification, Version 2.0
http://www.java.sun.com/products/ejb/docs.html
V. Gruhn, M. Schneider (2002)
EJB 2.0 Anwendungen
Addison-Wesley
111 von 116
n
112 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
28
Literatur
Einführung
J2EE
EJB
EJB 2.0
Literatur
L. DeMichiel (2002)
Enterprise JavaBeans Specification, Version 2.1 (Public Draft)
http://java.sun.com/products/ejb/docs.html
B. Shannon (2001)
Java 2 Platform Enterprise Edition Specification, v1.3
http://java.sun.com/j2ee/download.html
Literatur
Einführung
J2EE
EJB
EJB 2.0
Literatur
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
114 von 116
Anbieter von EJB Komponenten
Einführung
J2EE
EJB
EJB 2.0
Literatur
D. Coward (2001)
Java Servlet Specification Version 2.3
http://java.sun.com/products/servlet/download.html
H.A. Schmid (2002)
An Evaluation of the Use of Enterprise JavaBeans 2.0
Local Interfaces
University of Applied Sciences, Konstanz
M. Pawlan, D. Green, K. Haase, S. Bodoff,
E. Jendrock, B. Stearns (2002)
The J2EE Tutorial
http://java.sun.com/j2ee/download.html
113 von 116
E. Pelegri-Llopart (2001)
JavaServer Pages Specification Version 1.2
http://java.sun.com/products/jsp/download.html
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
Ende der Präsentation
Weitere Informationen unter ...
http://www.componentsource.com/java
Vielen Dank für Ihre
Aufmerksamkeit!
http://www.flashline.com/components/
è Marketplace è EJB
http://industry.java.sun.com/solutions/
è Enterprise JavaBeans Components
115 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
116 von 116
Hauke Traulsen ([email protected])
Sebastian Lempert ([email protected])
29
Herunterladen