EJB - Userpage

Werbung
Programmierung von Client/ServerAnwendungen
J2EE bzw. Java EE Back End Applikationen
(EJB-Container)
03.10.2005
Prof. Dr. Andreas Schmietendorf
1
Übersicht

Java Naming and Directory Interface – JNDI

Enterprise Java Beans im Überblick

Struktur von EJB-Komponenten (Implementierungsbeispiel)

Vorbereitung des Deployment-Prozesses

Auslösen des Deployment-Prozesses

Installation von SUN‘s Referenzumgebung

Funktionenen des SUN-Applikation Servers
03.10.2005
Prof. Dr. Andreas Schmietendorf
2
Java Naming and Directory Interface - JNDI
03.10.2005
Prof. Dr. Andreas Schmietendorf
3
JNDI

Unterstützung der Kommunikation über Rechnergrenzen
-
Angebotene Services eines Rechners?
-
Wo sind entsprechende Objekte abgelegt?
 vgl. Suche im Rahmen eines Telefonbuches

JNDI – Spezifikation eines verwendbaren Interfaces
-
Einhaltung der JNDI-Konventionen
-
Implementierung eines konkreten Dienstes
 Service Provider Interface (kurz SPI)
03.10.2005
Prof. Dr. Andreas Schmietendorf
4
JNDI
Anwendung
JNDI
Naming Manager
SPI
RMI
CORBA
LDAP
Quelle: Stark, T.: J2EE – Einstieg für Anspruchsvolle,
Addison-Wesley, Pearson Studium, München 2005
03.10.2005
Prof. Dr. Andreas Schmietendorf
5
JNDI
Beispiele für SPI-Implementierungen:

Lightweight Directory Access Protocol (LDAP-Standard)

Domain Name Service (DNS)

CORBA Naming Service (COS)

RMI Registry

Network Information System (NIS)

Novel Directory Service (NDS)

Windows Registry
03.10.2005
Prof. Dr. Andreas Schmietendorf
6
JNDI
Naming Service – Aufbau von Namen:



Atomic Name
-
Nicht weiter zerlegbar
-
Atomare Zeichenkette – z.B. sun
Compound Name
-
Zusammengesetzter Name
-
java.sun.com oder /products/jndi/index.jsp
Composite Name
-
Zusammengefasster Name
-
java.sun.com/products/jndi/index.jsp
Quelle: Stark, T.: J2EE – Einstieg für Anspruchsvolle,
Addison-Wesley, Pearson Studium, München 2005
03.10.2005
Prof. Dr. Andreas Schmietendorf
7
JNDI
Einstiegepunkt zum benötigten Service/Objekt:
InitialContext vom Typ javax.naming.Context

Basis-Operationen des JNDI-Kontextobjektes
- bind (Ablegen eines Objektes im aktuellen Kontext)
- unbind (Löschen eines Objektes aus dem Kontext)
- rebind (Möglichkeit zum Überschreiben eines alten Objektes)
- list (Auflisten aller gebundenen Objekte)
- createSubcontext (Erzeugen eines Unterkontextes)
- lookup (Liefert ein gebundes Objekt zurück)
03.10.2005
Prof. Dr. Andreas Schmietendorf
8
JNDI
Konstanten des Interface javax.naming.Context :

INITIAL_CONTEXT_FACTORY (Schnittstelle zum SPI)

PROVIDER_URL (URL des Service)

SECURITY_PROTOCOL (Typ des Protokolls – z.B. SSL)

SECURITY_PRINCIPAL (Nutzername)

SECURITY_CREDENTIALS (Passwort)
Quelle: Stark, T.: J2EE – Einstieg für Anspruchsvolle,
Addison-Wesley, Pearson Studium, München 2005
03.10.2005
Prof. Dr. Andreas Schmietendorf
9
JNDI
Konfiguration des InitialContext (hier Zugriff auf LDAP):
try {
// Umgebung erzeugen
Hashtable env = new java.util.Hashtable();
// Dienst spezifizieren
env.put(Context.INITIAL_CONTEXT_FACTORY,
„com.sun.jndi.ldap.LdapCtxFactory“);
// Provider URL spezifizieren
env.put(Context.PROVIDER_URL,
„ldap://localhost:389“);
Context initCtx = new InitialContext(env);
}catch(NamingException ne){
ne.printStackTrace();
}
Quelle: Stark, T.: J2EE – Einstieg für Anspruchsvolle,
Addison-Wesley, Pearson Studium, München 2005
03.10.2005
Prof. Dr. Andreas Schmietendorf
10
Enterprise Java Beans im Überblick
03.10.2005
Prof. Dr. Andreas Schmietendorf
11
EJB-Überblick
SUN‘s EJB Definition:
Ein The Enterprise Java Beans architecture is a component
architecture for the development and deployment of
component-based distributed business applications.
Applications written using the Enterprise Java Beans
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 Java Beans
specification.
03.10.2005
Prof. Dr. Andreas Schmietendorf
12
EJB-Überblick
Enterprise-JavaBeans(EJB)-Architektur I:
 Server-seitige Java-Komponenten (Focus: Anwendungslogik)
 SUN bietet Spezifikation für EJB‘s, Container und Server
- Referenzimplementierung J2EE bzw. Java EE
- Vielzahl angebotener Applikation-Server
• JBoss (www.jboss.org)
• BEA WebLogic (www.bea.com)
• IBM WebSphere (www.ibm.com)
 Portable Anwendungen auf der Basis von EJB‘s
- Hardwareunabhängig
- Betriebssystemunabhängig
- Unterstützung verschiedener Sprachen und CORBA
03.10.2005
Prof. Dr. Andreas Schmietendorf
13
EJB-Überblick
Enterprise-JavaBeans(EJB)-Architektur II:
 Abstraktes Programmierinterface
- Entlastung von “low-level“ Aufgaben wie z.B.
• Transaktionsverwaltung
• Multithreading
• Ressourcenverwaltung
- Unterstützung der Wiederverwendbarkeit
 Die Entwicklung sollte möglichst unabhängig von der Installation,
Konfiguration, Auslieferung und dem Betrieb ablaufen können
- ITIL Service Delivery
- ITIL Service Support
03.10.2005
Prof. Dr. Andreas Schmietendorf
14
EJB-Überblick
Container-Konzept I:

Behälter bzw. Laufzeitumgebung für Softwarekomponenten

Container definiert nach außen einen abgeschlossenen Bereich

Überwachung des Lebenszyklus einer EJB

-
Erzeugen von EJB-Instanzen
-
Verwalten und Steuern der möglichen Zustände eines EJB
-
Entfernen von EJB-Instanzen
Bestandteil eines konkreten Applikation Servers
 Unzureichenden Portabilität durch Verwendung Herstellerspezifischer API‘s
03.10.2005
Prof. Dr. Andreas Schmietendorf
15
EJB-Überblick
Container-Konzept II (Aufgaben):

Überwachen des Lebenszyklus von EJB‘s

Instanzen Pooling (Verwaltung eines Pools von EJB‘s)

Namens- und Verzeichnisdienst

Transaktionsdienst (ACID-Prinzip)

Nachrichtendienst (Message Service)

Persistenz (CMP - Container Managed Persistence)

Clustermechanismen - meist Herstellerspezifisch!
03.10.2005
Prof. Dr. Andreas Schmietendorf
16
EJB-Überblick
Container-Konzept III (unterstütze API‘s – Spezifikation 2.1):

J2SE Version 1.3

EJB Version 2.1

JMS API Version 1.x

JNDI Api Version 1.2

JDBC API Version 2.0

JavaMail API ab Version 2.1

Java API for XML Processing (JAXP)
03.10.2005
Prof. Dr. Andreas Schmietendorf
17
EJB-Überblick
EJB - Eigenschaften:


Component Model (Session-, Entity- und Message-Driven Beans)
Component Persistence
-








BMP - bean managed Persistence
CMP - container managed Persistence
Transaction-Management (Java-Transaction-API)
Exceptions (Client und Server)
Security
Naming und Directory Service (JNDI)
Protocoll-Support (RMI, IIOP,...)
CORBA-Support (Mapping and Services)
Attribute-based Programming (Deployment Descriptor File)
Deployment (EJB JAR-Files)
03.10.2005
Prof. Dr. Andreas Schmietendorf
18
EJB-Überblick
Clients
HTML
JavaApplications
CORBA
HTTP, HTTPS
(HTML/XML)
Web-Server
Web-Container
JSP/Servlets
JNDI, RMI over IIOP
IIOP (CORBAMapping)
EJB
EJB-Container
MOM
JMS Messageorientiend Middleware
JDBC
EJB
Server
Datenbank
COM/Windows
03.10.2005
DCOM/CORBA
ActiveX-Bridge
Low-LevelServices
Prof. Dr. Andreas Schmietendorf
19
EJB-Überblick
Rollenverteilung mit EJB‘s:
Das EJB-Modell unterstützt eine arbeitsteilige Fertigung, Verarbei-tung,
Auslieferung und Administration beanbasierter Applikationen:

EJB-Provider - Lieferant der Java-Kompoenten

Application Assembler - Anwendungsentwickler (komplexere EJB‘s)

EJB-Deployer - Installation und Konfiguration der Umgebung

System-Administrator - Administration Server- und Netzinfrastruktur

EJB-Server-Provider - Anbieter von Applikation-Server

EJB-Container-Provider - Laufzeitumgebung für EJB‘s (derzeit fast immer
im Zusammenhang mit dem Applikation-Server)
03.10.2005
Prof. Dr. Andreas Schmietendorf
20
EJB-Überblick
EJB - Spezifikation 1.0:
 Bean-Typen: Session Beans, Entity Beans (optional)
 Aufruf von Funktionen: synchron
 Deployment-Deskriptor: serialisierte Klasse
 Kommunikationsprotokoll: Java-RMI
 Benötigtes JDK: Version 1.1
03.10.2005
Prof. Dr. Andreas Schmietendorf
21
EJB-Überblick
EJB - Spezifikation 1.1:
 Bean-Typen: Session Beans, Entity Beans
 Aufruf von Funktionen: synchron
 Deployment-Deskriptor: XML-konforme Datei
 Kommunikationsprotokoll: Java-RMI over IIOP und CORBA/IIOP
(optional)
 Benötigtes JDK: Version 1.2
03.10.2005
Prof. Dr. Andreas Schmietendorf
22
EJB-Überblick
EJB - Spezifikation 2.0:
 Bean-Typen: SB, EB, Message-Driven Beans
 Aufruf von Funktionen: synchron und asynchron
 Deployment-Deskriptor: XML-konforme Datei
 lokale Ausprägungen des Home/Remote-Interface
 Kommunikationsprotokoll: Java-RMI/IIOP & CORBA/IIOP
 Datenbank-Mapping EJB QL (Persistenz-Managers)
 Relationen zwischen EJB‘s
 Benötigtes JDK: Version 1.3.x
03.10.2005
Prof. Dr. Andreas Schmietendorf
23
EJB-Überblick
EJB - Spezifikation 2.1:
 erste Entwurfsversion war am 19. Juni 2002 verfügbar
 Primäre Erweiterung - Web Service Unterstützung
- Web Services APIs (JAX-RPC and JAXM)
- Stateless Session Beans und Message Driven Beans als Web Service
 Erweiterungen der EJB-QL
 MDB-Erweiterung um JMS (weite MOM-Unterstützung)
 Steuerung des Nachrichtenaustausch zwischen EJB‘s
 Time/Event-Service
03.10.2005
Prof. Dr. Andreas Schmietendorf
24
EJB-Überblick
EJB - Spezifikation 3.0 – auffallende Änderungen:
 Verwendung von Java-Annotationen
- Reduktion der benötigten Klassen und Interfaces
- Vermeidung redundanter Konfigurationen
- Beziehungen zur Umgebung bzw. JNDI festlegen
 Veränderung des Deployment-Vorganges
- Deployment-Discriptoren sind optional
- Vordefinierte Wertbelegungen für Konfigurationsparameter
- Konfiguration ggf. vorhandener Ausnahmen
 Beibehaltung der 3 EJB-Typen
- Home-Interface entfällt bei den Session Beans
- EntityBeans sind einfache Java-Klassen (POJO)
- JPA – Java Persistence Architecture
03.10.2005
Prof. Dr. Andreas Schmietendorf
25
EJB-Überblick
Bestandteile einer EJB (Fokus EJB Version 2.1):


Component Interface – nach außen sichtbare Funktionalität
-
Local Interface
-
Remote Interface (via RMI Mechanismus)
Home Interface – Steuerung des Lebenszyklus
-
Local Home Interface
-
Remote Home Interface (via RMI Mechanismus)

Bean-Klasse – fachliche Funktionalität (Interface-Implementierung)

Bean-Kontext – Identität der EJB (vgl. Primärschlüssel)

Deployment Descriptor
03.10.2005
Prof. Dr. Andreas Schmietendorf
26
EJB-Überblick
E nt e rp ri s e J a v a B e a n
S essi on Bea n
z u s ta n d s l o s
03.10.2005
M e s s a g e D ri v e n
Be an
E n tity B e a n
z u stan d sBM P
b e h a f te t
Prof. Dr. Andreas Schmietendorf
CMP
27
EJB-Überblick
EJB-Typen (Session-Beans):


Stateless Session-Beans (javax.ejb.SessionBean)
-
genau dem Client zugeordnet von dem dieses instanziert wurde
-
nach „Herunterfahren“ des Server nicht mehr vorhanden
-
ist keine Referenz mehr vorhanden erfolgt eine Löschen
Stateful Session-Beans
-
Verwaltung von Zuständen durch Handle-Mechanismus
-
Speicherung der Zustände möglich, z.B. bei TA-Sicherung notwendig
03.10.2005
Prof. Dr. Andreas Schmietendorf
28
EJB-Überblick
EJB-Typen (Entity-Beans):

Entity-Beans (javax.ejb.EntityBean)
-
Repräsentiert ein Geschäftsobjekt
-
Persistenzeigenschaften (zumeist Abbildung auf RDBMS)
-
Eindeutige Identifizierung über Primärschlüssel ist zwingend
-
Wiederherstellung der Bean zu einem späteren Zeitpunkt
-
Persistenzmechanismen des Containers - CMP
-
Persistenzmechanismen vom Bean verwaltet - BMP
03.10.2005
Prof. Dr. Andreas Schmietendorf
29
EJB-Überblick
EJB-Typen (Message-Driven-Beans):


Message Driven beans (javax.ejb.MessageDrivenBean)
-
asynchrone Nachrichtenbehandlung (messaging)
-
Interface javax.ejb.MessageDrivenBean wird ebenfalls implementiert
-
Lebenszyklusverwaltung (create, remove, context)
-
onMessage (Verarbeitung eingehender Nachrichten)
Java Message Service (JMS)
-
API zur Kodierung der zu sendenden/empfangenden Nachrichten
-
Service Provider Interface (JMS-Treiber für spezifische MOM-Impl.)
-
zwei Kommunikationsmodelle (Pub/Sub und PTP)
03.10.2005
Prof. Dr. Andreas Schmietendorf
30
Aufbau/Struktur von EJB-Komponenten
03.10.2005
Prof. Dr. Andreas Schmietendorf
31
EJB-Struktur
Interner Aufbau einer EJB-Komponente:
Besteht aus mindestens 3 Java-Klassen und dem Deployment-Deskriptor

Remote-Interface (bzw. die lokale Ausprägung ab der EJB-Version 2.0)
-

Home-Interface (bzw. die lokale Ausprägung ab der EJB-Version 2.0)
-

Realisierung das Erzeugen, Auffinden und Löschen des Beans
Bean-Implementierung
-

Nutzung der EJB-Funktionalität über dieses Interface
Implementiert die im Remote-Interface spezifizierten Methoden
XML - Deployment-Deskriptor (kurz DD)
-
Informationen und Anpassungen zum betrachteten Bean
Bem.: Message Driven Beans besitzen weder Home- noch RemoteInterface (sind Message Listener - vgl. zustandslose Session Beans)
03.10.2005
Prof. Dr. Andreas Schmietendorf
32
EJB-Struktur
Erstellung
des JavaQuellcodes
RemoteInterface
*.Java
Übersetzen in
Java-Bytecode
z.B. javac *.java
Interner Aufbau
des EJB innerhalb
einer *.jar-Datei
RemoteInterface
*.class
Deployment
Descriptor
EJB-jar.XML
Installation (Deployment)
im EJB-Container *.ear
Konfiguration von:
Ÿ
Security
Ÿ
Persistenz
Ÿ
Ressourcenzugriff
Ÿ
Transaktionssicherung
Session Beans
SB
Home-Interface
*.java
EJB-Container
EJB-Container
Web-Container
Web-Container
(JSP,
Serlets,...)
(JSP, Serlets,...)
Home-Interface
*.class
Manifest-Datei
*.mf
EJBImplementierung
*.java
Anwendung im
Applikation-Server
installieren
EJBImplementierung
*.class
Business Logic
Entity-Beans
EB
Message-Driven
Bean MDB
IV- und BuisinessKomponente
Laufzeitumgebung
Unterstützung durch Wizards, wie z.B. Referenzimplementierung SUN J2EE
(Erzeugen der EJB-JAR-Dateien, Spezifikation des Deployment Descriptors, Verifikation des EJB)
03.10.2005
Prof. Dr. Andreas Schmietendorf
33
EJB-Struktur
Beispiel eines Home-Interfaces:
package example1;
import java.rmi.*;
import javax.ejb.*;
public interface EuroCalcHome extends EJBHome {
public EuroCalcRemote create()
throws CreateException, RemoteException;
}
03.10.2005
Prof. Dr. Andreas Schmietendorf
34
EJB-Struktur
Beispiel eines Remote-Interfaces:
package example1;
import java.rmi.*;
import java.lang.*;
import javax.ejb.*;
public interface EuroCalcRemote
extends javax.ejb.EJBObject {
// Umrechnung Euro-Betrag in DM
public double euro_to_dm(double amount)
throws RemoteException;
// Umrechnung DM-Betrag in Euro
public double dm_to_euro(double amount)
throws RemoteException;
}
03.10.2005
Prof. Dr. Andreas Schmietendorf
35
EJB-Struktur
Beispiel der EJB-Implementierung I:
import package example1;
import java.rmi.*;
import javax.ejb.*;
import javax.naming.*;
public class EuroCalc implements SessionBean {
private SessionContext sessionContext;
//Umrechnungskurs der DM zu einem Euro
double changerate = 1.95583;
03.10.2005
Prof. Dr. Andreas Schmietendorf
36
EJB-Struktur
Beispiel der EJB-Implementierung II:
//Berechnung des Währungsbetrages in DM
public double euro_to_dm(double amount)
throws ArithmeticException {
double dm = 0;
dm = amount*changerate;
System.out.println(dm);
return dm;
}
//Berechnung des Währungsbetrages in Euro
public double dm_to_euro(double amount)
throws ArithmeticException {
double euro = 0;
euro = amount/changerate;
System.out.println(euro);
return euro;
}
03.10.2005
Prof. Dr. Andreas Schmietendorf
37
EJB-Struktur
Beispiel der EJB-Implementierung III:
//Methoden zur Steuerung des Lebenzyklus des EJB
public void ejbCreate(){}
public void ejbRemove(){}
public void ejbActivate(){}
public void ejbPassivate(){}
//Ermöglicht den Zugriff auf den Kontext des EJB
public void setSessionContext
(SessionContext context){
sessionContext = context;
}
}
03.10.2005
Prof. Dr. Andreas Schmietendorf
38
EJB-Struktur
Aufgaben des Deployment-Deskriptor:
Auf der Basis des Deployment-Deskriptor soll eine Anpassung
entsprechender Attribute der EJB‘s ermöglicht und ein „Blackbox-Reuse
unterstützt werden. Der Deployment-Deskriptor kann als Beipackzettel für
ein EJB, oder einer aus mehreren EJB‘s zusammengesetzten Applikation
betrachtet werden.
03.10.2005
Prof. Dr. Andreas Schmietendorf
39
EJB-Struktur
Aufgaben des Deployment-Deskriptor kurz DD II:
Im DD konfigurierbare Eigenschaften (Attribute):
-
Sicherheitsattribute
-
Transaktionsattribute
-
Umgebungsvariablen
-
Verknüpfungen mit anderen Komponenten
-
Verknüpfungen zu Datenquellen
Struktur eines EJB-DD
-
Struktur-Sektion (Basis- und Umgebungsinformationen)
-
Assemblierungs-Sektion (Zugriffsrechte, Transaktionsattribute,...)
03.10.2005
Prof. Dr. Andreas Schmietendorf
40
EJB-Struktur
Beispiel eines XML-Deployment-Descriptor:
<?xml version="1.0"?>
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN'
'http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd'>
<ejb-jar>
<description>no description</description>
<display-name>Ejb1</display-name>
<enterprise-beans>
<session>
<display-name>Euro Calculator</display-name>
<ejb-name>EuroCalc</ejb-name>
<home>example1.EuroCalcHome</home>
<remote>example1.EuroCalcRemote</remote>
<ejb-class>example1.EuroCalc</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
</ejb-jar>
03.10.2005
Prof. Dr. Andreas Schmietendorf
41
EJB-Struktur
Interaktionsreihenfolge Client/Server I:
1 : F in d e n e in e r
Client C ode
(native Java-Code)
B e a n - R e fe r e n z
E J B C o n t a in e r/ S e r ve r
Ho m eI n t e r fa c e
3 : R ü c k g a b e e in e r E J B O b je c t-R e fe re n z
H om e O bj e c t
2 : E J B -O b je c t
In s ta n z e rz e u ge n
4 : A u fr u f e in e r M e th o d e
5 : D e le g a tio n d e s
d e s E J B - O b je c t
M e th o d e n a u fr u fs
R em ote-
En te r pr is e B e a n
E J B O bj e c t
I n t e r fa c e
6 : Rü c kg a b e
7 : R ü ck g a b e
03.10.2005
Prof. Dr. Andreas Schmietendorf
42
EJB-Struktur
Interaktionsreihenfolge Client/Server II:

Schritt 1 - Finden der Referenz zum Home Object der benötigten Bean

Schritt 2 - EJB-Object Instanz erzeugen

Schritt 3 - Rückgabe einer EJB-Object-Referenz

Schritt 4 - Aufruf einer im EJB-Objekt deklarieren Methode

Schritt 5 - Delegation des Methodenaufrufs

Schritt 6/7 - Übergabe der Ergebnisse der Methodenausführung
03.10.2005
Prof. Dr. Andreas Schmietendorf
43
EJB-Struktur
Implementierung der Client-Anwendung 1:
public class EuroCalcClient {
Object object = null;
EuroCalcHome home = null;
EuroCalcRemote remote = null;
public EuroCalcClient() {
}
…
03.10.2005
Prof. Dr. Andreas Schmietendorf
44
EJB-Struktur
Implementierung der Client-Anwendung 2:
public void getBean() {
try {
InitialContext ctx = new InitialContext();
//JNDI, nachsehen ob die Bean existiert
object = ctx.lookup("EuroCalc");
System.out.println("object = ctx.lookup,
wurde ausgefuehrt! \n");
home = (EuroCalcHome)PortableRemoteObject.narrow
(object, EuroCalcHome.class);
System.out.println("Zuweisung nach home, erledigt! \n");
03.10.2005
Prof. Dr. Andreas Schmietendorf
45
EJB-Struktur
Implementierung der Client-Anwendung 3:
remote = home.create();
System.out.println("Bean Reference:
"+ remote +"\n");
}
catch(Exception ex){
System.out.println("Fehler in getBean()! \n");
ex.printStackTrace();
}
}
03.10.2005
Prof. Dr. Andreas Schmietendorf
46
EJB-Struktur
Implementierung der Client-Anwendung 4:
public void umrechnung(){
try{
remote.dm_to_euro(50000);
System.out.println("50000 DM sind " +
remote.dm_to_euro(50000));
remote.euro_to_dm(50000);
System.out.println("50000 DM sind " +
remote.euro_to_dm(50000));
}catch (Exception exc){
exc.printStackTrace();
}
}
03.10.2005
Prof. Dr. Andreas Schmietendorf
47
EJB-Struktur
Implementierung der Client-Anwendung 5:
public static void main(String[] args) {
EuroCalcClient rechnerClient = new EuroCalcClient();
rechnerClient.getBean();
rechnerClient.umrechnung();
}
}
03.10.2005
Prof. Dr. Andreas Schmietendorf
48
Vorbereitung des Deployment-Prozess
03.10.2005
Prof. Dr. Andreas Schmietendorf
49
Vorbereitung des Deployment
J2EE-Referenzumgebung - Übersicht I:
 Aufsetzen J2EE-komponentenbasierter Applikationen
 Erzeugen und Konfigurieren von EJB-Komponenten
 Erzeugen und Konfigurieren von Web-Komponenten
 Hinzufügen und Entfernen von JAR, WAR, EAR, RAR
 Auslösen der Installation (deployment) im Container
 Analyse der Komponenten auf J2EE-Konformität
 Installation entsprechender Client-Applikationen.
03.10.2005
Prof. Dr. Andreas Schmietendorf
50
Vorbereitung des Deployment
J2EE-Referenzumgebung - Übersicht II:
 Administrations Tool (Kommandozeile – neu mit Web-GUI)
 Application Deployment Tool (Kommandozeile oder GUI)
 Key Tool (Kommandozeile)
 Realm Tool (Kommandozeile)
 Verifier (Kommandozeile oder GUI)
 Cleanup Script (Kommandozeile)
 Packager (Kommandozeile)
03.10.2005
Prof. Dr. Andreas Schmietendorf
51
Vorbereitung des Deployment
J2EE-Referenzumgebung - Packager:
 Enterprise Java Beans (jar-Files)
 Web Application (war-Files)
 Applikation Clients (jar-Files)
 J2EE Applikationen (ear-Files)
 Ressource Adapter (rar-Files)
03.10.2005
Prof. Dr. Andreas Schmietendorf
52
Vorbereitung des Deployment
03.10.2005
Prof. Dr. Andreas Schmietendorf
53
Vorbereitung des Deployment
EJB-Wizard - Funktionsumfang:
 Enterprise Festlegung des Namens der Java-Archive und darin
enthaltener Klassen und Interfaces
 Definition des konkreten EJB-Typs (SB, EB, MDB)
 Festlegung potentieller Referenzen der EJB-Komponente
 Persistenz-, Security- und Transaktionseigenschaften
 Festlegung von Umgebungsvariablen des EJB’s
03.10.2005
Prof. Dr. Andreas Schmietendorf
54
Vorbereitung des Deployment
Erzeugen eines JAR-Files innerhalb der Applikation:
03.10.2005
Prof. Dr. Andreas Schmietendorf
55
Vorbereitung des Deployment
Konfiguration des EJB:
03.10.2005
Prof. Dr. Andreas Schmietendorf
56
Vorbereitung des Deployment
Transaktionseigenschaften:
03.10.2005
Prof. Dr. Andreas Schmietendorf
57
Vorbereitung des Deployment
Umgebungsvariablen:
03.10.2005
Prof. Dr. Andreas Schmietendorf
58
Vorbereitung des Deployment
EJB-Referenzen:
03.10.2005
Prof. Dr. Andreas Schmietendorf
59
Vorbereitung des Deployment
Datenbank-Referenzen:
03.10.2005
Prof. Dr. Andreas Schmietendorf
60
Vorbereitung des Deployment
JMS-Referenzen:
03.10.2005
Prof. Dr. Andreas Schmietendorf
61
Vorbereitung des Deployment
Security-Konfiguration:
03.10.2005
Prof. Dr. Andreas Schmietendorf
62
Vorbereitung des Deployment
Der generierte Deployment Desciptor:
03.10.2005
Prof. Dr. Andreas Schmietendorf
63
Der eigentliche Deployment-Prozess
03.10.2005
Prof. Dr. Andreas Schmietendorf
64
Deployment/Installation
Deployment-Start:
03.10.2005
Prof. Dr. Andreas Schmietendorf
65
Deployment/Installation
Festlegung JNDI-Namen und Referenzen:
03.10.2005
Prof. Dr. Andreas Schmietendorf
66
Deployment/Installation
Bereitschaft zum Deployment-Vorgang:
03.10.2005
Prof. Dr. Andreas Schmietendorf
67
Deployment/Installation
Festlegung JNDI-Namen und Referenzen:
03.10.2005
Prof. Dr. Andreas Schmietendorf
68
Deployment/Installation
03.10.2005
Prof. Dr. Andreas Schmietendorf
69
Installation der
J2EE-Referenzumgebung
03.10.2005
Prof. Dr. Andreas Schmietendorf
70
J2EE Referenzumgebung installieren
 Inhalte
- SUN Application Server
- PointBase-Datenbank
- J2EE Bibliotheken
 Bestandteile
- Web-Container
- EJB-Container
 Anforderungen
- 250 MByte HD Speicher
- 500 MByte Arbeitsspeicher
- Netzwerksintegration
- Windows 2000/XP o. UNIX
03.10.2005
Prof. Dr. Andreas Schmietendorf
71
J2EE Referenzumgebung installieren
03.10.2005
Prof. Dr. Andreas Schmietendorf
72
Lizenzvereinbarung J2EE
03.10.2005
Prof. Dr. Andreas Schmietendorf
73
J2EE Referenzumgebung installieren
03.10.2005
Prof. Dr. Andreas Schmietendorf
74
J2EE Referenzumgebung installieren
03.10.2005
Prof. Dr. Andreas Schmietendorf
75
J2EE Referenzumgebung installieren
03.10.2005
Prof. Dr. Andreas Schmietendorf
76
J2EE Referenzumgebung installieren
03.10.2005
Prof. Dr. Andreas Schmietendorf
77
J2EE Referenzumgebung installieren
03.10.2005
Prof. Dr. Andreas Schmietendorf
78
J2EE Referenzumgebung installieren
03.10.2005
Prof. Dr. Andreas Schmietendorf
79
Sun Java™ System Application Server
Platform Edition 8
03.10.2005
Prof. Dr. Andreas Schmietendorf
80
Informationen zum
Application Server
03.10.2005
Prof. Dr. Andreas Schmietendorf
81
Verwendbare Tools
03.10.2005
Prof. Dr. Andreas Schmietendorf
82
Verwendbare Tools
 Starten und Stoppen
- Default Server (Standard)
- Samples Server (Beispiele)
- PointBase (Datenbank)
 Deploytool
- Komponenten erzeugen
- Komponenten installieren
- Komponenten verifizieren
 Weitere Tools
- Admin Console (2 mal)
- Online Dokumentation
- Deinstalltion J2EE
03.10.2005
Prof. Dr. Andreas Schmietendorf
83
Start des Application Server
03.10.2005
Prof. Dr. Andreas Schmietendorf
84
Test des Application Servers
03.10.2005
Prof. Dr. Andreas Schmietendorf
85
Das Deployment-Tool
Session Bean
 Stateless Session Bean
 Bean-Klasse
 Name des EJB
 Beschreibung
 Ggf. verwendetes Icon
 JMS-Nutzung
03.10.2005
Prof. Dr. Andreas Schmietendorf
86
Das Deployment-Tool
Entity Bean
 Bean-Klasse
 Name der PK-Klassen
 Remote Interface
 Security-Einstellungen
 Resource-Reference JDBC
 TA-Einstellungen hier CMP
03.10.2005
Prof. Dr. Andreas Schmietendorf
87
Das Deployment-Tool
Message Driven Bean
 Bean-Klasse
 Name des EJB
 Keine Interface!
 Beschreibung
 Ggf. verwendetes Icon
 JMS-Nutzung
03.10.2005
Prof. Dr. Andreas Schmietendorf
88
Administration des
Application Servers
03.10.2005
Prof. Dr. Andreas Schmietendorf
89
Administration des
Application Servers
03.10.2005
Prof. Dr. Andreas Schmietendorf
90
Herunterladen