1 / 38

J2EE

J2EE. Java2 Enterprise Edition René Noack Mai 2003. J2EE – Java2 Enterprise Edition. Überblick: Einordnung J2EE J2EE Architektur EJB (Enterprise JavaBeans) JNDI ( Java Naming and Directory Interface ). J2EE – Java2 Enterprise Edition Einordnung J2EE. J2SE Java2 Standard Edition

jovita
Download Presentation

J2EE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. J2EE Java2 Enterprise Edition René Noack Mai 2003

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

  3. J2EE – Java2 Enterprise EditionEinordnung 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 Einsatzin Mehrschichtenarchitekturenund für Serveranwendungen

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

  5. J2EE – Java2 Enterprise EditionEinordnung 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. J2EE – Java2 Enterprise EditionEinordnung 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. J2EE – Java2 Enterprise EditionJ2EE Architektur 3 – Tier – Architektur Client – Schicht Anwendungs- schicht (Middleware) Datenablage- schicht Client Client Client Enterprise JavaBeans Middleware – Komponenten Datenablage Datenablage

  8. J2EE – Java2 Enterprise EditionJ2EE Architektur J2EE – Komponenten J2EE Server Client – Container Web – Container EJB - Container Enterprise Bean Servlet Enterprise Bean JSP - Datei Enterprise Bean

  9. J2EE – Java2 Enterprise EditionJ2EE 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. J2EE – Java2 Enterprise EditionJ2EE 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. J2EE – Java2 Enterprise EditionJ2EE 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. J2EE – Java2 Enterprise EditionJ2EE 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. J2EE – Java2 Enterprise EditionJ2EE 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. J2EE – Java2 Enterprise EditionJ2EE 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. J2EE – Java2 Enterprise EditionJ2EE 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. J2EE – Java2 Enterprise EditionJ2EE 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. J2EE – Java2 Enterprise EditionEJB (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. J2EE – Java2 Enterprise EditionEJB (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. J2EE – Java2 Enterprise EditionEJB (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. J2EE – Java2 Enterprise EditionEJB (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. J2EE – Java2 Enterprise EditionEJB (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. J2EE – Java2 Enterprise EditionEJB (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. J2EE – Java2 Enterprise EditionEJB (Enterprise JavaBeans) Local Interface vs. Remote Interface Local Interface Remote 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. J2EE – Java2 Enterprise EditionEJB (Enterprise JavaBeans) Arten von Enterprise JavaBeans Enterprise JavaBean Session Bean Entity Bean Message Driven Bean Stateless Stateful Container Managed Persistence Bean Managed Persistence

  25. J2EE – Java2 Enterprise EditionEJB (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. J2EE – Java2 Enterprise EditionEJB (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. J2EE – Java2 Enterprise EditionEJB (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. J2EE – Java2 Enterprise EditionEJB (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. J2EE – Java2 Enterprise EditionEJB (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. J2EE – Java2 Enterprise EditionEJB (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. J2EE – Java2 Enterprise EditionEJB (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. J2EE – Java2 Enterprise EditionEJB (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. J2EE – Java2 Enterprise EditionEJB (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. J2EE – Java2 Enterprise EditionEJB (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. J2EE – Java2 Enterprise EditionJNDI (Java Naming and Directory Interface) JAVA Naming and Directory Interface • Mechanismus zum Auffinden von J2EE Komponentenbzw. 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. J2EE – Java2 Enterprise EditionJNDI (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. J2EE – Java2 Enterprise EditionQuellenverzeichnis Quellen der Literatur: [DP02] Denninger, Stefan; Peters, Ingo: Enterprise JabaBeans 2.0. Addison – Wesley, 2., überarbeitete Auflage, 2002. [SS02] Schäffer, Stefan; Schilder, Walter: Enterprise Java mit IBM WebSphere. Addison – Wesley, 2002. Quellen des Internet: http://www.sun.com/j2ee Java™ 2 Platform Enterprise Edition Specification, v1.4 (Public Draft) http://www.fhs-hagenberg.ac.at/staff/jheinzel/WS2002/PRG5/Docs/EJB_Einfuehrung.pdf Erlach, Andreas: Enterprise JavaBeans (EJB), 2002.

  38. J2EE – Java2 Enterprise EditionAbkürzungsverzeichnis 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 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

More Related