320 likes | 418 Views
EJB-Applikationsserver. Seminarvortrag Roger Zacharias. Agenda . 1. Motivation 2. Was ist Middleware? 3. EJB-Applikationsserver 4. Markt 5. Zusammenfassung 6. Ausblick und Vision. Agenda . 1. Motivation 2. Was ist Middleware? 3. EJB-Applikationsserver 4. Markt 5. Zusammenfassung
E N D
EJB-Applikationsserver Seminarvortrag Roger Zacharias
Agenda 1. Motivation 2. Was ist Middleware? 3. EJB-Applikationsserver 4. Markt 5. Zusammenfassung 6. Ausblick und Vision
Agenda 1. Motivation 2. Was ist Middleware? 3. EJB-Applikationsserver 4. Markt 5. Zusammenfassung 6. Ausblick und Vision
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
Server (Middleware) Client Datenbank MVC-Architektur • Model = Datenbasis • View = Präsentationsschicht • Controller = Anwendungslogik View Controller Model „3-Tier-Application“
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. Motivation 2. Was ist Middleware? 3. EJB-Applikationsserver 4. Markt 5. Zusammenfassung 6. 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 J2EE Spec Java Server Pages Enterprise Java Beans Java Servlets Java Beans 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)
Datenbank Container-Konzept • Container stellen Laufzeitumgebung und Dienste für Komponenten bereit • Komponenten bleiben einfach Client 1 Container Server- Komponente Client n Basisdienste (Transaktion, Sicherheit, Persistenz, ...)
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. Motivation 2. Was ist Middleware? 3. EJB-Applikationsserver 4. Markt 5. Zusammenfassung 6. 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. Motivation 2. Was ist Middleware? 3. EJB-Applikationsserver 4. Markt 5. Zusammenfassung 6. 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 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
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