EJB-Applikationsserver Seminarvortrag Roger Zacharias.

32
EJB- EJB- Applikationsserver Applikationsserver Seminarvortrag Roger Zacharias

Transcript of EJB-Applikationsserver Seminarvortrag Roger Zacharias.

Page 1: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

EJB-ApplikationsserverEJB-Applikationsserver

Seminarvortrag

Roger Zacharias

Page 2: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

AgendaAgenda

1. Motivation

2. Was ist Middleware?

3. EJB-Applikationsserver

4. Markt

5. Zusammenfassung

6. Ausblick und Vision

Page 3: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

AgendaAgenda

1. Motivation

2. Was ist Middleware?

3. EJB-Applikationsserver

4. Markt

5. Zusammenfassung

6. Ausblick und Vision

Page 4: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

MotivationMotivation

Enormes Interesse der WirtschaftArchitektur-RevolutionNachfolger der Client-Server-

ArchitekturMiddleware Kenntnisse unbedingt

erforderlich

Page 5: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

AgendaAgenda

1. Motivation

2. Was ist Middleware?

3. EJB-Applikationsserver

4. Markt

5. Zusammenfassung

6. Ausblick und Vision

Page 6: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

View Controller Model

MVC-ArchitekturMVC-Architektur

Model = Datenbasis View = Präsentationsschicht Controller = Anwendungslogik

Server(Middleware)

DatenbankClient

„3-Tier-Application“

Page 7: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

RMI/CORBA vs. MiddlewareRMI/CORBA vs. Middleware

RMI/CORBA

MIDDLEWARE

Page 8: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

TPM (Transaktionsmonitor)TPM (Transaktionsmonitor)

Ausfallsicherheit und hohe Performance bei Tausenden gleichzeitiger Zugriffe

Bsp.: Flugbuchungssystemeschwer zu installieren, konfigurierensehr teuer kein verteiltes Objektmodell

Page 9: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

OTM (Objekt TPM)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

Page 10: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

ApplikationsserverApplikationsserver

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– ...

Page 11: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

ApplikationsserverApplikationsserver

Probleme:– herstellerabhängige APIs– betriebssystemabhängig– schwer zu programmieren

Page 12: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

EnstehungsgeschichteEnstehungsgeschichte

TPM

OTM

AS

?

Page 13: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

AgendaAgenda

1. Motivation

2. Was ist Middleware?

3. EJB-Applikationsserver

4. Markt

5. Zusammenfassung

6. Ausblick und Vision

Page 14: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

EJB und J2EEEJB 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

Page 15: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

J2EE Spec

J2EEJ2EE

´96 ´97 ´98 ´99 ´00 Jahr

Java Server PagesEnterprise Java BeansJava ServletsJava BeansJava AppletsJAVA

Page 16: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

VorteileVorteile

IndustriestandartPlattformunabhängigkeitHerstellerunabhängigkeitWeitere Vorteile durch Architektur

.

Page 17: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

ArchitekturArchitektur

Quelle: www.javaworld.com (10.08.2000)

Page 18: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

Container-KonzeptContainer-Konzept

Container stellen Laufzeitumgebung und Dienste für Komponenten bereit

Komponenten bleiben einfach

Client 1

Client n

Container

Server-Komponente

Basisdienste (Transaktion, Sicherheit, Persistenz, ...)

Datenbank

Page 19: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

Was gibt es für Komponenten?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

Page 20: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

Vorteile für den EntwicklerVorteile 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!

.

.

Page 21: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

Beispiel für eine EJBBeispiel für eine EJB

// Produkt in Warenkorb legenpublic void addProduct(Product p) { products.addElement(p);}

// Produkt aus Warenkorb entfernenpublic void removeProduct(Product p) { products.removeElement(p);} // Referenz auf Produktepublic Vector getAllProducts() { return this.products;}

public class ShoppingCartEJB implements SessionBean {

// Produkte private Vector products; 

// “Konstruktor”public void ejbCreate() { products = new Vector();}

}

Page 22: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

Organisatorische RollenOrganisatorische 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

Page 23: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

AgendaAgenda

1. Motivation

2. Was ist Middleware?

3. EJB-Applikationsserver

4. Markt

5. Zusammenfassung

6. Ausblick und Vision

Page 24: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

Wie sieht es auf dem Markt aus?Wie sieht es auf dem Markt aus?

50 EJB-Applikationsserver30 J2EE-Applikationsserver5 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)

Page 25: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

AuswahlkriterienAuswahlkriterien

Größe und finanzielle Situation des Herstellers

Marktakzeptanz des Produktes Unterstützung durch Hersteller J2EE Standart-Konformität Entwicklungs- und Administrationstools Preis Technische Aspekte

.

Page 26: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

ProblemeProbleme

Entwicklungs-, Konfigurations- und Administrationswerkzeuge nicht ausgereift, unvollständig, schlecht dokumentiert

DBVS Unterstützung der Container einseitg

Page 27: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

AgendaAgenda

1. Motivation

2. Was ist Middleware?

3. EJB-Applikationsserver

4. Markt

5. Zusammenfassung

6. Ausblick und Vision

Page 28: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

ZusammenfassungZusammenfassung

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

Page 29: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

VorteileVorteile

EinfachPlattformunabhängigHerstellerunabhängigKeine Programmierung von Low-

Level-Dienste mehr nötig!Konzentration auf Geschäftslogik

Page 30: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

AgendaAgenda

1. Motivation

2. Was ist Middleware?

3. EJB-Applikationsserver

4. Markt

5. Zusammenfassung

6. Ausblick und Vision

Page 31: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

Ausblick und VisionAusblick 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

Page 32: EJB-Applikationsserver Seminarvortrag Roger Zacharias.

http://java.sun.com/j2ee