Diese Master Thesis beschäftigt sich mit Ruby on Rails, einer Technologie bzw. einem Framework zum schnellen und strukturierten Erstellen von datenbankbasierten Webanwendungen. Diese können Dank hervorragender Integration von AJAX-Frameworks in Rails zudem interaktiv gestaltet werden. Um Ruby on Rails herrscht momentan ein gewisser Hype, dieser entstand etwa zeitgleich mit dem Hype um Web 2.0. Dies ist jedoch nicht das Einzige, was die Beiden verbindet. Die neuen „sozialen“- und „Rich User Interface“-Anwendungen lassen sich mit Hilfe von Ruby on Rails hervorragend verwirklichen.
Die vorliegende Arbeit soll einen Überblick über die Konzepte, Möglichkeiten und auch die Entwicklungen von Ruby on Rails geben. Die Motivation hinter dem Framework ist es die Entwicklung, von Webanwendungen schnell, einfach und doch strukturiert zu gestalten. Die Tatsache, dass es eine Alternative zu Java und PHP, den beiden heute hauptsächlich eingesetzten Technologien, sein soll ist auch Teil dieser Arbeit, ebenso wie die Beschreibung der Arbeit mit Ruby on Rails anhand einer Beispielanwendung.
Inhaltsverzeichnis
1 Einleitung
1.1 Hintergrund
1.2 Aufgabenstellung
1.3 Aufbau der Arbeit
2 Grundlagen
2.1 Das WWW
2.1.1 Entstehung und Struktur
2.1.2 Weiterentwicklung
2.2 Webanwendungen
2.2.1 Kategorien von Webanwendungen
2.2.2 Aufbau von Webanwendungen
2.2.3 Fazit
2.3 Framework
2.3.1 Entwicklung
2.3.2 Definition und Eigenschaften
2.3.3 Framework vs. Bibliothek
2.3.4 Zusammenfassung und Resümee
2.4 Das Web 2.0
2.4.1 Konzept und Prinzipien
2.4.2 Komponenten und soziale Aspekte
2.4.3 Zusammenfassung und Resümee
3 Ruby on Rails
3.1 Ruby
3.1.1 Alles ist ein Objekt
3.1.2 Flexibilität
3.1.3 Blöcke
3.1.4 Mixins
3.1.5 Äußeres Design
3.1.6 Weiterführendes
3.1.7 Funktionale Programmierung in Ruby
3.1.8 Zusammenfassung und Resümee
3.2 Ruby on Rails
3.2.1 Die Philosophie
3.2.2 MVC in Rails
3.2.3 ActiveRecords
3.2.4 ActionPack
3.2.5 Reverse-Engineering
3.2.6 Testen
3.2.7 Produktionsumgebung
3.2.8 Agility on Rails
3.2.9 Projects on Rails
3.2.10 Zusammenfassung und Resümee
3.3 Weitere Rubyentwicklungen
3.3.1 JRuby
3.3.2 Ruby.Net
3.3.3 AJAX on Rails
3.3.4 Mongrel
3.3.5 Capistrano
3.4 Zusammenfassung und Resümee
4 Die Tauchanwendung
4.1 Die aktuelle Tauchanwendung - JTrak
4.1.1 Aufbau der Anwendung
4.1.2 Ablauf beim Anlegen eines Tauchgangs
4.2 Vorüberlegungen
4.2.1 Rollen und Anwendungsfälle
4.2.2 Daten
4.3 Das schrittweise Vorgehen
4.3.1 Anwendung erzeugen
4.3.2 Datenbanken erstellen
4.3.3 Erste Tabelle definieren
4.3.4 Konfiguration der Datenbankverbindung
4.3.5 Erstellen mit Scaffold
4.3.6 Benutzerverwaltung hinzufügen
4.3.7 Design anpassen
4.3.8 Zusätzliche Funktionalitäten
4.3.9 Veröffentlichung
4.3.10 Ablauf zum Anzeigen der Details eines Tauchgangs
4.4 Arbeiten mit JRuby on Rails
4.5 Fazit
5 Technologievergleich
5.1 Java 5
5.1.1 3-Schichten Architektur von Java EE
5.1.2 Bestandteile der Spezifikation
5.1.3 Java EE vs. Ruby on Rails
5.1.4 Fazit und Entwicklung
5.2 PHP
5.2.1 PHP vs. Ruby on Rails
5.2.2 Fazit und Entwicklung
5.3 Büchervergleich
5.3.1 Java
5.3.2 PHP
5.3.3 Ruby on Rails
5.3.4 Fazit
5.4 Zusammenfassung und Resümee
6 Ausblick
Zielsetzung & Themen
Ziel dieser Master Thesis ist die Erforschung der Möglichkeiten von Ruby on Rails und ein erster Vergleich mit etablierten Technologien wie J2EE und PHP. Die Arbeit untersucht die Architektur und Philosophie des Frameworks, seine Eignung für moderne Webanwendungen und das Entwicklungsmodell im Kontext von Web 2.0.
- Grundlagen des Web 2.0 und moderner Webanwendungen
- Vertiefende Analyse des Ruby on Rails Frameworks (MVC, ActiveRecord, Testing)
- Praktische Implementierung einer Tauchlogbuch-Anwendung mit Ruby on Rails
- Technologievergleich zwischen Java EE, PHP und Ruby on Rails
Auszug aus dem Buch
3.1.2 Flexibilität
Ruby wird als flexible Sprache bezeichnet, da man die Bestandteile der Sprache beliebig verändern kann. Grundlegendes kann gelöscht oder umdefiniert werden. Vorhandenes kann erweitert werden. Ruby versucht, den Programmierer nicht zu behindern. Es ist möglich einer bestehenden Klasse Methoden hinzuzufügen, sogar zu einer Instanz während der Laufzeit. In Ruby wird z.B. mit dem Plus-Operator (+) addiert. Aber falls man lieber das Wort plus verwenden möchte, besteht die Option, diese Methode zur eingebauten Rubyklasse Numeric hinzufügen.
Zusammenfassung der Kapitel
1 Einleitung: Diese Kapitel liefert den Hintergrund zur Entwicklung von Webanwendungen und definiert die Zielsetzung dieser Arbeit sowie deren Aufbau.
2 Grundlagen: Hier werden die Basistechnologien des World Wide Web, Konzepte von Frameworks und die Architektur moderner Web 2.0 Anwendungen erläutert.
3 Ruby on Rails: Dieses Kapitel widmet sich detailliert der Sprache Ruby und dem Framework Ruby on Rails, inklusive Philosophie, MVC-Struktur, Testmethoden und Anwendungsbeispielen.
4 Die Tauchanwendung: Hier wird der Ist-Zustand einer existierenden Java-Anwendung (JTrak) analysiert und die praktische Umsetzung als neue Webanwendung mit Ruby on Rails schrittweise dokumentiert.
5 Technologievergleich: Ein umfassender Vergleich zwischen Java EE, PHP und Ruby on Rails hinsichtlich Programmierung, Design, Entwicklungsgeschwindigkeit und Skalierbarkeit.
6 Ausblick: Dieses Kapitel schließt die Arbeit mit einer Einschätzung zur Zukunft und Verbreitung von Ruby on Rails ab.
Schlüsselwörter
Ruby, Rails, Webanwendungen, MVC-Framework, ActiveRecord, Web 2.0, AJAX, Java EE, PHP, Skalierbarkeit, Softwareentwicklung, Agile Softwareentwicklung, DRY-Prinzip, Konvention über Konfiguration, JRuby
Häufig gestellte Fragen
Worum geht es in dieser Master Thesis im Kern?
Die Arbeit untersucht das Webframework Ruby on Rails, dessen Konzepte und Möglichkeiten, und setzt es in ein direktes Vergleichsverhältnis zu den weit verbreiteten Technologien Java EE und PHP.
Welche zentralen Themenfelder werden abgedeckt?
Die zentralen Themen umfassen die Grundlagen der Web-Architektur, das "Web 2.0"-Paradigma, die objektorientierte Programmierung mit Ruby sowie die praktische Softwareentwicklung und deren technologischen Vergleich.
Was ist das primäre Ziel der Arbeit?
Das Ziel ist die Erforschung der Leistungsfähigkeit von Ruby on Rails als Alternative zu etablierten Enterprise-Technologien und die Demonstration des Framework-Ansatzes anhand einer konkreten Beispielanwendung.
Welche wissenschaftliche Methodik wurde verwendet?
Die Arbeit kombiniert theoretische Grundlagenanalysen mit einer praktischen Implementierung ("Action Research" bzw. Prototyping) sowie einem direkten Technologie- und Literaturvergleich.
Welche Aspekte werden im Hauptteil behandelt?
Der Hauptteil behandelt tiefgehend die Architektur von Ruby on Rails (MVC), Teststrategien (Unit/Functional Tests), die Integration von AJAX sowie die praktische Neuentwicklung einer Tauchanwendung.
Welche Keywords charakterisieren die Arbeit?
Die Arbeit wird durch Begriffe wie Ruby on Rails, MVC-Framework, Agile Entwicklung, Web 2.0, Datensicherheit und Technologievergleich definiert.
Wie unterscheidet sich Ruby on Rails laut Autor von Java?
Die Autorin betont den verkürzten Feedback-Zyklus und das Prinzip "Convention over Configuration", was zu deutlich weniger Konfigurationsaufwand und prägnanterem Code führt als bei klassischen Java EE Projekten.
Warum ist die Benutzerverwaltung in der Tauchanwendung relevant?
Die Benutzerverwaltung demonstriert praxisnah Sicherheitsaspekte, Rollentrennung (Normalnutzer vs. Administrator) und die Implementierung von Filtern innerhalb des Rails-Frameworks.
- Quote paper
- Gabriele Wichmann (Author), 2007, Ruby on Rails - Die bessere Alternative?, Munich, GRIN Verlag, https://www.grin.com/document/77010