Neuartige Methoden der Webentwicklung mit Java und Objektdatenbanken


Bachelorarbeit, 2007

61 Seiten, Note: 2.0


Leseprobe

Inhaltsverzeichnis

1 Einleitung

2 Webanwendungen
2.1 Definition
2.2 Webanwendungsentwicklung
2.2.1 Anforderungen und Planung
2.2.2 Design
2.2.3 Programmierung
2.2.4 Test und Installation

3 Analyse bestehender Methoden
3.1 PHP
3.1.1 Geschichte
3.1.2 Funktionsweise
3.2 Java
3.2.1 Geschichte
3.2.2 Servlets
3.2.3 Java Server Pages
3.2.4 Frameworks
3.3 Datenbanken
3.3.1 Definition und Aufgaben
3.3.2 Datenbankmodelle
3.3.2.1 Hierarchische Datenbanken
3.3.2.2 Relationale Datenbanken
3.3.3 MySQL
3.4 Object Relational Mapping (ORM)
3.4.1 Impedance Mismatch
3.4.2 Frameworks

4 Neuartige Methoden
4.1 Java Framework „IT Mill Toolkit“
4.2 Objektdatenbanken
4.2.1 Definition
4.2.2 db4o
4.2.2.1 Query by Example (QBE)
4.2.2.2 Native Queries
4.2.2.3 SODA
4.2.2.4 Weitere Funktionen
4.2.2.5 Fazit

5 Vergleich der Methoden am praktischen Beispiel
5.1 Das Projekt: “custoVoice“
5.1.1 Klassenstrukturen
5.2 PHP und Java mit IT Mill Toolkit
5.2.1 Anforderung und Planung
5.2.2 Design
5.2.3 Programmierung
5.2.4 Tests und Installation
5.2.5 Fazit
5.3 mySQL und db4o
5.3.1 Anforderung und Planung
5.3.2 Design
5.3.3 Programmierung
5.3.4 Tests und Installation
5.3.5 Fazit

6 Zusammenfassung

7 Ergänzungen

8 Darstellungsverzeichnis

9 Abkürzungsverzeichnis

10 Literaturverzeichnis
10.1 Bücher
10.2 Internetquellen

1 Einleitung

Mit der zunehmenden Bedeutung des Internets wuchs in den vergangenen sieben Jahren auch der Markt für web-basierte Softwarelösungen. Anfangs konnte noch nicht von Webanwendungen gesprochen werden, da es sich dabei nur um einfache statische Seiten handelte. Der Begriff “Web 2.0“ steht für die Wandlung des Inter- nets von statischen zu benutzergenerierten Inhalten. Dabei stehen die Anwender selbst im Vordergrund und veröffentlichen Artikel, Bilder oder bilden virtuelle soziale Netzwerke.

Einem Entwickler eröffnen sich viele Möglichkeiten um Webanwendungen schrei- ben zu können. Eine beliebte Kombination stellt die Skriptsprache PHP mit der relationalen Datenbank mySQL dar. Die vorliegende Arbeit beschreibt nach einer allgemeinen Definition, gängige und bewährte Methoden der Webentwicklung mit PHP und Java. Daraufhin werden folgende neuartige Methoden vorgestellt und mit den bestehenden Methoden verglichen: Das Java Framework “IT Mill Toolkit“ und die Objektdatenbank “db4o“ nehmen einem Entwickler viel Arbeit ab.

Die Motivation hinter dieser Arbeit ergibt sich aus einem Projekt, das ich für meinen Praktikumsbetrieb während des Praxissemesters realisiert habe. Die Webanwendung namens “custoVoice“ sollte mit den neuen Methoden verwirklicht werden und dabei die Effizienz zu gängigen Methoden aufzeigen.

2 Webanwendungen

2.1 Definition

Bei einer Webanwendung handelt es sich um eine Software für Endnutzer, auf die über einen Webclient zugegriffen wird. Das bedeutet, dass die Software sich nicht wie bei einer gewöhnlichen Desktopanwendung lokal auf dem Computer befindet, sondern auf einem entfernten Webserver läuft. Der Benutzer interagiert mit der Webanwendung über einen Webbrowser, der mithilfe des HTTP Protokolls die Anfragen an den Webserver stellt und die Antwort dem Benutzer darstellt.[1]

Diese Definition würde bedeuten, dass es sich auch bei statisch abrufbaren HTML Seiten um eine Webanwendung handelt. Echte Webanwendungen können viel mehr als das: Sie reagieren auf Benutzereingaben, erzeugen dynamischen Inhalt und sammeln Informationen aus internen oder externen Quellen.[2]

Webanwendungen laufen auf spezieller Software, die auf einem Server installiert werden muss, um daraus einen Webserver zu schaffen. Eine Open-Source Variante ist dabei das HTTP Server Projekt der Apache Software Foundation. In Konkur- renz dazu steht der IIS (Internet Information Service) von Microsoft.

2.2 Webanwendungsentwicklung

In diesem Kapitel soll eine allgemeine Beschreibung der Vorgehensweise bei der Entwicklung erfolgen. Im Kapitel “Neuartige Methoden“ lassen sich anhand verschiedener Faktoren diese Prozesse, im Vergleich zu den bestehenden Methoden, bewerten.

2.2.1 Anforderungen und Planung

Am Anfang jeder Softwareentwicklung steht die Zusammenstellung der Anforde- rungen in einem Lastenheft. Oft erfolgt die Formulierung aus Benutzersicht, deshalb bietet es sich an, die Anforderungen mithilfe eines grafischen Prototypen darzulegen.[3] Anhand dessen lassen sich alle funktionellen Elemente definieren und jeweils die Geschehnisse in der Anwendungs- und Datenbanksebene in einem Pflich- tenheft beschreiben.

2.2.2 Design

Ein Design ist ein Handlungsplan, der definiert wie bestimmte Aufgaben zu erledi- gen sind. Bei der Softwareentwicklung bedeutet das, eine Formel zu finden, die die recherchierten Anforderungen in einen Programmcode übersetzt. Dabei werden u.a. Programmiersprache, Frameworks oder Datenbanksysteme, die für das Projekt geeignet sind, ausgewählt.[4]

Oft unterliegen Entwickler dem Drang, sofort mit dem eigentlichen Teil der Arbeit anzufangen: dem Programmieren. Für triviale Anwendungen mag diese Vorgehens- weise funktionieren, spätestens bei komplexen Anforderungen lohnt es sich jedoch im vorhinein Gedanken zum Design der Applikation zu machen. Kein oder ein schlechtes Design haben zur Folge, dass im späteren Verlauf der Projektphase viel Zeit benötigt wird, um Fehler zu beseitigen.[5]

2.2.3 Programmierung

Erst jetzt kann sich der Entwickler der Tätigkeit zuwenden, die ihm am meisten liegt. Je nachdem, welche Entwicklungsausrichtung in der Planungsphase gewählt wurde, wird nun horizontal oder vertikal entwickelt. Bei der horizontalen Ausrich- tung wird auf eine feste Basis aufgebaut, d.h. dass die Entwicklung z.B. mit der Datenbankerstellung anfängt und weiter mit der Klassenerstellung fortfährt. Bei der vertikalen Form wird eine ausgewählte Funktionalität bis zum Ende fertigge- stellt.[6]

2.2.4 Test und Installation

Tests sollten synchron zum Entwicklungsvorgang in der Entwicklungsumgebung stattfinden. Dabei bietet es sich an, unter den selben Bedienungen zu entwickeln wie sie später im produktiven Einsatz vorkommen. Das erleichtert auch die Instal- lation beim Kunden. Im optimalen Fall ist nur ein Dateitransfer des Programmes nötig. Meist sind jedoch weitere Softwarekomponenten zu installieren und zu konfi- gurieren, wie z.B. ein Webserver oder eine Zusatzbibliothek.

3 Analyse bestehender Methoden

3.1 PHP

PHP ist eine speziell für web-basierte Lösungen entwickelte Skriptsprache, die auf Webserver-Software, wie z.B. den Apache HTTP Server, läuft. Bei dem Namen handelt es sich um ein rekursives Akronym mit der Bedeutung “PHP Hypertext Preprocessor“.[7]

3.1.1 Geschichte

Rasmus Lerdorf entwickelte 1995 ein Set von Perl-Skripten, um Zugriffe seiner Website erfassen zu können. Es folgte eine weitere und umfangreichere Umsetzung in C, welche mehr Funktionalität versprach, u.a. Datenbankanbindungen und die Möglichkeit einfache dynamische Internetseiten zu programmieren. Er nannte diese Umsetzung “Personal Home Page Tools / Forms Interpreter“, kurz PHP/FI, und stellte den Source Code der Öffentlichkeit zur Verfügung. Der Syntax lehnte an Perl an, war jedoch vergleichsweise eingeschränkt und inkonsistent.[8]

Zwei Jahre später wurde PHP/FI von Andi Gutmans und Zeev Suraski in Koopera- tion mit Lerdorf neu geschrieben und gegen Ende 1998 unter dem Namen „PHP“ in der Version 3.0 veröffentlicht. Durch die starken Erweiterungsmöglichkeiten zog das Projekt viele Entwickler an, die sich an der Weiterentwicklung beteiligten und PHP 3.0 zu einem Erfolg machten. Besondere Merkmale waren die Unterstützung von objektorientierter und konsistenterer Sprachsyntax sowie die Integration von APIs und Protokollen. Auch wenn PHP 3.0 im Vergleich zu PHP/FI ein enormer Fortschritt war, stellte es keine optimale Basis für effiziente Entwicklungen komplexer Applikationen dar.[9]

Um die Effizienz zu steigern und eine verbesserte Modularität des Basiscodes zu erreichen, fingen Gutmans und Suraski 1998 an, den Kern umzuschreiben. Im November 1999 gründeten beide das Unternehmen “Zend Technologies Ltd“ und veröffentlichen im Mai 2000 PHP 4.0 mit überarbeitetem Kern namens “Zend Engine“. PHP 4.0 lieferte ]eine 200 mal bessere Performance als der Vorgänger[10]. Seitdem wuchs die Akzeptanz von PHP und dessen Benutzerzahl stetig.

In der aktuellen Version 5, die seit Juli 2004 veröffentlicht ist, wurde viel Wert auf Abwärtskompatibilität gelegt, um PHP 4 Skripte weiterhin unter PHP 5 ausführen zu können. Die wichtigste Neuerung betrifft die objektorientierten Sprachmittel, die letztendlich eine umfangreiche und professionelle Reife erlangt haben.[11]

3.1.2 Funktionsweise

PHP Code kann direkt in HTML eingebettet werden, d.h. dass im Gegensatz zu einem Skript in Perl oder C keine Anweisungen erfolgen müssen, um HTML auszu- geben.

Abbildung in dieser Leseprobe nicht enthalten

Mit den Anfangs- und Endtags '<?php' bzw. '?>' wird der PHP-Bereich einge- grenzt. Der Benutzer sieht im Browser nur die Ausgabe “Hello World“ in Fettschrift, da PHP serverseitig interpretiert und das Ergebnis an den Client geschickt wird.

PHP besitzt eine geringe Lernkurve, d.h. Anfängern können schnell und einfach ihre Ideen umsetzen. Das liegt zum Teil an der schwachen Typisierung von PHP.

Abbildung in dieser Leseprobe nicht enthalten

Die Zuweisung der Variablentypen erfolgt automatisch, Zahl A wird als Integer interpretiert und Zahl B als String. Das birgt Nachteile bei Typumwandlungen und der formalen Entwicklung. PHP hat anders als Java auch keine vorgegebene Quell- codestruktur.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1: PHP, Zend Engine

Quelle: Gildemeister, A. u.a.: PHP de Luxe, 2004, S. 34

Um das Beispiel des serverseitigen Skript ausführen zu können, wird ein Webser- ver, der PHP Parser und ein Webbrowser benötigt. Beim Abruf einer PHP Seite sendet der Browser eine HTTP Anforderung an den Webserver, der wiederum die Anfrage an die PHP Schnittstelle weiterleitet. Die Schnittstelle ruft die Zend Engine auf, welche auf die Festplatte des Webservers zugreift. Es erfolgt ein Lesezugriff auf den Quellcode des angeforderten PHP Skripts, der an den Laufzeit- compiler weitergeleitet wird. Daraufhin wird ein kompiliertes Abbild erstellt und an den Zend Executor übergeben, welcher die Ausgabe für den Browser erzeugt. Sollte das Skript Funktionsaufrufe beinhalten, die weitere Module benötigen (z.B. Zugriff auf eine mySQL Datenbank), werden die Prozesse vom entsprechenden Funktionsmodul verarbeitet und der Engine zurückgeliefert.[12]

Obwohl PHP für die serverseitige Skriptausführung spezialisiert ist, lässt sich es sich auf 2 weitere Arten nutzen:

PHP lässt sich auch über die Kommandozeile des Betriebssystems ausführen, ohne Webserver und Browser. Diese Methode bietet sich für regelmäßige Aufgaben an (z.B. Löschen eines Caches), die mittels Cronjob (Unix/Linux) bzw. Taskmanager (Windows) aufgerufen werden.[13]

Eine weitere, aber wenig verbreitete Nutzungsart stellt die Erweiterung PHP- GTK dar. Mit ihr können plattformunabhängige GUI Applikationen geschrieben werden. Dies bietet sich für Entwickler an, die sich bereits sehr gut mit PHP auskennen und grafische Programme entwickeln möchten.[14]

PHP ist für alle gängige Webserver-Software erhältlich. Neben PHP empfiehlt es sich zudem, eine Datenbank wie mySQL sowie ein entsprechendes Verwaltungspro- gramm (z.B. phpMyAdmin) zu installieren. Um den Rahmen für die Entwicklung dynamischer Webseiten zu schaffen, werden Programme verwendet, die diese Infrastruktur ohne viel Aufwand herstellen. Sogenannte “xAMP“-Distributionen beinhalten die Programme Apache HTTP Server, mySQL und PHP mit jeweiliger Installationsroutine. Der Anfangsbuchstabe der Distribution weist auf die unter- stützte Plattform hin: L für Linux, M für Macintosh und W für Windows (entspre- chend LAMP, MAMP und WAMP).

3.2 Java

Java ist eine objektorientierte Programmiersprache, entwickelt von der US-Firma Sun Microsystems. Java ist neben der Java-Plattform (der Ablaufumgebung) Teil der Java-Technologie.

Der Name lehnt an die Lieblingskaffeesorte der damaligen Entwickler an.

3.2.1 Geschichte

Die Java Technologie wurde 1991 in einem geheimen Projekt namens „Green Project“ bei Sun entwickelt, initiiert von Patrick Naughton, Mike Sheridan und James Gosling. Das Team von 13 Leuten hatte sich allerdings nicht zur Aufgabe gemacht, eine neue Programmiersprache zu entwickeln. Das Ziel war eher die Erforschung neuer zukunftsweisender Einsätze von digitalen Geräten.[15]

Im Sommer 1992 stellten sie eine funktionierende Demo einer interaktiven home- entertainment Gerätesteuerung mit animiertem Touchscreen Interface fertig. Das Gerät namens *7 (“StarSeven“) basierte auf einer neuen, prozessorunabhängigen Sprache, die von Teammitglied James Gosling eigens entwickelt wurde. Gosling nannte die neue Sprache “Oak“ (Eiche), angeblich nach der Eiche vor seinem Fenster.[16]

Als das Projekt begann, potentielle Kunden aus der Fernsehindustrie zu involvieren, nannten sie sich ab dem Zeitpunkt “FirstPerson“. Das Team entwickelte eine Demo namens “MovieWood“, die der Fernsehindustrie zeigen sollte, was mit der neuen Technologie möglich ist. Es war interaktiv, denn die Benutzer konnten im System Informationen lesen und schreiben. Unglücklicherweise waren die Firmen daran nicht interessiert, da sie befürchteten die Kontrolle zu verlieren. Die Demo war ihrer Zeit voraus, so dass das Team weiter nach einem Zielmarkt suchen musste.[17]

Nachdem “FirstPerson“ realisiert hatte, keinen Fuß in der Fernsehindustrie fassen zu können, diskutierten sie über die Zukunft des Projekts. Sie stellten fest, dass das neu aufkommende Internet exakt denselben Typ der Netzwerkkonfiguration nutzte, wie sie es mit “MovieWood“ umgesetzt hatten. Damit wies “Oak“ alle Eigenschaf- ten auf, die für den Einsatz im Internet benötigt wurden. Die Sprache erhielt den Namen “Java“, da der Name “Oak“ bereits für eine andere Programmiersprache genutzt wurde.[18]

Das Team machte sich wieder an die Arbeit und entwickelte 1994 einen Java basierten Klon des Ur-Browsers “Mosaic“ namens “WebRunner“ (später bekannt unter dem Namen “HotJava“ Browser). “WebRunner“ war zwar nur eine Demo, aber es zeigte zum ersten Mal animierte, bewegte Objekte und dynamisch ausführ- baren Inhalt innerhalb eines Webbrowsers.[19]

Im Mai 1995 wurde der Java Source Code erstmals im Internet in der Alpha Version 1.0a2 zum Download angeboten. Wenige Monate darauf, stieg die tägliche Downloadanzahl in die Tausende.[20]

Den letztendlichen Durchbruch hatte Java mit der Koorperation von Netscape mit Sun. Netscape entschied sich in der Version 2.0 ihres Browsers “Netscape Naviga- tor“ die Java-Technologie zu implementieren. Im Dezember 1995 wurde der Navigator und im Januar 1996 das JDK 1.0 (Java Development Kit) veröffentlicht. Mit dem JDK war es Entwicklern erstmals möglich, Java-Applikationen und Web- Applets zu programmieren.[21]

3.2.2 Servlets

Servlets sind Javas Antwort auf bestehende Konzepte der dynamischen Webent- wicklung mit PHP, Perl oder Ruby on Rails. Der Name ist eine Kreation aus den Wörtern “Server“ und “Applet“. Ein Applet ist ein Programm, welches in einer Umgebung eines anderen Programmes (hier: Browser) ausgeführt wird. Servlets sind dagegen Applets, die in der JVM (Java Virtual Machine) des Webservers laufen und zwischen HTTP Anfragen eines Browsers und Anwendungen/Datenban- ken vermitteln. Dabei übernehmen sie folgende Aufgaben:[22]

Benutzergenerierter Inhalt: Eingegebene Daten aus einem Formular einer Website lesen.

Analyse der HTTP Anfrage: Z.B. Details über Browser-Fähigkeiten oder Hostname des Clients.

Generierung von Ergebnissen: Informationen aus Datenbank lesen oder direkte Berechnung der Antwort.

Formatierung des Ergebnisses: Einbettung des Resultats in eine HTML Seite.

Setzen der HTTP Antwortparameter: Unter anderem Definition des MIME- Type (z.B. text/html) sowie Cookie und Caching Parameter.

Rücksendung an den Client: Das Dokument kann als Textformat, Bildformat oder auch in einem komprimierten Format an den Client übermittelt werden.

Ein Servlet kann demnach dynamische HTML Seiten generieren und auf Benut- zereingaben in einer beliebigen Weise reagieren, wie auch die CGI Konkurrenz. Der große Vorteil von Servlets ist deren Effizienz. Während bei CGI Skripten für jeden Aufruf ein neuer Betriebssystemprozess gestartet werden muss, läuft bei Servlets die JVM ständig auf dem Server. Bei einem Aufruf wird hier nur ein effizienter Java-Thread gestartet.[23] Ein weiterer Vorteil ergibt sich aus dem „Write Once, Run Anywhere“ Versprechen der Java Sprache: Ein Servlet kann ohne Modifikation auf jeder Plattform ausgeführt werden.[24]

Ein Servlet wird durch eine Benutzerinteraktion (z.B. Klick auf einen Formularbut- ton) oder auch durch ein anderes Servlet aufgerufen. Der Webserver lokalisiert daraufhin das angeforderte Servlet und sammelt alle eventuell benötigten Informa- tionen um eine Antwort (meist eine HTML Seite) zu generieren. Schließlich bekommt der Benutzer die Antwort im Browser angezeigt.[25]

Um Servlets ausführen zu können, wird ein geeignete Webserversoftware benötigt. Von der Apache Software Foundation gibt es neben dem HTTP Server noch eine spezielle Java Version: Apache Tomcat. Dabei handelt es sich um einen HTTP Server mit einem Servlet Container.

Im späteren synthetischen Teil dieser Arbeit wird anhand des praktischen Beispiels “custoVoice“ die Implementierung mit dem Framework “IT Mill Toolkit“, sowie weitere Vor- aber auch Nachteile gegenüber der Programmierung mit PHP beschrieben.

3.2.3 Java Server Pages

Während Servlets Server-Programme sind, die HTML Dateien erstellen, sind Java Server Pages (JSP) HTML Dateien, die Java-Code beinhalten. Bei der Entwicklung eines Servlets ist es schwierig die Programmierungsebene von der Visualisierungs- ebene zu trennen, da in der Programmierungsebene HTML Ausgaben stattfinden[26].

In vielen Fällen gibt es bei Websites nur kleine Bereiche, die mit dynamischen Inhalt zu füllen sind, z.B. der Vor- und Nachname eines eingeloggten Benutzers. Der restliche Inhalt ist für alle Benutzer gleich. Es macht daher keinen Sinn diese statischen Ausgaben von Hand mit einem Servlet generieren zu lassen. Denn um die Struktur oder das Design einer Webseite zu ändern, ist nach der der erfolgten Änderung eine vollständige Kompilierung des Servlets nötig.[27]

Abbildung in dieser Leseprobe nicht enthalten

Im Gegensatz zu einem Servlet muss hier nicht der ganze HTML Code in den Ausgangsstrom der Antwort geschrieben werden. Tatsächlich jedoch werden JSP im Hintergrund zu Servlets konvertiert.[28] Der statische HTML Bereich wird durch- gereicht und mit den dynamischen Ergebnissen der Aufrufen konkateniert.

Somit ist es möglich, dass Webdesigner und Webentwickler getrennt arbeiten können. Der Entwickler kann in der Vorlage des Designers die gewünschte Dynamik einfügen.

3.2.4 Frameworks

Framworks sind vorgefertigte Softwarearchitekturen, die eine bestimmte Aufgabe erfüllen sowie den höchsten Grad an Wiederverwendbarkeit bieten. Das hat den Vorteil, dass Entwicklungs- und Wartungskosten geringer ausfallen, sowie die Softwarequalität durch die bereits getesteten Komponenten verbessert wird.[29]

“White-Box-Frameworks“ bestehen aus unvollständig spezifizierten Klassen. Die Klassen enthalten abstrakte Methoden, die vom Entwickler neu definiert werden müssen. Dazu werden über Vererbung die Methoden durch die Unterklasse überschrieben. Das bedeutet für den Entwickler, die innere Struktur des Frame- works kennen zu müssen.[30] Das Konzept von “Black-Box-Frameworks“ dagegen, basiert nicht auf unfertigen Klassen. Hier werden Änderungen nicht durch Programmierung der abstrakten Methoden erreicht, sondern über die Konfigurati- on der Framework-Komponenten. Das bedeutet, dass die Funktionsweise von “Black-Box-Frameworks“ über definierte Schnittstellen konfigurierbar ist, und der Entwickler keine Kenntnisse über die innere Struktur benötigt.[31]

Am Anfang der Entwicklung von Frameworks handelt es sich meist um die “White- Box“ Variante. Gängige Frameworks gehören aber weder zur einen noch zur anderen Art. Bei hoch frequentierter Wiederverwendung ergeben sich automatisch Spezialisierungen, die eine Black-Box Struktur ergeben.[32]

Unter Java gibt es eine Vielzahl von Frameworks für unterschiedliche Aufgaben, z.B. Hibernate (object-relational-mapping), Struts (Webanwendungen) oder IT Mill Toolkit (AJAX-basierte Webseiten). Auf letzteres wird im Kapitel 4.1 eingegangen.

3.3 Datenbanken

3.3.1 Definition und Aufgaben

„Eine Datenbank ist eine selbstständige und auf Dauer ausgelegte Datenorganisation, welche einen Datenbestand sicher und flexibel verwalten kann“[33]

Eine Datenbank hat daher folgende Aufgaben[34]:

Atomarität: Eine Transaktion muss vollständig oder gar nicht ausgeführt werden. Es reicht nicht wenn bei einer Löschtransaktion nur 2 von 3 Objekten gelöscht wurden. Die 3 Objekte müssen so behandelt werden, als würde es sich um ein Objekt handeln.

Konsistenz: Eine Datenbank muss bei Operationen immer von einem definierten Zustand in den nächsten übergehen. Es dürfen keine Zwischenstände abrufbar sein. D.h. wenn Benutzer A gerade ein Objekt X speichert, darf es niemals vorkommen, dass Benutzer B ein unvollständiges Objekt X lesen kann.

Isolation: Aktive parallele Transaktionen dürfen sich nicht gegenseitig beein- flussen. Wenn 2 Benutzer dasselbe Objekt zur selben Zeit speichern möchten, muss die Datenbank einen Mechanismus besitzen um die Transaktionen zu serialisieren.

Dauerhaftigkeit: Die Arbeitsabläufe einer Transaktion sind dauerhaft sobald sie der Datenbank übergeben wurden. Sollte während einer Transaktion das System abstürzen, wird gewährleistet das die Transaktion bei einem Neustart beendet wird.

Diese 4 Eigenschaften sind auch unter dem Akronym “ACID“ bekannt und stehen dabei für deren englischen Anfangsbuchstaben (atomicity, consistency, isolation, durability).

[...]


[1] Vgl. Moczar, L., Tomcat 5, 2005, S. 117.

[2] Vgl. Moczar, L., Tomcat 5, 2005, S. 117.

[3] Vgl. Moczar, L., Tomcat 5, 2005, S. 135.

[4] Vgl. Moczar, L., Tomcat 5, 2005, S. 146.

[5] Vgl. Moczar, L., Tomcat 5, 2005, S. 145.

[6] Vgl. Moczar, L., Tomcat 5, 2005, S. 136.

[7] Vgl. Achour, M. u.a., PHP Handbuch, http://www.php.net/manual/de/introduction.php, 10.09.2007.

[8] Vgl. Achour, M. u.a., PHP Handbuch, http://www.php.net/manual/de/history.php, 10.09.2007.

[9] Vgl. Achour, M. u.a., PHP Handbuch, http://www.php.net/manual/de/history.php, 10.09.2007.

[10] Vgl. Gildemeister, A. u.a., PHP de Luxe, 2004, S. 35.

[11] Vgl. Gildemeister, A. u.a., PHP de Luxe, S. 38.

[12] Vgl. Gildemeister, A. u.a., PHP de Luxe, 2004, S. 36ff.

[13] Vgl. Achour, M. u.a., PHP Handbuch, http://de.php.net/manual/de/intro-whatcando.php, 10.09.2007.

[14] Vgl. Achour, M. u.a., PHP Handbuch, http://de.php.net/manual/de/intro-whatcando.php, 10.09.2007.

[15] Vgl. Byous, J., Java Technology: The Early Years, http://java.sun.com/features/1998/05/birth- day.html, 12.09.2007.

[16] Vgl. Byous, J., Java Technology: The Early Years, http://java.sun.com/features/1998/05/birth- day.html, 12.09.2007.

[17] Vgl. Byous, J., Java Technology: The Early Years, http://java.sun.com/features/1998/05/birth- day.html, 12.09.2007.

[18] Vgl. Byous, J., Java Technology: The Early Years, http://java.sun.com/features/1998/05/birth- day.html, 12.09.2007.

[19] Vgl. Byous, J., Java Technology: The Early Years, http://java.sun.com/features/1998/05/birth- day.html, 12.09.2007.

[20] Vgl. Byous, J., Java Technology: The Early Years, http://java.sun.com/features/1998/05/birth- day.html, 12.09.2007.

[21] Vgl. Byous, J., Java Technology: The Early Years, http://java.sun.com/features/1998/05/birth- day.html, 12.09.2007.

[22] Vgl. Hall, M., Servlets und JavaServer Pages, 2001, S. 28.

[23] Vgl. Hall, M., Servlets und JavaServer Pages, 2001, S. 29.

[24] Vgl. Hall, M., Servlets und JavaServer Pages, 2001, S. 30.

[25] Vgl. Moczar, L., Tomcat 5, 2005, S. 240f.

[26] Vgl. Hall, M., Servlets und JavaServer Pages, 2001, S. 32.

[27] Vgl. Hall, M., Servlets und JavaServer Pages, 2001, S. 31.

[28] Vgl. Hall, M., Servlets und JavaServer Pages, 2001, S. 32.

[29] Vgl. Pree, W., Komponentenbasierte Softwareentwicklung mit Frameworks, 1997, S. v.

[30] Vgl. Pree, W., Komponentenbasierte Softwareentwicklung mit Frameworks, 1997, S. 19.

[31] Vgl. Pree, W., Komponentenbasierte Softwareentwicklung mit Frameworks, 1997, S. 20.

[32] Vgl. Pree, W., Komponentenbasierte Softwareentwicklung mit Frameworks, 1997, S. 20.

[33] Steiner, R., Theorie und Praxis relationaler Datenbanken, 1996, S. 5.

[34] Vgl. Grehan, R., The Database Behind the Brains,http://www.db4o.com/deutsch/db4o%20White-paper%20-%20The%20Database%20Behind%20the%20Brains(German).pdf, 10.09.2007, S. 2.

Ende der Leseprobe aus 61 Seiten

Details

Titel
Neuartige Methoden der Webentwicklung mit Java und Objektdatenbanken
Hochschule
Hochschule Harz - Hochschule für angewandte Wissenschaften (FH)
Note
2.0
Autor
Jahr
2007
Seiten
61
Katalognummer
V112895
ISBN (eBook)
9783640129010
ISBN (Buch)
9783640130443
Dateigröße
1059 KB
Sprache
Deutsch
Schlagworte
Neuartige, Methoden, Webentwicklung, Java, Objektdatenbanken
Arbeit zitieren
B.Sc. Thomas Pienkus (Autor), 2007, Neuartige Methoden der Webentwicklung mit Java und Objektdatenbanken, München, GRIN Verlag, https://www.grin.com/document/112895

Kommentare

  • Noch keine Kommentare.
Im eBook lesen
Titel: Neuartige Methoden der Webentwicklung mit Java und Objektdatenbanken



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden