Die Nutzung von Applikationsservern im Rahmen geschäftlicher Anwendungsarchitekturen
ist heutzutage nahezu zwingend. Durch sie wird eine Reihe von Technologien wie z.B.
Webserver, Transaktionsmonitor oder Messaging-System zu einem gut harmonierenden
und in sich schlüssigen Framework zusammengefügt. Neben der Bereitstellung einer
Umgebung für die Ausführung von Business-Logik realisieren sie auch die so wichtige
Verbindung zu Datenbanksystemen. Ziel der Applikationsserver ist es, die Entwicklung
eines modularen, ausfallsicheren und hochskalierbaren Systems zu ermöglichen.
Im Java-Umfeld setzt sich J2EE (Java 2 Enterprise Edition) [Sun01a] einschließlich der
Komponententechnologie EJB (Enterprise JavaBeans) [Sun01c] für Applikationsserver
immer mehr durch. EJB bietet einen Rahmen für die Entwicklung von Business-
Funktionalität und nimmt dem Entwickler immer wiederkehrende Aufgaben wie Security-
Management, Transaktionssicherung oder Datenspeicherung ab.
Wie bereits angedeutet ist eine der Hauptaufgaben eines Applikationsservers die Anbindung
aller Arten von Datenbanksystemen. Die J2EE-Spezifikation bietet auch hier einige
Hilfen für den Entwickler, ist aber leider in diesem Bereich teilweise nur sehr vage
formuliert oder adressiert wichtige Punkte gar nicht. Für die Speicherung der Business-
Objekte in einem relationalen Datenbanksystem stehen nur vergleichsweise einfache
Abbildungs- und Abfragemöglichkeiten zur Verfügung.
Die Integration bestehender Datenbanksysteme mit moderner Komponententechnik kann
somit von den heutigen Applikationsservern oft nicht ohne weitere Hilfsmittel geleistet
werden. Vor diesem Hintergrund sind Mechanismen notwendig, die eine flexible
Abbildung von Operationen und Anfragen der EJB-Objekte auf relationale Datenbanken
ermöglichen. Diese Aufgabenstellung wird üblicherweise durch Persistenz-Frameworks
erfüllt.
Die EJB-Spezifikation bietet zwei grundsätzliche Varianten für die Objekt-Persistenz an:
CMP (Container-Managed Persistence) [Sun01d, S. 125ff] und BMP (Bean-Managed
Persistence) [Sun01d, S. 243ff]. Doch muss für die Integration eines Persistenz-Frameworks
in den Applikationsserver eine detailliertere Betrachtung erfolgen, da zum einen keine
standardisierten Schnittstellen zwischen Applikationsserver und Persistenz-Framework
spezifiziert sind und zum anderen der Einsatz der so genannten Entity-Beans nicht bei
jedem Applikationsserver eine performante, ausfallsichere und hochskalierbare Architektur
gewährleistet. [...]
Inhaltsverzeichnis
- Erklärung
- Inhaltsverzeichnis
- Abbildungs- und Tabellenverzeichnis
- Einleitung
- Motivation
- Einordnung und Vorgehensweise
- Gliederung
- Danksagung
- Aufbau komplexer Client/Server Anwendungen
- Übersicht und Anforderungen
- Die Mehrschichten-Architektur als mögliche Lösung
- Ausfallsicherheit
- Lastverteilung zur Erreichung von Ausfallsicherheit
- Datenbanksysteme
- Übersicht
- Die wichtigsten Zugriffsschnittstellen
- Praxisbeispiel
- Java 2 Enterprise Edition
- Übersicht
- Enterprise JavaBeans
- Die EJB-Persistenz-Schnittstellen
- Transaktionen in EJB-Architekturen
- O/R-Mapping
- Übersicht und Gliederung
- Datenhaltung
- Datenzugriff
- Caching
Zielsetzung und Themenschwerpunkte
Die Diplomarbeit befasst sich mit der Klassifizierung und Bewertung von Persistenz-Management Technologien in J2EE Architekturen unter besonderer Berücksichtigung der Skalierbarkeit und Ausfallsicherheit. Ziel ist es, einen umfassenden Überblick über die verschiedenen Ansätze und Technologien zur Persistenz-Verwaltung in Java-basierten Enterprise-Anwendungen zu geben und deren Vor- und Nachteile hinsichtlich der genannten Kriterien zu analysieren.
- Klassifizierung von Persistenz-Management Technologien in J2EE
- Bewertung von Persistenz-Technologien hinsichtlich Skalierbarkeit und Ausfallsicherheit
- Analyse der Auswirkungen verschiedener Persistenz-Ansätze auf die Architektur von J2EE-Anwendungen
- Beurteilung der Einsatzmöglichkeiten und Grenzen verschiedener Persistenz-Technologien
- Erstellung eines Leitfadens für die Auswahl geeigneter Persistenz-Technologien in J2EE-Projekten
Zusammenfassung der Kapitel
- Kapitel 1: Einleitung - Einführung in die Thematik der Persistenz-Verwaltung in J2EE-Architekturen und Vorstellung der Motivation und des Ziels der Arbeit.
- Kapitel 2: Aufbau komplexer Client/Server Anwendungen - Überblick über die Anforderungen an moderne Client/Server Anwendungen, Darstellung der Mehrschichten-Architektur und Diskussion der Aspekte Ausfallsicherheit und Lastverteilung.
- Kapitel 3: Datenbanksysteme - Einführung in die Funktionsweise von Datenbanksystemen, Vorstellung der wichtigsten Zugriffsschnittstellen und Darstellung eines Praxisbeispiels.
- Kapitel 4: Java 2 Enterprise Edition - Überblick über die Java 2 Enterprise Edition (J2EE) Plattform, detaillierte Beschreibung der Enterprise JavaBeans (EJB) Technologie und insbesondere der EJB-Persistenz-Schnittstellen. Analyse der Transaktionsverwaltung in EJB-Architekturen.
- Kapitel 5: O/R-Mapping - Übersicht über Object-Relational Mapping (O/R-Mapping) Technologien, Diskussion der verschiedenen Ansätze zur Datenhaltung und Datenzugriff, sowie die Bedeutung von Caching-Mechanismen.
Schlüsselwörter
Persistenz-Management, J2EE, Java, Enterprise JavaBeans, EJB, O/R-Mapping, Skalierbarkeit, Ausfallsicherheit, Transaktionen, Datenbanksysteme, Architektur, Client/Server, Mehrschichten-Architektur.
- Quote paper
- Thomas Hertz (Author), 2003, Klassifizierung und Bewertung von Persistenz-Management Technologien in J2EE Architekturen unter besonderer Betrachtung von Skalierbarkeit und Ausfallsicherheit, Munich, GRIN Verlag, https://www.grin.com/document/17143