Upload
franka-feld
View
222
Download
0
Embed Size (px)
Citation preview
Prof. Dr. Andreas Schmietendorf03.10.2005 1
Programmierung von Client/Server-Anwendungen
J2EE bzw. Java EE Back End Applikationen (EJB-Container)
Prof. Dr. Andreas Schmietendorf03.10.2005 2
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
Übersicht
Prof. Dr. Andreas Schmietendorf03.10.2005 3
Java Naming and Directory Interface - JNDI
Prof. Dr. Andreas Schmietendorf03.10.2005 4
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)
JNDI
Prof. Dr. Andreas Schmietendorf03.10.2005 5
JNDI
Anwendung
JNDI
Naming Manager
SPI
RMI CORBA LDAP
Quelle: Stark, T.: J2EE – Einstieg für Anspruchsvolle,Addison-Wesley, Pearson Studium, München 2005
Prof. Dr. Andreas Schmietendorf03.10.2005 6
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
JNDI
Prof. Dr. Andreas Schmietendorf03.10.2005 7
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
JNDI
Quelle: Stark, T.: J2EE – Einstieg für Anspruchsvolle,Addison-Wesley, Pearson Studium, München 2005
Prof. Dr. Andreas Schmietendorf03.10.2005 8
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)
JNDI
Prof. Dr. Andreas Schmietendorf03.10.2005 9
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)
JNDI
Quelle: Stark, T.: J2EE – Einstieg für Anspruchsvolle,Addison-Wesley, Pearson Studium, München 2005
Prof. Dr. Andreas Schmietendorf03.10.2005 10
Konfiguration des InitialContext (hier Zugriff auf LDAP):try {
// Umgebung erzeugenHashtable env = new java.util.Hashtable();// Dienst spezifizierenenv.put(Context.INITIAL_CONTEXT_FACTORY,„com.sun.jndi.ldap.LdapCtxFactory“);// Provider URL spezifizierenenv.put(Context.PROVIDER_URL,„ldap://localhost:389“);Context initCtx = new InitialContext(env);
}catch(NamingException ne){ne.printStackTrace();
}
JNDI
Quelle: Stark, T.: J2EE – Einstieg für Anspruchsvolle,Addison-Wesley, Pearson Studium, München 2005
Prof. Dr. Andreas Schmietendorf03.10.2005 11
Enterprise Java Beans im Überblick
Prof. Dr. Andreas Schmietendorf03.10.2005 12
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.
EJB-Überblick
Prof. Dr. Andreas Schmietendorf03.10.2005 13
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
EJB-Überblick
Prof. Dr. Andreas Schmietendorf03.10.2005 14
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
EJB-Überblick
Prof. Dr. Andreas Schmietendorf03.10.2005 15
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
EJB-Überblick
Prof. Dr. Andreas Schmietendorf03.10.2005 16
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!
EJB-Überblick
Prof. Dr. Andreas Schmietendorf03.10.2005 17
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)
EJB-Überblick
Prof. Dr. Andreas Schmietendorf03.10.2005 18
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)
EJB-Überblick
Prof. Dr. Andreas Schmietendorf03.10.2005 19
HTML
Java-Applications
Web-ServerWeb-ContainerJSP/Servlets
Datenbank
JDBC
HTTP, HTTPS (HTML/XML)
JNDI, RMI over IIOP
IIOP (CORBA-Mapping)
DCOM/CORBA ActiveX-Bridge
Clients
CORBA
MOM
COM/Windows
EJB
EJB-Container
EJBServer
JMS Message-orientiend Middleware
Low-Level-Services
EJB-Überblick
Prof. Dr. Andreas Schmietendorf03.10.2005 20
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)
EJB-Überblick
Prof. Dr. Andreas Schmietendorf03.10.2005 21
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
EJB-Überblick
Prof. Dr. Andreas Schmietendorf03.10.2005 22
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
EJB-Überblick
Prof. Dr. Andreas Schmietendorf03.10.2005 23
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
EJB-Überblick
Prof. Dr. Andreas Schmietendorf03.10.2005 24
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
EJB-Überblick
Prof. Dr. Andreas Schmietendorf03.10.2005 25
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
EJB-Überblick
Prof. Dr. Andreas Schmietendorf03.10.2005 26
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
EJB-Überblick
Prof. Dr. Andreas Schmietendorf03.10.2005 27
EJB-Überblick
Message DrivenBeanSession Bean Entity Bean
Enterprise Java Bean
zustandslos zustands-behaftet BMP CMP
Prof. Dr. Andreas Schmietendorf03.10.2005 28
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
EJB-Überblick
Prof. Dr. Andreas Schmietendorf03.10.2005 29
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
EJB-Überblick
Prof. Dr. Andreas Schmietendorf03.10.2005 30
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)
EJB-Überblick
Prof. Dr. Andreas Schmietendorf03.10.2005 31
Aufbau/Struktur von EJB-Komponenten
Prof. Dr. Andreas Schmietendorf03.10.2005 32
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)
- Nutzung der EJB-Funktionalität über dieses Interface Home-Interface (bzw. die lokale Ausprägung ab der EJB-Version 2.0)
- Realisierung das Erzeugen, Auffinden und Löschen des Beans Bean-Implementierung
- 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 Remote-Interface (sind Message Listener - vgl. zustandslose Session Beans)
EJB-Struktur
Prof. Dr. Andreas Schmietendorf03.10.2005 33
Übersetzen inJava-Bytecodez.B. javac *.java
Interner Aufbaudes EJB innerhalb
einer *.jar-Datei
Erstellungdes Java-
Quellcodes
Remote-Interface*.Java
Home-Interface*.java
EJB-Implementierung
*.java
Remote-Interface*.class
Home-Interface*.class
EJB-Implementierung
*.class
DeploymentDescriptor
EJB-jar.XML
Manifest-Datei*.mf
Installation (Deployment)im EJB-Container *.ear
Anwendung imApplikation-Server
installieren
Unterstützung durch Wizards, wie z.B. Referenzimplementierung SUN J2EE(Erzeugen der EJB-JAR-Dateien, Spezifikation des Deployment Descriptors, Verifikation des EJB)
Konfiguration von:Ÿ SecurityŸ PersistenzŸ RessourcenzugriffŸ Transaktions-
sicherung
Session BeansSB
Entity-BeansEB
EJB-ContainerEJB-Container
Web-Container(JSP, Serlets,...)
Web-Container(JSP, Serlets,...)
Business Logic IV- und Buisiness-Komponente Laufzeitumgebung
Message-DrivenBean MDB
EJB-Struktur
Prof. Dr. Andreas Schmietendorf03.10.2005 34
Beispiel eines Home-Interfaces:
package example1;
import java.rmi.*;
import javax.ejb.*;
public interface EuroCalcHome extends EJBHome {
public EuroCalcRemote create()
throws CreateException, RemoteException;
}
EJB-Struktur
Prof. Dr. Andreas Schmietendorf03.10.2005 35
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;}
EJB-Struktur
Prof. Dr. Andreas Schmietendorf03.10.2005 36
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;
EJB-Struktur
Prof. Dr. Andreas Schmietendorf03.10.2005 37
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; }
EJB-Struktur
Prof. Dr. Andreas Schmietendorf03.10.2005 38
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; }
}
EJB-Struktur
Prof. Dr. Andreas Schmietendorf03.10.2005 39
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.
EJB-Struktur
Prof. Dr. Andreas Schmietendorf03.10.2005 40
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,...)
EJB-Struktur
Prof. Dr. Andreas Schmietendorf03.10.2005 41
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>
EJB-Struktur
Prof. Dr. Andreas Schmietendorf03.10.2005 42
EJB Object
EJB Container/Server
Enterprise Bean
Home Object
Clie
nt C
ode
(nat
ive
Java
-Cod
e) Home-Interface
Remote-Interface
1: Finden einerBean-Referenz
3: Rückgabe einer EJB-Object-Referenz 2: EJB-Object
Instanz erzeugen4: Aufruf einer Methode
des EJB-Object
7: Rückgabe
5: Delegation desMethodenaufrufs
6: Rückgabe
Interaktionsreihenfolge Client/Server I:
EJB-Struktur
Prof. Dr. Andreas Schmietendorf03.10.2005 43
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
EJB-Struktur
Prof. Dr. Andreas Schmietendorf03.10.2005 44
Implementierung der Client-Anwendung 1:public class EuroCalcClient {
Object object = null;
EuroCalcHome home = null;
EuroCalcRemote remote = null;
public EuroCalcClient() {
}
…
EJB-Struktur
Prof. Dr. Andreas Schmietendorf03.10.2005 45
Implementierung der Client-Anwendung 2:public void getBean() {
try {InitialContext ctx = new InitialContext();//JNDI, nachsehen ob die Bean existiertobject = 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");
EJB-Struktur
Prof. Dr. Andreas Schmietendorf03.10.2005 46
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();
}
}
EJB-Struktur
Prof. Dr. Andreas Schmietendorf03.10.2005 47
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(); } }
EJB-Struktur
Prof. Dr. Andreas Schmietendorf03.10.2005 48
Implementierung der Client-Anwendung 5:
public static void main(String[] args) {
EuroCalcClient rechnerClient = new EuroCalcClient();
rechnerClient.getBean();
rechnerClient.umrechnung();
}
}
EJB-Struktur
Prof. Dr. Andreas Schmietendorf03.10.2005 49
Vorbereitung des Deployment-Prozess
Prof. Dr. Andreas Schmietendorf03.10.2005 50
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.
Vorbereitung des Deployment
Prof. Dr. Andreas Schmietendorf03.10.2005 51
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)
Vorbereitung des Deployment
Prof. Dr. Andreas Schmietendorf03.10.2005 52
J2EE-Referenzumgebung - Packager:
Enterprise Java Beans (jar-Files)
Web Application (war-Files)
Applikation Clients (jar-Files)
J2EE Applikationen (ear-Files)
Ressource Adapter (rar-Files)
Vorbereitung des Deployment
Prof. Dr. Andreas Schmietendorf03.10.2005 54
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
Vorbereitung des Deployment
Prof. Dr. Andreas Schmietendorf03.10.2005 55
Vorbereitung des Deployment
Erzeugen eines JAR-Files innerhalb der Applikation:
Prof. Dr. Andreas Schmietendorf03.10.2005 56
Vorbereitung des Deployment
Konfiguration des EJB:
Prof. Dr. Andreas Schmietendorf03.10.2005 57
Vorbereitung des Deployment
Transaktionseigenschaften:
Prof. Dr. Andreas Schmietendorf03.10.2005 58
Vorbereitung des Deployment
Umgebungsvariablen:
Prof. Dr. Andreas Schmietendorf03.10.2005 59
Vorbereitung des Deployment
EJB-Referenzen:
Prof. Dr. Andreas Schmietendorf03.10.2005 60
Vorbereitung des Deployment
Datenbank-Referenzen:
Prof. Dr. Andreas Schmietendorf03.10.2005 61
Vorbereitung des Deployment
JMS-Referenzen:
Prof. Dr. Andreas Schmietendorf03.10.2005 62
Vorbereitung des Deployment
Security-Konfiguration:
Prof. Dr. Andreas Schmietendorf03.10.2005 63
Vorbereitung des Deployment
Der generierte Deployment Desciptor:
Prof. Dr. Andreas Schmietendorf03.10.2005 64
Der eigentliche Deployment-Prozess
Prof. Dr. Andreas Schmietendorf03.10.2005 65
Deployment/Installation
Deployment-Start:
Prof. Dr. Andreas Schmietendorf03.10.2005 66
Deployment/Installation
Festlegung JNDI-Namen und Referenzen:
Prof. Dr. Andreas Schmietendorf03.10.2005 67
Deployment/Installation
Bereitschaft zum Deployment-Vorgang:
Prof. Dr. Andreas Schmietendorf03.10.2005 68
Deployment/Installation
Festlegung JNDI-Namen und Referenzen:
Prof. Dr. Andreas Schmietendorf03.10.2005 70
Installation derJ2EE-Referenzumgebung
Prof. Dr. Andreas Schmietendorf03.10.2005 71
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
Prof. Dr. Andreas Schmietendorf03.10.2005 72
J2EE Referenzumgebung installieren
Prof. Dr. Andreas Schmietendorf03.10.2005 74
J2EE Referenzumgebung installieren
Prof. Dr. Andreas Schmietendorf03.10.2005 75
J2EE Referenzumgebung installieren
Prof. Dr. Andreas Schmietendorf03.10.2005 76
J2EE Referenzumgebung installieren
Prof. Dr. Andreas Schmietendorf03.10.2005 77
J2EE Referenzumgebung installieren
Prof. Dr. Andreas Schmietendorf03.10.2005 78
J2EE Referenzumgebung installieren
Prof. Dr. Andreas Schmietendorf03.10.2005 79
J2EE Referenzumgebung installieren
Prof. Dr. Andreas Schmietendorf03.10.2005 80
Sun Java™ System Application Server Platform Edition 8
Prof. Dr. Andreas Schmietendorf03.10.2005 81
Informationen zum Application Server
Prof. Dr. Andreas Schmietendorf03.10.2005 83
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
Prof. Dr. Andreas Schmietendorf03.10.2005 86
Das Deployment-Tool
Session Bean
Stateless Session Bean
Bean-Klasse
Name des EJB
Beschreibung
Ggf. verwendetes Icon
JMS-Nutzung
Prof. Dr. Andreas Schmietendorf03.10.2005 87
Das Deployment-Tool
Entity Bean
Bean-Klasse
Name der PK-Klassen
Remote Interface
Security-Einstellungen
Resource-Reference JDBC
TA-Einstellungen hier CMP
Prof. Dr. Andreas Schmietendorf03.10.2005 88
Das Deployment-Tool
Message Driven Bean
Bean-Klasse
Name des EJB
Keine Interface!
Beschreibung
Ggf. verwendetes Icon
JMS-Nutzung
Prof. Dr. Andreas Schmietendorf03.10.2005 89
Administration des Application Servers
Prof. Dr. Andreas Schmietendorf03.10.2005 90
Administration des Application Servers