Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: J2EE Dr. Wolfgang Wörndl 26.04.2004 Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Überblick 2. Einleitung – 2.5. Einflußreiche verteilte Systeme 2.5.1. Amoeba ... 2.5.4. Network File Service (NFS) 2.5.5. Java 2 Enterprise Edition auch kurzer Überblick über JavaBeans 3. Architektur verteilter Anwendungen – 3.2. Systemmodelle © Dr. Wolfgang Wörndl, 23.04.2004 2 Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme J2EE Überblick J2EE als Standard mit Implementierungen verschiedener Anbieter J2EE Konzept – – – Modell für die Programmierung verteilter Anwendungen Menge von APIs Laufzeitumgebung Mehrere Schichten – – – Client-Schicht: Anwenderkomponenten, Applets Web Server-Schicht: Servlets, JSP Anwendungsserver-Schicht © Dr. Wolfgang Wörndl, 23.04.2004 3 Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme J2EE Architektur J2EE container J2EE container Web-Container EJB Container Java-Servlets Enterprise Java Beans JSP Pages JAF JavaMail JMS JDBC JTA JNDI RMI/IIOP JAF JavaMail JMS JDBC JTA JNDI RMI/IIOP Application Clients J2EE Application Server data storage © Dr. Wolfgang Wörndl, 23.04.2004 4 Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme J2EE Container Aufgaben – – Verfügbare Container – – – – Laufzeitumgebung, um Anwendungskomponenten zu verwalten Zugriff auf J2EE APIs Web container: Java Servlets, JSP EJB container Applet container Application container: Standard Java Anwendung Module in Archiv-Datei, beschrieben von einer XML-Datei © Dr. Wolfgang Wörndl, 23.04.2004 5 Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme J2EE Anwendung J2EE application (EAR File) application.xml EJB module Web module Java module EJB module (JAR File) Web module (WAR file) Java module (JAR file) ejb-jar.xml web.xml application-client.xml EJB EJB Web Web © Dr. Wolfgang Wörndl, 23.04.2004 Java Java 6 Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme J2EE APIs Java 2 Application Programming Interfaces – JNDI: Java Naming and Directory Interface – JTA: Java Transaction API – JDBC: Java Database Connectivity Framework – JMS: Java Message Service – JAAS: Java Authentication and Authorization Service – JAF: JavaBeans Activation Framework © Dr. Wolfgang Wörndl, 23.04.2004 7 Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme JavaBeans Einführung Komponentengedanke wird in Java nicht direkt unterstützt – JavaBeans ist die Spezifikation eines Komponentenmodells für Java Faßt mehrere Klassen und Ressourcen zusammen Keine Unterscheidung zwischen Beans und Beans-Instanzen Ziel: Einfaches Zusammenfügen von Komponenten, ggf. mit visueller Programmierung © Dr. Wolfgang Wörndl, 23.04.2004 8 Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme JavaBeans Varianten Varianten von JavaBeans – Session Beans Pro Client Stateful oder stateless – Entity Beans Persistente Daten – Message-driven Beans Jede Klasse in Prinzip eine JavaBean – Beachtung gewisser Konventionen wichtig, um Kompositions- und Anpassungsfähigkeit zu unterstützen © Dr. Wolfgang Wörndl, 23.04.2004 9 Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Charakterisierung von JavaBeans Eigenschaften: get/set Methoden Ereignisse: event listener Introspektion – Methoden etc. einer JavaBean abfragbar Anpassbarkeit Persistenz – Dauerhafte Speicherung Objektserialisierung – Schreiben in Datenstrom © Dr. Wolfgang Wörndl, 23.04.2004 10