EJB-Applikationsserver Seminarvortrag Roger Zacharias
Agenda 1. Motivation 2. Was ist Middleware? 3. EJB-Applikationsserver 4. Markt 5. Zusammenfassung 6. Ausblick und Vision Tell them what you want to tell them Tell them 3)Tell them what you´ve told them
Agenda 1. Motivation 2. Was ist Middleware? 3. EJB-Applikationsserver 4. Markt 5. Zusammenfassung 6. Ausblick und Vision Tell them what you want to tell them Tell them 3)Tell them what you´ve told them
Motivation Enormes Interesse der Wirtschaft Architektur-Revolution Nachfolger der Client-Server-Architektur Middleware Kenntnisse unbedingt erforderlich
Agenda 1. Motivation 2. Was ist Middleware? 3. EJB-Applikationsserver 4. Markt 5. Zusammenfassung 6. Ausblick und Vision Tell them what you want to tell them Tell them 3)Tell them what you´ve told them
MVC-Architektur View Controller Model Model = Datenbasis Server (Middleware) Datenbank Client „3-Tier-Application“ Model = Datenbasis View = Präsentationsschicht Controller = Anwendungslogik
RMI/CORBA vs. Middleware
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. Motivation 2. Was ist Middleware? 3. EJB-Applikationsserver 4. Markt 5. Zusammenfassung 6. Ausblick und Vision Tell them what you want to tell them Tell them 3)Tell them what you´ve told them
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 J2EE Spec Java Server Pages Enterprise Java Beans Java Servlets Java Applets JAVA ´96 ´97 ´98 ´99 ´00 Jahr
Vorteile Industriestandart Plattformunabhängigkeit Herstellerunabhängigkeit Weitere Vorteile durch Architektur .
Architektur Quelle: www.javaworld.com (10.08.2000)
(Transaktion, Sicherheit, Persistenz, ...) Container-Konzept Client 1 Container Datenbank Server- Komponente Client n Basisdienste (Transaktion, Sicherheit, Persistenz, ...) Container stellen Laufzeitumgebung und Dienste für Komponenten bereit Komponenten bleiben einfach
Was gibt es für 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 // Produkte 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. Motivation 2. Was ist Middleware? 3. EJB-Applikationsserver 4. Markt 5. Zusammenfassung 6. Ausblick und Vision Tell them what you want to tell them Tell them 3)Tell them what you´ve told them
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. Motivation 2. Was ist Middleware? 3. EJB-Applikationsserver 4. Markt 5. Zusammenfassung 6. Ausblick und Vision Tell them what you want to tell them Tell them 3)Tell them what you´ve told them
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 Low-Level-Dienste mehr nötig! Konzentration auf Geschäftslogik
Agenda 1. Motivation 2. Was ist Middleware? 3. EJB-Applikationsserver 4. Markt 5. Zusammenfassung 6. Ausblick und Vision Tell them what you want to tell them Tell them 3)Tell them what you´ve told them
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