08.12.2012 Aufrufe

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

2 UML-based Web Engineering - UWE - Ludwig-Maximilians ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

7 Implementierung des Publikationsverwaltungssystems<br />

Unser Bericht über die Implementierung des PVS beginnt mit der Vorstellung der eingesetzten<br />

Softwaretechnologien (Abschnitt 7.1) sowie der eingebundenen externen Komponenten und<br />

Plugins (Abschnitt 7.2). In den Sektionen von Abschnitt 7.3 schildern wir unsere<br />

Vorgehensweise und Erfahrungen bei der Realisierung der verschiedenen <strong>UWE</strong>-Modelle, die<br />

beim Entwurf des PVS entstanden sind. Eine Bewertung der Umsetzbarkeit der Modelle<br />

nehmen wir abschließend in Abschnitt 7.4 vor.<br />

7.1 Software-Technologien<br />

7.1.1 Ruby on Rails<br />

Ruby on Rails (im Folgenden auch kurz 'Rails') ist ein Open-Source-Framework zur<br />

Entwicklung von Datenbank-basierten <strong>Web</strong>anwendungen, das von dem dänischen<br />

Programmierer David Heinemeier Hansson entwickelt und 2004 veröffentlicht wurde. Es<br />

basiert auf der Programmiersprache Ruby und besitzt, wie zahlreiche andere <strong>Web</strong>-<br />

Frameworks auch, eine Model-View-Controller (MVC)-Architektur.<br />

Zwei wesentliche Konzepte, die das Design von Ruby on Rails bestimmen, sind die<br />

Prinzipien DRY und „Konvention über Konfiguration“. Der Grundsatz DRY („Don't Repeat<br />

Yourself“) besagt, dass es für jede Information in einem System genau eine autoritative und<br />

eindeutige Repräsentation geben sollte. Redundanzen von Daten und Funktionalität sind zu<br />

vermeiden, da sie die Wartbarkeit und Flexibilität des Systems beeinträchtigen 58 . Eine<br />

Anwendung dieses Prinzips in Rails findet sich z.B. bei der Definition von Datenbank-<br />

Tabellen und den korrespondierenden Modellklassen. Die Festlegung eines Tabellenschemas<br />

über ein Migrationsskript ist hierbei die einzige Stelle in Rails, an der die (zu persistierenden)<br />

Eigenschaften einer Modellklasse definiert werden. In den Klassen selbst wird diese<br />

Information nicht zusätzlich durch entsprechende Attributdefinitionen angegeben.<br />

Das Prinzip „Konvention über Konfiguration“ bedeutet, dass Rails für zahlreiche Aspekte<br />

einer Anwendung sinnvolle Voreinstellungen besitzt. Dadurch ist es möglich, schnell<br />

lauffähige Anwendungen zu generieren, ohne viel Zeit für Konfigurationsarbeiten aufwenden<br />

zu müssen. Die Defaultwerte erlauben es dem Entwickler, sich auf das Wesentliche seiner<br />

Arbeit, nämlich die eigentliche Programmierung der <strong>Web</strong>anwendung, zu konzentrieren,<br />

können bei Bedarf allerdings auch verändert werden. Zu den Rails-spezifischen<br />

Voreinstellungen gehören u.a. das Muster, nach dem aus einer URL die Controller-Methode<br />

extrahiert wird, die für die Verarbeitung eines HTTP-Requests zuständig ist, oder eine<br />

Namenskonvention, welche die Verknüpfung einer Datenbanktabelle mit einer Modell-Klasse<br />

festlegt 59 .<br />

In Ruby on Rails existiert für jede der drei Komponenten der MVC-Architektur ein Sub-<br />

Framework: ActiveRecord repräsentiert die Modellkomponente, es ist für Geschäftslogik,<br />

Datenkonsistenz und den Datenbankzugriff verantwortlich. Für die Präsentationsschicht ist<br />

ActionView zuständig. Die zentrale Technologie dieses Rails-Pakets, die bei der Entwicklung<br />

58 [42], S.8<br />

59 [42], S. 7f.<br />

76

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!