EJB-Applikationsserver
Seminarvortrag
Roger Zacharias
Agenda
1.
2.
3.
4.
5.
6.
Motivation
Was ist Middleware?
EJB-Applikationsserver
Markt
Zusammenfassung
Ausblick und Vision
Agenda
1.
2.
3.
4.
5.
6.
Motivation
Was ist Middleware?
EJB-Applikationsserver
Markt
Zusammenfassung
Ausblick und Vision
Motivation
Enormes Interesse der Wirtschaft
Architektur-Revolution
Nachfolger der Client-ServerArchitektur
Middleware Kenntnisse unbedingt
erforderlich
Agenda
1.
2.
3.
4.
5.
6.
Motivation
Was ist Middleware?
EJB-Applikationsserver
Markt
Zusammenfassung
Ausblick und Vision
MVC-Architektur
Client
View
Server
Controller
(Middleware)
Datenbank
Model
„3-Tier-Application“
Model = Datenbasis
View = Präsentationsschicht
Controller = Anwendungslogik
RMI/CORBA vs. Middleware
MIDDLEWARE
RMI/CORBA
TPM (Transaktionsmonitor)
Ausfallsicherheit und hohe
Performance bei Tausenden
gleichzeitiger Zugriffe
Bsp.: Flugbuchungssysteme
schwer zu installieren, konfigurieren
sehr teuer
kein verteiltes Objektmodell
OTM (Objekt TPM)
Kombination von TPM und verteiltem
Objektmodell
Architekturen:
•Nachfolger der prozeduralen TPMs
•Implementierungen auf Basis von Microsofts
COM/DCOM Modell
•Implementierungen auf Basis von CORBA
•Implementierungen auf Basis von EJB
Applikationsserver
Erlaubt die Ausführung von Komponenten
in einer verwaltbaren Umgebung
Laufzeitdienste gehen weit über die eines
OTMs hinaus:
–
–
–
–
–
–
Persistenz
Sicherheitsdienste
Load Balancing
Connection Pooling
Caching
...
Applikationsserver
Probleme:
– herstellerabhängige APIs
– betriebssystemabhängig
– schwer zu programmieren
Enstehungsgeschichte
?
AS
OTM
TPM
Agenda
1.
2.
3.
4.
5.
6.
Motivation
Was ist Middleware?
EJB-Applikationsserver
Markt
Zusammenfassung
Ausblick und Vision
EJB und J2EE
EJB ist ein Industriestandart, der von
Sun im März 98 verabschiedet wurde
EJB ist Hauptbestandteil von J2EE
(Java 2 Enterprise Edition)
J2EE ist eine Sammlung von APIs
(EJB, JDBC, JSP, Servlet, ...) und
Plattform
J2EE
Java Server Pages
Enterprise Java Beans
Java Servlets
Java Beans
Java Applets
JAVA
J2EE Spec
´96
´97
´98
´99
´00
Jahr
Vorteile
Industriestandart
Plattformunabhängigkeit
Herstellerunabhängigkeit
Weitere Vorteile durch Architektur
.
Architektur
Quelle: www.javaworld.com (10.08.2000)
Container-Konzept
Client 1
Container
ServerKomponente
Client n
Datenbank
Basisdienste
(Transaktion, Sicherheit, Persistenz, ...)
Container stellen Laufzeitumgebung und
Dienste für Komponenten bereit
Komponenten bleiben einfach
Was gibt es für Komponenten?
Komponenten:
– Enterprise Java Beans
– Web Komponenten (HTML-Seiten, Servlets
und Java Server Pages)
– Standalone Client Applikationen
– Applets
Aufbau:
– Komponente
– Container
– J2EE-Applikationsserver
Vorteile für den Entwickler
Um Daten in die Datenbank zu
speichern ist keine einzige Zeile
SQL-Code notwendig!
Alle Sicherheitsaspekte behandelt
der Container!
Keine Probleme mehr mit
Nebenläufigkeitskontrolle und
Thread-Management!
.
.
Beispiel für eine EJB
public class ShoppingCartEJB implements SessionBean {
// Produkte
private Vector products;
// “Konstruktor”
public void ejbCreate() {
products = new Vector();
}
// Produkt in Warenkorb legen
public void addProduct(Product p) {
products.addElement(p);
}
// Produkt aus Warenkorb entfernen
public void removeProduct(Product p) {
products.removeElement(p);
}
// Referenz auf Produkte
public Vector getAllProducts() {
return this.products;
}
}
Organisatorische Rollen
Organisatorisches Modell für die
Abwicklung von EJB-Projekten
Sechs Rollen:
1. Server Provider
2. Container Provider
3. Bean Provider
4. Application Assembler
5. Deployer
6. Administrator
Agenda
1.
2.
3.
4.
5.
6.
Motivation
Was ist Middleware?
EJB-Applikationsserver
Markt
Zusammenfassung
Ausblick und Vision
Wie sieht es auf dem Markt aus?
50 EJB-Applikationsserver
30 J2EE-Applikationsserver
5 Stück werden sich durchsetzen
Anwärter:
–IBM WebSphere
–Oracle iAS
–Sun iPlanet
–BEA Weblogic AS
–Inprise AS
–Open Source AS (Enhydra Enterprise, JBOSS, Jonas)
Auswahlkriterien
.
Größe und finanzielle Situation des
Herstellers
Marktakzeptanz des Produktes
Unterstützung durch Hersteller
J2EE Standart-Konformität
Entwicklungs- und Administrationstools
Preis
Technische Aspekte
Probleme
Entwicklungs-, Konfigurations- und
Administrationswerkzeuge nicht
ausgereift, unvollständig, schlecht
dokumentiert
DBVS Unterstützung der Container
einseitg
Agenda
1.
2.
3.
4.
5.
6.
Motivation
Was ist Middleware?
EJB-Applikationsserver
Markt
Zusammenfassung
Ausblick und Vision
Zusammenfassung
J2EE (Java 2 Enterprise Edition): Plattform
und Sammlung von APIs für verteilte,
mehrschichtige Anwendungen
EJB (Enterprise Java Beans):
Industriestandart und Hauptbestandteil
von J2EE zur Erstellung serverseitiger
Komponenten
Vorteile
Einfach
Plattformunabhängig
Herstellerunabhängig
Keine Programmierung von LowLevel-Dienste mehr nötig!
Konzentration auf Geschäftslogik
Agenda
1.
2.
3.
4.
5.
6.
Motivation
Was ist Middleware?
EJB-Applikationsserver
Markt
Zusammenfassung
Ausblick und Vision
Ausblick und Vision
J2EE als Standard für verteilte Systeme
und Internet-Applikationen
80% der neuen Projekte in Java
40% der E-Commerce-Firmen planen
Einsatz eines EJB-Applikationsservers
Neuer Markt
=> EJB Komponentenmarkt
Neue Art zu programmieren
=> Geschäftslogik zusammenklicken
http://java.sun.com/j2ee