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