I
Inhaltsverzeichnis
1 Einleitung 1
2 Begriffskl arung 1
2.1 Framework 1
2.2 CakePHP 2
2.2.1 MVC 2
2.2.2 DRY 3
2.2.3 CRUD 4
2.2.4 Konvention uber Konfiguration 4
2.2.5 Abgrenzung 5
3 Planung 5
3.1 ERM 5
3.2 Datenbank-Struktur 6
3.3 Technische Basis 7
4 Realisierung 8
4.1 Backen“ mit der CakePHP-Konsole 8
4.2 Realisierung mittels Prototyping 9
4.3 Anforderungsspezifische Anpassungen 10
4.4 Helfer und Komponenten 12
5 Wartung und Erweiterung 13
5.1 Internationalisierung und Lokalisierung 13
5.2 Unit-Tests 14
6 Res umee 15
II
Abk¨ urzungsverzeichnis
.htaccess engl., hypertext access; ” Konfigurationsdatei, in der verzeichnisspezifische Einstellungen auf NCSA-kompatiblen Webservern (z. B. Apache) vorgenommen werden k¨ onnen“[13] ERM engl., Entity Relationship Modell DBMS Datenbank Management System (z.B. MySQL) MVC engl., Model View Controller
ORM engl., object-relational mapping; Technik zum Ablegen von codierten Objekten in einer relationalen Datenbank
URL engl., Uniform Resource Locator; definiert den Pfad und die Zugriffsmethode auf eine Netzwerkressource wie z.B. eine Webseite.
III
Abbildungsverzeichnis
1 Vereinfacht dargesteller MVC-Prozess . . . . . . . . . . . . . . . . . . 3 2 Darstellung eines Entity Relationship Modells anhand des Beispiels Student, Studiengang und Dozent . . . . . . . . . . . . . . . . . . . . 6 3 Bildschirmfoto der Konsolenanwendung ” cake bake“ zum Erstellen
von Klassen, Methoden, Datenbankkonfigurationen und Testf¨ allen . . 8 4 Prototyping Prozess nach Warfel[11] . . . . . . . . . . . . . . . . . . 9
1
1 Einleitung
Betrachtet man die Web-Anwendungsentwicklung im Jahre 2011, so handelt es sich verglichen mit der Informatik in ihrer Gesamtheit um ein junges Handwerk. Viele Prozesse und Technologien befinden sich in stetiger Weiterentwicklung, Methoden werden genutzt und wieder durch effizientere Verfahren ersetzt. Die daraus f¨ ur die Web-Anwendungsentwicklung resultierende Problematik sind h¨ aufig wechselnde Technologien und Konzepte, die Herausforderungen sowohl an eine flexible Konzeption von Web-Anwendungen, als auch an das Wissensmanagement der Entwickler und Betreiber stellen. 1
Ein mittlerweile als etabliert zu betrachtendes Konzept, oder genauer, ein Architekturmodell f¨ ur die Strukturierung von Web-Anwendungen 2 , ist MVC. Zahlreiche Frameworks implementieren dieses Architekturmodell, eines von ihnen ist das auf der Skriptsprache PHP basierende CakePHP.
Diese Arbeit vermittelt einen am Beispiel CakePHP orientierten Einblick in die Verwendung von MVC bei der Web-Anwendungsentwicklung. Nach grundlegenden Begriffskl¨ arungen geht sie auf die Planung von CakePHP-Anwendungen ein und beschreibt anschließend die Realisierung durch ein CakePHP konzeptionell naheliegendes Vorgehen, das Prototyping 3 .
Abschließend soll die Frage gekl¨ art werden, ob MVC respektive CakePHP f¨ ur effiziente und nachhaltige Web-Anwendungen einsetzbar ist und welche Rahmenbedingungen dies erfordert.
2 Begriffskl¨ arung
Diese Arbeit verwendet einige Begriffe, die f¨ ur das Verst¨ andnis der Thematik als grundlegend erachtet werden. Der folgende Abschnitt beschreibt diese Begriffe und erl¨ autert deren Zusammenhang.
2.1 Framework
Der Begriff des Frameworks ist relativ ungenau definiert [...]“[8]. Als Framework
”
kann bereits eine Ansammlung von vorgefertigten Codebestandteilen gelten, ebenso wie komplexe, ” [...] bis hin zu kompletten [Abstraktionen]“[6].
1 Beide Punkte begr¨ unden wesentlich die Themenwahl, da der Autor - obgleich im SAP-Umfeldregelm¨ aßig in Projekten Web-Anwendungen entwickelt und nach verbesserten Methoden sucht.
2 MVC wird nicht ausschließlich in der Web-Anwendungsentwicklung genutzt, sondern findet generell in der Softwareentwicklung Verwendung. Im Rahmen dieser Arbeit wird jedoch das Augenmerk auf die Web-Anwendungsentwicklung gelegt.
3 Begriffsdefinition im folgenden Kapitel
2
In der Literatur finden sich zahlreiche Definitionen des Begriffes ” Framework“. Diese
Arbeit beschr¨ ankt sich auf eine Darstellung im Kontext der Software-Entwicklung. Dort bezeichnet man Frameworks (oder auch Application Frameworks) sowohl im
verwendung.“[6] Sie bilden ein Rahmenwerk, ” Entwicklung von Applikationen verwendet wird.“[6]
Frameworks allein bilden keine fertigen Applikationen, sondern dienen Entwicklern einerseits als Basis f¨ ur die Entwicklung, andererseits bieten sie zahlreiche Grundfunktionen, die das Erstellen von Applikationen erleichtern und beschleunigen. ” In
der Regel wird [....] ein bestimmter Stil oder [...] Aufbau vorgegeben, nach dem sich der Entwickler richten sollte“[8], um den Konfigurationsaufwand zu senken.
2.2 CakePHP
Das Framework CakePHP basiert, wie die Namensgebung erkennen l¨ asst, auf der Skriptsprache PHP. Historisch basiert CakePHP konzeptionell auf Ruby on Rails, einem auf der Programmiersprache Ruby basierendes MVC-Framework. Auch CakePHP implementiert das Design-Pattern MVC und folgt damit dem Prinzip der klaren Trennung einzelner Applikationsteile. Auf MVC wird im folgenden Kapitel 2.2.1 n¨ aher eingegangen.
Bedingt durch diese Verwandtschaft, zeichnet sich CakePHP durch zahlreiche Prinzipien aus, die von Ruby on Rails ¨ ubernommen wurden und die die Entwicklung von Web-Anwendungen vereinfachen sollen. Die folgenden Abschnitte beschreiben diese Prinzipien.
2.2.1 MVC
MVC ist ein sogenanntes Entwurfsmuster f¨ ur die logische und technische Strukturierung von Softwareprodukten. ” Die zentrale Idee [...] ist, dass man die Verwaltung
der Information von der Art, wie die Information ver¨ andert wird, und der Art, wie der Inhalt dargestellt wird, trennen kann.“[7, S. 170]. Es ” zerlegt die Interaktion mit der Benutzerschnittstelle in drei Rollen“[6, S. 14]:
Model Das Model repr¨ asentiert ein Objekt, das alle Informationen eines bestimmten Typs darstellt. Es bildet mit seinen Methoden eine Abstraktion zur Datenbankschicht und implementiert Funktionen, die nicht f¨ ur die direkte Interaktion mit der Benutzerschnittstelle ben¨ otigt werden. Das Model kommuniziert ausschließlich mit dem Controller und hat keine direkte Verbindung zur View. View Die View dient der aufbereiteten Darstellung von Informationen und zur Interaktion mit dem Benutzer. Sie erh¨ alt die f¨ ur sie relevanten Daten vom Con- troller und kommuniziert diese i.d.R. per HTTP-Response an den Client.
Arbeit zitieren:
Tobias Kalder, 2011, Realisierung von Web-Anwendungen mittels MVC-Frameworks am Beispiel CakePHP, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Formatvorlage (Microsoft Word) für eine Diplomarbeit, Masterarbeit, Ha...
Für MS Word 2003 - Update 2010
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Formatvorlage (OpenOffice) für eine Diplomarbeit, Masterarbeit, Hausar...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 35 Seiten
Formatvorlage / Vorlage zur Erstellung einer Diplomarbeit, Bachelorarb...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 15 Seiten
Formatvorlage / Vorlage für eine Diplomarbeit / Hausarbeit
Für MS Word 2007 - dotx
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 25 Seiten
Anleitung zum Erstellen schriftlicher Arbeiten: Der Aufbau einer wisse...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 20 Seiten
Erstellen einer schriftlichen Hausarbeit
Vorlagen, Muster, Formulare, Infobroschüren
Hausarbeit, 14 Seiten
Grundtechniken wissenschaftlichen Arbeitens
Bibliografieren - Reden - Schr...
Vorlagen, Muster, Formulare, Infobroschüren
Skript, 46 Seiten
Ratgeber zur Erstellung wissenschaftlicher Arbeiten. Diplomarbeiten - ...
Vorlagen, Muster, Formulare, Infobroschüren
Ausarbeitung, 39 Seiten
Informatik - Internet, neue Technologien: Realisierung von Web-Anwendungen mittels MVC-Frameworks am Beispiel CakePHP ist nun auf dem Buchmarkt erhältlich
Informatik - Internet, neue Technologien: neuer Titel erschienen: Realisierung von Web-Anwendungen mittels MVC-Frameworks am Beispiel CakePHP
Tobias Kalder hat einen neuen Text hochgeladen
Building PHP Applications with Symfony, CakePHP, and Zend Framework
Building Applications with Sym...
Bartosz Porebski, Karol Przystalski, Leszek Nowak
0 Kommentare