EJB-Applikationsserver Seminarvortrag Roger Zacharias.

Post on 05-Apr-2015

114 views 1 download

Transcript of EJB-Applikationsserver Seminarvortrag Roger Zacharias.

EJB-ApplikationsserverEJB-Applikationsserver

Seminarvortrag

Roger Zacharias

AgendaAgenda

1. Motivation

2. Was ist Middleware?

3. EJB-Applikationsserver

4. Markt

5. Zusammenfassung

6. Ausblick und Vision

AgendaAgenda

1. Motivation

2. Was ist Middleware?

3. EJB-Applikationsserver

4. Markt

5. Zusammenfassung

6. Ausblick und Vision

MotivationMotivation

Enormes Interesse der WirtschaftArchitektur-RevolutionNachfolger der Client-Server-

ArchitekturMiddleware Kenntnisse unbedingt

erforderlich

AgendaAgenda

1. Motivation

2. Was ist Middleware?

3. EJB-Applikationsserver

4. Markt

5. Zusammenfassung

6. Ausblick und Vision

View Controller Model

MVC-ArchitekturMVC-Architektur

Model = Datenbasis View = Präsentationsschicht Controller = Anwendungslogik

Server(Middleware)

DatenbankClient

„3-Tier-Application“

RMI/CORBA vs. MiddlewareRMI/CORBA vs. Middleware

RMI/CORBA

MIDDLEWARE

TPM (Transaktionsmonitor)TPM (Transaktionsmonitor)

Ausfallsicherheit und hohe Performance bei Tausenden gleichzeitiger Zugriffe

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

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

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

ApplikationsserverApplikationsserver

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

EnstehungsgeschichteEnstehungsgeschichte

TPM

OTM

AS

?

AgendaAgenda

1. Motivation

2. Was ist Middleware?

3. EJB-Applikationsserver

4. Markt

5. Zusammenfassung

6. Ausblick und Vision

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

J2EE Spec

J2EEJ2EE

´96 ´97 ´98 ´99 ´00 Jahr

Java Server PagesEnterprise Java BeansJava ServletsJava BeansJava AppletsJAVA

VorteileVorteile

IndustriestandartPlattformunabhängigkeitHerstellerunabhängigkeitWeitere Vorteile durch Architektur

.

ArchitekturArchitektur

Quelle: www.javaworld.com (10.08.2000)

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

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

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!

.

.

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();}

}

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

AgendaAgenda

1. Motivation

2. Was ist Middleware?

3. EJB-Applikationsserver

4. Markt

5. Zusammenfassung

6. Ausblick und Vision

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)

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

.

ProblemeProbleme

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

DBVS Unterstützung der Container einseitg

AgendaAgenda

1. Motivation

2. Was ist Middleware?

3. EJB-Applikationsserver

4. Markt

5. Zusammenfassung

6. Ausblick und Vision

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

VorteileVorteile

EinfachPlattformunabhängigHerstellerunabhängigKeine Programmierung von Low-

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

AgendaAgenda

1. Motivation

2. Was ist Middleware?

3. EJB-Applikationsserver

4. Markt

5. Zusammenfassung

6. Ausblick und Vision

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

http://java.sun.com/j2ee