Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

J2EE Java2 Enterprise Edition René Noack Mai 2003.

Ähnliche Präsentationen


Präsentation zum Thema: "J2EE Java2 Enterprise Edition René Noack Mai 2003."—  Präsentation transkript:

1 J2EE Java2 Enterprise Edition René Noack Mai 2003

2 2 J2EE – Java2 Enterprise Edition Überblick: 1.Einordnung J2EE 2.J2EE Architektur 3.EJB (Enterprise JavaBeans) 4.JNDI (Java Naming and Directory Interface)

3 3 J2EE – Java2 Enterprise Edition Einordnung J2EE J2SE Java2 Standard Edition Kern der Java Plattform (Applets, implementierte Java-Anwendungen) J2ME Java2 Micro Edition Zusatzfunktionen für eingebettete Systeme Reduktion von Sprach- & Funktionsumfang von Java J2EE Java2 Enterprise Edition Funktionen von J2SE + Schnittstellen (APIs) für den Einsatz in Mehrschichtenarchitekturen und für Serveranwendungen

4 4 J2EE – Java2 Enterprise Edition Einordnung J2EE Entwicklung durch Herstellerkonsortium (IBM, Oracle, BEA,…) Weiterentwicklung durch Java Community Process (JCP) Implementierungen IBM WebSphere BEA WebLogic Sun One (Sun besitzt Referenzimplementierung)

5 5 J2EE – Java2 Enterprise Edition Einordnung J2EE Eigenschaften von J2EE: Komponenten – orientiert Netzwerk – orientiert Web – Browser ist primäres User – Interface RMI, für die Realisierung entfernter Methodenaufrufe verteilte Anwendungen möglich Programmiersprache Java

6 6 J2EE – Java2 Enterprise Edition Einordnung J2EE weitere Eigenschaften von J2EE: Plattformunabhängigkeit (durch Java) Herstellerunabhängigkeit (Java – Spezifikation) Integration bestehender Konzepte (Servlets, JavaServerPages (JSP), EJB, …) besser handhabbar als CORBA (geringere Komplexität) 3 – Tier – Architektur

7 7 Client – Schicht Anwendungs- schicht (Middleware) Datenablage- schicht J2EE – Java2 Enterprise Edition J2EE Architektur Client Enterprise JavaBeans Middleware – Komponenten Datenablage

8 8 J2EE Server J2EE – Java2 Enterprise Edition J2EE Architektur Client – Container Web – ContainerEJB - Container J2EE – Komponenten JSP - Datei Servlet Enterprise Bean Enterprise Bean Enterprise Bean

9 9 J2EE – Java2 Enterprise Edition J2EE Architektur Beispiel für die Kommunikation zwischen den Containern: Browser (Client - Container) greift auf Servlet bzw. JavaServerPages (JSP) im Web – Container zu Servlets bzw. JSP besitzen Geschäftslogik Für die Umsetzung sind u.U. Rückgriffe auf EJB – Methoden notwendig, die sich im EJB – Container befinden. Die Rückgabewerte der EJB – Methoden erhält der Web – Container. Web – Container leitet Ergebnis zurück zum Browser (Client – Container)

10 10 J2EE – Java2 Enterprise Edition J2EE Architektur Client – Container beinhaltet Java Applet, Java Applikationen, HTML – Browser sowie die Kombination des Genannten greifen Java – basierende Client – Applikationen auf Enterprise JavaBeans zu, so existiert beim Client eine EJB – Container spezifische Bibliothek Bibliothek enthält Details zur Kommunikation mit dem Server

11 11 J2EE – Java2 Enterprise Edition J2EE Architektur Web – Container Laufzeitumgebung für Servlets bzw. JSP dynamische Webinhalte möglich Anforderung dafür: Unterstützung HTTP (bei Bedarf HTTPS) Transport von Requests und Antworten Verwaltung der Servlet – Instanzen (Lebenszyklen)

12 12 J2EE – Java2 Enterprise Edition J2EE Architektur Web – Container Servlets: Webkomponenten zur Erzeugung dynamischer Dokumente auf dem Server (meist HTML) Verwaltung erfolgt durch Server Requests werden formatiert und zu Servlet geleitet Ausgabe des Servlets wird gelesen und zum Aufrufer gesendet Servlet schreibt Ausgabe in übergebenes Objekt ungeeignet für die Erzeugung komplexer Seiten

13 13 J2EE – Java2 Enterprise Edition J2EE Architektur Web – Container JavaServerPages (JSP): Erweiterung des Servlet – Konzeptes Trennung von Struktur & Layout durch JSP – Tags Server erkennt JSPs an URL Ersetzung der JSP – Tags vor Versenden zum Client intern: Umwandlung JSP zu Servlet

14 14 J2EE – Java2 Enterprise Edition J2EE Architektur EJB – Container Aufgaben: Laufzeitumgebung für EJBs Dienstanbieter (Transaktions- / Sicherheitsdienst) Dienste durch aufrufenden Client und EJBs nutzbar Delegation von Anfragen an EJB / Antworten einer EJB an den Client Bean kommuniziert mit dem Container, nicht mit dem Server

15 15 J2EE – Java2 Enterprise Edition J2EE Architektur EJB – Container Aufgaben: Transparenz für den Benutzer sichern Verwaltung der Lebenszyklen der EJBs Gewährleistung der persistenten Datenhaltung Koordination von Transaktionen Bereitstellung von Sicherheitsmechanismen

16 16 J2EE – Java2 Enterprise Edition J2EE Architektur EJB – Container Leistung: Namens- & Verzeichnisdienst Thread-, Prozessmanagement, damit Nebenläufigkeit erreicht wird (betrifft: Dienste, EJB, EJB - Container) Zugriff auf Zusatzressourcen (Bsp.: Datenbanken) Clustering und Lastverteilung

17 17 J2EE – Java2 Enterprise Edition EJB (Enterprise JavaBeans) Enterprise Java Beans JavaBeans: hauptsächlich visuelle Konstruktion wiederverwendbarer Komponenten Enterprise JavaBeans: verteilte, transaktionsgesteuerte, sichere, skalierbare, portable, serverseitige Java – Applikation realisierbar durch EJB – Container transparente Dienstnutzung

18 18 J2EE – Java2 Enterprise Edition EJB (Enterprise JavaBeans) Anforderungen an moderne Anwendungen logisch und räumlich verteilbar Handhabung umfangreicher Datenmengen (nebenläufiger Zugriff) Datenmanipulation innerhalb von Transaktionen Sicherheit bzw. Zugriffsschutz

19 19 J2EE – Java2 Enterprise Edition EJB (Enterprise JavaBeans) Test, der Eignung von EJBs Muss Architektur auf weltweit anerkannten Standards basieren? Muss Anwendung auf unterschiedlichste Datenquellen zugreifen können und Transaktionen unterstützen? Soll nebenläufiger Zugriff möglich sein? Ist Zugriffsschutz erforderlich?

20 20 J2EE – Java2 Enterprise Edition EJB (Enterprise JavaBeans) EJB - Eigenschaften: serverseitige Komponenten ermöglichen Logik-Implementierung einer Anwendung Ablauf in spezieller Laufzeit – Umgebung Dienste des EJB – Containers explizit oder implizit nutzbar (Persistenz, Sicherheit, …)

21 21 J2EE – Java2 Enterprise Edition EJB (Enterprise JavaBeans) EJB - Eigenschaften: EJB – Instanzen werden zur Laufzeit vom EJB – Container erzeugt und verwaltet EJB anpassbar durch Modifikation der Umgebungsvariablen während der Laufzeit Zugriff durch Client wird durch EJB – Container vermittelt Bean Entwickler legt Sicht auf EJB fest

22 22 J2EE – Java2 Enterprise Edition EJB (Enterprise JavaBeans) Local Interface vs. Remote Interface viele Anwendungen erfordern Komm. zwischen EJBs oft im gleichen Adressraum Version 1.1 Remote – Aufruf trotz eigenem Adressraum RMI – Overhead überflüssig Seit Spezifikation 2.0 Kommunikation des Clients über Local – Interface möglich

23 23 J2EE – Java2 Enterprise Edition EJB (Enterprise JavaBeans) Local Interface vs. Remote Interface Local InterfaceRemote Interface -- ortstransparent - Call by Reference- Call by Value - ohne RMI- RMI - nur bei gleichem Adressraum- immer verwendbar - verminderter Overhead- - bessere Performanz für- lokale Aufrufe

24 24 J2EE – Java2 Enterprise Edition EJB (Enterprise JavaBeans) Arten von Enterprise JavaBeans Container Managed Persistence Bean Managed Persistence Enterprise JavaBean Session Bean Entity Bean Message Driven Bean StatelessStateful

25 25 J2EE – Java2 Enterprise Edition EJB (Enterprise JavaBeans) Session Bean: wird für einen Client exklusiv ausgeführt kann innerhalb einer Transaktion ausgeführt werden repräsentiert nicht direkt Geschäftsdaten, aber kann diese ändern, z.B. mittels DB-Zugriffen über JDBC Lebensdauer entspricht Sitzungsdauer

26 26 J2EE – Java2 Enterprise Edition EJB (Enterprise JavaBeans) Stateless – Session Bean: Methodenaufrufe entkoppelt zu verarbeitende Daten müssen explizit übergeben werden Stateless – Session Beans gleichen Typs besitzen gleiche Identität

27 27 J2EE – Java2 Enterprise Edition EJB (Enterprise JavaBeans) Stateful – Session Bean: Zugriff auf Daten eines vorangegangenen Methodenaufrufs möglich zu verarbeitende Daten können explizit übergeben werden Stateful – Session Beans gleichen Typs besitzen unterschiedliche Identitäten

28 28 J2EE – Java2 Enterprise Edition EJB (Enterprise JavaBeans) Entity Bean: stellt Daten einer Datenbasis als Objekt dar kann gleichzeitig durch mehrere Clients genutzt werden kann innerhalb von Transaktionen ausgeführt werden Lebensdauer ist an die Bestandsdauer der Daten in der Datenbank geknüpft

29 29 J2EE – Java2 Enterprise Edition EJB (Enterprise JavaBeans) Entity Bean: Container Managed Persistence: EJB – Container übernimmt die Sicherung eines Zustandes einer Entity - Bean Bean Managed Persistence: Bean – Entwickler implementiert das Management der Persistenzierung selbst

30 30 J2EE – Java2 Enterprise Edition EJB (Enterprise JavaBeans) Message Driven Bean: zustandslos, asynchron, gedächtnislos angesprochen durch Nachrichten Nachrichtenzustellung erfolgt, sobald EJB – Container Nachricht aus JMS – Warteschlange od. Topic erhält Lebensdauer: solange onMessage() ausgeführt wird

31 31 J2EE – Java2 Enterprise Edition EJB (Enterprise JavaBeans) Persistenz: EJB – Container ermöglicht DB – Zugriff über JNDI Beans können selbst für Persistenz sorgen automatische Persistenz durch EJB – Container Enterprise Bean unabhängig vom vorh. Persistenzmedium transparente Persistenz Entwicklung von EJB – Containern mit Zugriff auf andere Anwendungssysteme

32 32 J2EE – Java2 Enterprise Edition EJB (Enterprise JavaBeans) Transaktionen: Spezifikation unterstützt flache Transaktionen Nutzung durch direkte Kommunikation mit Dienst über Java Transaction API (JTA) Deklarative Transaktionen Bei Installation von Entity Bean werden ausgewählte Methoden Transaktionen zugeordnet EJB – Container sorgt für Einhaltung Bean unangetastet

33 33 J2EE – Java2 Enterprise Edition EJB (Enterprise JavaBeans) Messaging: seit Version 2.0 Einbindung von Messaging – Dienst über JMS API vorgeschrieben durch EJB asynchron, parallel Enterprise Beans und Clients können Nachrichten versenden jeder Client kann Nachrichten asynchron senden und / oder empfangen (Sender + Empfänger anonym)

34 34 J2EE – Java2 Enterprise Edition EJB (Enterprise JavaBeans) Sicherheit: bestimmt durch Systemadmin. und Bean – Installateur Umsetzung durch EJB – Container Benutzerrollen / Benutzerrechte definierbar zur Laufzeit Test Rolle / Rechte durch EJB – Container auch Authentifizierung und sichere Komm. möglich

35 35 J2EE – Java2 Enterprise Edition JNDI (Java Naming and Directory Interface) JAVA Naming and Directory Interface Mechanismus zum Auffinden von J2EE Komponenten bzw. Schnittstelle zum Ansprechen von Namens- & Verzeichnisdiensten Namensdienst: Binding Referenzen auf entfernte Objekte bilden Namen wählen an definiertem Platz hinterlegen Lookup Wiederfinden von (an Namensdienst) gebundenen Objekten

36 36 J2EE – Java2 Enterprise Edition JNDI (Java Naming and Directory Interface) JAVA Naming and Directory Interface Verzeichnisdienst: leistungsfähiger als Namensdienst verwaltet Objekte & Ressourcen (Drucker, Dateien,..) mit Hierarchie – Strukturen kann Zusatzinformationen zu Remote – Objekt bereitstellen

37 37 J2EE – Java2 Enterprise Edition Quellenverzeichnis Quellen der Literatur: [DP02]Denninger, Stefan; Peters, Ingo: Enterprise JabaBeans 2.0. Addison – Wesley, 2., überarbeitete Auflage, [SS02]Schäffer, Stefan; Schilder, Walter: Enterprise Java mit IBM WebSphere. Addison – Wesley, Quellen des Internet: Java 2 Platform Enterprise Edition Specification, v1.4 (Public Draft) Erlach, Andreas: Enterprise JavaBeans (EJB), 2002.

38 38 J2EE – Java2 Enterprise Edition Abkürzungsverzeichnis API - Application Programming Interface BMP - Bean managed persistence CMP - Container managed persistence EJB - Enterprise JavaBeans HTTP - Hyper Text Transfer Protocol J2EE - Java 2 Enterprise Edition J2EE SPI - J2EE Service Provider Interfaces J2SE - Java 2 Standard Edition JAAS - Java Authentication and Authorization Service JACC - Java Authorization Service Provider Contract for Containers JAF - JavaBeans Activation Framework JAX-RPC - Java API for XML-based RPC JAXP - Java API for XML Parsing JAXR - Java API for XML Registries JCA - Java Connector Architecture JDBC - Java Database Connectivity JMX - Java Management Extensions JMS - Java Message Service JNDI - Java Naming and Directory Interface JNLP - Java Network Launch Protocol (Java Web Start) JRMI - Java Remote Method Invocation JSP - JavaServer Pages JTA - Java Transaction API JTS - Java Transaction Service RMI – IIOP - Remote Method Invocation – Internet Inter ORB Protokoll SAAJ - SOAP with Attachments API for Java SPI - Service Provider Interface


Herunterladen ppt "J2EE Java2 Enterprise Edition René Noack Mai 2003."

Ähnliche Präsentationen


Google-Anzeigen