Java2 Enterprise Edition René Noack Mai 2003

Slides:



Advertisements
Ähnliche Präsentationen
interaktiver Web Service Workflows
Advertisements

Cloud42 Dominik Muhler Seminar StuPro cims cims.
C ommon O bject R equest B roker A rchitecture
DI Christian Donner cd (at) donners.com
Inhalt – Technische Grundlagen
Basis-Architekturen für Web-Anwendungen
Kapitel 8: Nachrichtenbasierte Kommunikation mit JMS
Was ist J2EE Die Vorteile von J2EE J2EE Modell Die Komponente von J2EE
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
WS06/07Prof. Dr. Andreas Schmietendorf1 Programmierung von Client/Server- Anwendungen Übersicht zur Vorlesung.
Datenbankzugriff im WWW (Kommerzielle Systeme)
Erweiterung B2B Usermanagement / LDAP-Anbindung
NATURAL Web-Integration 1 / 27/28-Feb-98 TST NATURAL Web-Integration Arbeitskreis NATURAL Süd Theo Straeten SAG Systemhaus GmbH Technologieberater Stuttgart.
Java 2 Enterprise Edition (J2EE)
Stephan Bury  Pascal Busch  Bita Gerami
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Pascal Busch, WWI00B – Vergleich CORBA vs. Web Services hinsichtlich der Applikationsintegration Web Services vs CORBA Web Services vs CORBA Ein Vergleich.
Kommunikation in verteilten Systemen (Middleware)
Hassan Bidani Jallal Alami Rahmouni FH Wiesbaden
Tomcat (I) Ende 1999 Jakarta-Projekt von Apache, IBM und Sun gegründet
Struts Seminar Javabasierte Webanwendungen. Tobias Kutzler2 Überblick Historie Was ist Struts? Model Controller View Zusammenfassung.
Business Logik als EJB-Applikation Gruppe pea19 Raed IssaChristian KubanekHonoré Tiako.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
XML in Client-Server und GRID Architektur
JAVA RMI.
Strukturänderungen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Remote Methode Invocation (RMI)
Überlegungen zur Architektur eines Fachinformations-Netzwerkes am Beispiel des CeGIM Mehrwert ist es nicht nur, Daten von ihren Quellen zu den Nutzern.
J2EE Conformance von JDBC Middleware und EJB Applikation Server Detlef KünzelSystemberater +49 (0)
M A P K I T Management eines J2EE basierten eCommerce Systems am Beispiel des ATG Dynamo Applikationsservers und BMC Patrol als Managementframework.
FQTQ ShowCase Prototyp einer Applikation zur Beratungsunterstützung.
Entwicklung verteilter eingebetteter Systeme - Einführung
Internet: Funktionsweise und Dienste
Web Services Die Zukunft netzbasierter Applikationen iternum GmbH Alexanderstraße Frankfurt/Main
WAP = Wireless Application Protocol Protokollstack Ein Protokoll ...
ArcGIS als WPS Server Aktueller Stand der Umsetzung
Integration heterogener verteilter Systeme mit WS-BPEL – ein Praxisbeispiel Dr. Wolf-Dieter Heinrichs.
Software Architektur II
Webservice Grundlagen
Einführung / Geschichte Einführung / Geschichte Motivation Motivation Beispiel Beispiel Architektur / Komponenten Architektur / Komponenten Konfiguration.
EJB-Applikationsserver
Aichinger Christian, Strasser Jürgen. Inhalt JSF EJB Praxis - Integration.
Vergleich verschiedener Konzepte für das Software Engineering Praktikum.
Welchen Problemen ist man bei heterogener, verteilter Programmierung ausgesetzt? Hardware: nicht einheitliche, inkompatible Systeme, verschiedene Leistungsfähigkeit.
Java Server Pages Sergej Keterling
Management- und Web Services- Architekturen
Datenanbindung in Webapplikationen
Neuerungen in Java 5/6/7. Stefan Bühler für InfoPoint Überblick Java 5 neue Sprachfeatures Erweiterungen Klassenbibliothek Java 6 Erweiterungen.
Einführung in Web Services Web Services in der Praxis
Projekt Pokémon (CSL) Evaluation Technologien / Entwicklungsumgebungen Schlusspräsentation, Philip Iezzi, BDLI 2.
Client-Server-Modell
Enhydra Shark Workflow-Management Frank Aurich Markus Reisch.
prof. dr. dieter steinmannfachhochschule trier © prof. dr. dieter steinmann Folie 1 vom Montag, 30. März 2015.
Enterprise JavaBeans (EJB) und Application Server
Vortrag - Diplomarbeiten (HS I)
Datenbanken im Web 1.
Webserver Apache & Xampp Referenten: Elena, Luziano und Sükran
Java Server Pages Technologie zur Erzeugung dynamischer Webseiten basierend auf Java-Servlets Blockseminar Wintersemester 2001/2002Jochen Pfeiffer Seite.
Middleware in Java vieweg 2005 © Steffen Heinzl, Markus Mathes Kapitel 1: Architektur verteilter Systeme.
Web Services als Remote Content Provider in Portalumgebungen Vorstellung und Diskussion des Themas Präsentation des Prototypen Konzeption und prototypische.
J2EE-Motivation(I) Anforderungen an heutige Software u.a.:
EJB Architektur für große Web - Applikationen Gerald Weber
Web Services Spezielle Methoden der SWT Liste V – WS 2008/2009 Christian Boryczewski.
ORB – Konzepte Ist – Analyse der betrieblichen Notwendigkeiten, Anforderungsableitung an moderne Lösungskonzepte, alternative ORB – Konzepte mit Zukunft,
Rusch Philipp, Spiegel Philipp, Sieber Michael, Ucar Sahin, Wetzel Markus.
© 2012 TravelTainment Einführung in Enterprise JavaBeans Seminarvortrag von Ralf Penners Folie 1 von 34.
Webservices SOAP und REST Nicole Fronhofs 1. Betreuer: Prof. Dr. Volker Sander 2. Betreuer: B. Sc. Sebastian Olscher.
WebServices Vortrag zur Diplomarbeit WebServices Analyse und Einsatz von Thomas Graf FH Regensburg
© 2004 Sascha Kohlmann Die Javasee Die Javasee. © 2004 Sascha Kohlmann Die Javasee Was ist Java? Seite 2 ● Eine Insel im Indischen Ozean ● Amerikanisch.
Verteilte Anwendungen: J2EE
 Präsentation transkript:

Java2 Enterprise Edition René Noack Mai 2003 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 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

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)

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

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

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

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

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)

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

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)

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

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

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

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

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

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

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

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?

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, …)

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

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

J2EE – Java2 Enterprise Edition EJB (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

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

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

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

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

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

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

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

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

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

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)

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

JAVA Naming and Directory Interface 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

JAVA Naming and Directory Interface 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

J2EE – Java2 Enterprise Edition Quellenverzeichnis 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.

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