J2EE: Einführung und Überblick 25.06.2001 Universität Kaiserslautern Seminar AG Datenbanken und Informationssysteme Datenbank-Aspekte des E-Commerce Java 2, Enterprise Edition Einführung und Überblick Martin Husemann [email protected] Vortragsinhalte • Rahmenbedingungen in der heutigen Marktwirtschaft • Mehrschichtige Systemarchitekturen • Komponenten-Architekturen für die Server-Ebene • Typische Strukturen von J2EE-Systemen • Technologien und APIs 25.06.2001 Seminar DB-Aspekte des E-Commerce J2EE: Einführung und Überblick Martin Husemann I 1 2 3 4 5 Z 2 J2EE: Einführung und Überblick 25.06.2001 Rahmenbedingungen • Information als entscheidender Wettbewerbsfaktor – gleichrangig neben Gütern und Dienstleistungen – „Informationswirtschaft“ • Einsatz moderner Technologien zwingend nötig • Integration unterschiedlicher Systeme • Daten aus heterogenen Quellen 25.06.2001 Seminar DB-Aspekte des E-Commerce J2EE: Einführung und Überblick Martin Husemann I 1 2 3 4 5 Z 3 Herausforderungen an Applikationsentwickler • Kurze Reaktionszeiten – angemessene Reaktion auf neue Trends und Technologien • Produktivität der Programmierung – sinnvolle Kombination von Neuem und Bewährtem • Verfügbarkeit und Zuverlässigkeit – keine Ausfallzeiten; im regulären Betrieb zuverlässiges Verhalten • Sicherheit – Schutz kritischer Daten in allen Nutzungsszenarien • Skalierbarkeit – leichtes Wachsen mit steigenden Anforderungen • Integration – Zusammenarbeit mit bestehenden Systemen 25.06.2001 Seminar DB-Aspekte des E-Commerce J2EE: Einführung und Überblick Martin Husemann I 1 2 3 4 5 Z 4 J2EE: Einführung und Überblick 25.06.2001 Mehrschichtige Systemarchitekturen • • • • • Benutzerschnittstelle Präsentationslogik Geschäftslogik Datenbasis Infrastruktur Benutzerschnittstelle Präsentationslogik Infrastruktur Geschäftslogik Datenbasis • Umsetzung in konkrete Schichten und Ebenen – Präsentation – Geschäftslogik – Daten 25.06.2001 Seminar DB-Aspekte des E-Commerce J2EE: Einführung und Überblick Martin Husemann I 1 2 3 4 5 Z 5 Zwei-Ebenen-Architekturen • Präsentations- und Geschäftslogik auf Client-Ebene – Server verwaltet nur Daten Präsentation – hoher Wartungsaufwand Geschäftslogik – schlechte Skalierbarkeit Daten • Teile der Geschäftslogik auf Server-Ebene – höherer Anteil der Gesamtarbeitslast auf dem Server – bessere Skalierbarkeit – geringere Netzwerkbelastung, höhere Gesamtperformanz – Modularität durchbrochen » proprietäre Sprachen auf Server-Ebene 25.06.2001 Seminar DB-Aspekte des E-Commerce J2EE: Einführung und Überblick Martin Husemann I 1 2 3 4 5 Z 6 J2EE: Einführung und Überblick 25.06.2001 Drei-Ebenen-Architekturen • Schichten werden einzeln auf Ebenen abgebildet – Trennung nicht unbedingt physikalisch Präsentation • Höhere Flexibilität • Bessere Performanz Geschäftslogik • Größere Sicherheit Daten • Höhere Komplexität • Höheres Kommunikationsaufkommen 25.06.2001 Seminar DB-Aspekte des E-Commerce J2EE: Einführung und Überblick Martin Husemann I 1 2 3 4 5 Z 7 Komponenten-Architekturen für die Server-Ebene • Mittlere Ebene entscheidend • Komponenten / Application Server – ursprünglich kein einheitlicher Standard – Idealziel: offener Markt • Microsoft Distributed interNet Applications Architecture – Produktlösung – herstellerübergreifende Kompatibilität eingeschränkt • OMG Common Object Request Broker Architecture – offene Spezifikation – beschreibt verteilte Objekte und ihre Interaktion 25.06.2001 Seminar DB-Aspekte des E-Commerce J2EE: Einführung und Überblick Martin Husemann I 1 2 3 4 5 Z 8 J2EE: Einführung und Überblick 25.06.2001 Sun Microsystems Java 2, Enterprise Edition • Zunächst Entwicklung von Einzeltechnologien für die Nutzung in Unternehmen • Schlechte Abstimmung, Unklarheiten, Widersprüche • Java 2: Micro, Standard, Enterprise Edition • Integrierte Plattform für die Entwicklung portabler Software-Komponenten auf Server-Ebene • Spezifikation, nicht Produkt (analog zu CORBA) • Gegenüber CORBA zusätzlich Festlegung von Schnittstellen und Verhalten auf Komponentenebene 25.06.2001 Seminar DB-Aspekte des E-Commerce J2EE: Einführung und Überblick Martin Husemann I 1 2 3 4 5 Z 9 3 4 5 Z 10 Aufbau der J2EE-Plattform • Verteilte Application-Server-Umgebung • APIs und Laufzeit-Infrastruktur • Client Tier – Browser, Java-Applications • Middle Tier – Geschäftslogik in Enterprise JavaBeans – Container als Laufzeitumgebung • EIS Tier – Zugriff auf Datenbanken über einheitliches API 25.06.2001 Seminar DB-Aspekte des E-Commerce J2EE: Einführung und Überblick Martin Husemann I 1 2 J2EE: Einführung und Überblick 25.06.2001 Aufbau der J2EE-Plattform • Verteilte Application-Server-Umgebung • APIs und Laufzeit-Infrastruktur Client Tier Middle Tier EIS Tier Web Container EJB Container Web Container EJB Container Browser Stand-Alone Client 25.06.2001 Seminar DB-Aspekte des E-Commerce J2EE: Einführung und Überblick Martin Husemann I 1 2 3 4 5 Z 11 Mehr-Ebenen-Applikation • Browser wickelt nur direkte Benutzerinteraktion ab • Web-Container regeln Präsentationslogik • Enterprise JavaBeans übernehmen Geschäftslogik und DB-Zugriff Client Tier Middle Tier EIS Tier Web Container EJB Container Web Container EJB Container Browser Stand-Alone Client 25.06.2001 Seminar DB-Aspekte des E-Commerce J2EE: Einführung und Überblick Martin Husemann I 1 2 3 4 5 Z 12 J2EE: Einführung und Überblick 25.06.2001 Web-basierte Anwendung • Einsatz von EJB-Servern oft übertrieben • Web-Container übernimmt Präsentations- und Geschäftslogik • Leichter Ausbau bei steigenden Anforderungen Client Tier Middle Tier EIS Tier Web Container EJB Container Web Container EJB Container Browser Stand-Alone Client 25.06.2001 Seminar DB-Aspekte des E-Commerce J2EE: Einführung und Überblick Martin Husemann I 1 2 3 4 5 Z 13 Standalone-Client I • Umgehen des EJB-Containers • Client regelt Benutzerinteraktion und Präsentationslogik • Web-Container oder EIS-Ebene übernehmen Geschäftslogik Client Tier Middle Tier EIS Tier Web Container EJB Container Web Container EJB Container Browser Stand-Alone Client 25.06.2001 Seminar DB-Aspekte des E-Commerce J2EE: Einführung und Überblick Martin Husemann I 1 2 3 4 5 Z 14 J2EE: Einführung und Überblick 25.06.2001 Standalone-Client II • Umgehen des Web-Containers • Client regelt Benutzerinteraktion und Präsentationslogik • Enterprise JavaBeans übernehmen Geschäftslogik und DB-Zugriff Client Tier Middle Tier EIS Tier Web Container EJB Container Web Container EJB Container Browser Stand-Alone Client 25.06.2001 Seminar DB-Aspekte des E-Commerce J2EE: Einführung und Überblick Martin Husemann I 1 2 3 4 5 Z 15 Standalone-Client III • Client kommuniziert direkt mit Datenbank • Client regelt Benutzerinteraktion und Präsentationslogik • Client übernimmt Geschäftslogik Client Tier Middle Tier EIS Tier Web Container EJB Container Web Container EJB Container Browser Stand-Alone Client 25.06.2001 Seminar DB-Aspekte des E-Commerce J2EE: Einführung und Überblick Martin Husemann I 1 2 3 4 5 Z 16 J2EE: Einführung und Überblick 25.06.2001 Interaktion zwischen Containern • Web-Container: XML-Nachrichten über HTTP • EJB-Container: RMI, in Zukunft auch JMS Client Tier Middle Tier EIS Tier Web Container EJB Container Web Container EJB Container Browser Stand-Alone Client 25.06.2001 Seminar DB-Aspekte des E-Commerce J2EE: Einführung und Überblick Martin Husemann I 1 2 3 4 5 Z 17 Container • Container Contract – Dienste des Containers für die Komponenten • Declarative Service – Realisierung von Funktionalitäten für die Komponenten • Additional Services – Lifecycle Management – Resource Pooling – ... 25.06.2001 Seminar DB-Aspekte des E-Commerce Application Component Application Component Deployment Descriptor Deployment Descriptor Application Component Deployment Descriptor Declarative Services • Container Service APIs Container Contract Additional Container Services – Vorgaben des Containers an die Komponenten Container Service APIs J2EE: Einführung und Überblick Martin Husemann I 1 2 3 4 5 Z 18 J2EE: Einführung und Überblick 25.06.2001 Technologien und APIs (I) • Komponenten-Technologien – Komponente → Modul → Applikation A M K K M K K K K • Java Server Pages und Servlets – Verarbeitung von HTTP-Requests – JSP: um dynamischen Inhalt ergänzte Webseite – Servlet: aktive Komponente zum Ausbau eines Webservers • Enterprise JavaBeans – Geschäftslogikkomponenten auf Server-Ebene – Session Beans / Entity Beans 25.06.2001 Seminar DB-Aspekte des E-Commerce J2EE: Einführung und Überblick Martin Husemann I 1 2 3 4 5 Z 19 Technologien und APIs (II) • Service-Technologien • Java DataBase Connectivity (JDBC) – Anbindung an relationale Datenbanken • Java Transaction API (JTA) – implementierungsunabhängige Unterstützung von Transaktionen • Java Naming and Directory Interface (JNDI) – Namen- und Verzeichnisdienst – wird von Enterprise JavaBeans genutzt 25.06.2001 Seminar DB-Aspekte des E-Commerce J2EE: Einführung und Überblick Martin Husemann I 1 2 3 4 5 Z 20 J2EE: Einführung und Überblick 25.06.2001 Technologien und APIs (III) • Kommunikations-Technologien • Remote Method Invocation (RMI) – erlaubt Nutzung von Methoden entfernter Objekte – Aufruf über lokal definierte Interfaces • Java Message Service (JMS) – API für die Nutzung von Nachrichten-orientierter Middleware – asynchroner Nachrichtenaustausch • JavaMail – Zugang zu den wichtigen Protokollen für Email-Nutzung 25.06.2001 Seminar DB-Aspekte des E-Commerce J2EE: Einführung und Überblick Martin Husemann I 1 2 3 4 5 Z 21 Zusammenfassung • Mehrschichtige Systemarchitekturen unumgänglich • Drei-Ebenen-Architekturen von Vorteil • J2EE: Framework ohne Bindung an konkrete Produkte – – – – Drei-Ebenen-Architektur verschiedene mögliche Systemarchitekturen Container-Konzept Technologien und APIs 25.06.2001 Seminar DB-Aspekte des E-Commerce J2EE: Einführung und Überblick Martin Husemann I 1 2 3 4 5 Z 22