Masterarbeit: Konzeption einer REST-Schnittstelle für ginkgo

24 Sep

Da nun langsam die ofizielle Bearbeitungzeit meiner Masterarbeit beginnt (01.10.2011), möchte ich hier mein Thema vorstellen.

Offizieller Titel:

Einsatz des REST-Architekturstils als Integrationsarchitektur  –
Konzeption und agile Entwicklung einer REST-Schnittstelle für eine Rails-basierte Scientific Event Management Plattform

Ich werde also eine öffentliche Schnittstelle (=API) für die Scientific Event Management Plattform „ginkgo“ konzipieren und implementieren. Ginkgo wurde in der Bachelorarbeit von Julian Maicher entwickelt und unterstützt den gesamten Prozess der Planung und Durchführung wissenschaftlicher Veranstaltungen mit dem Ziel, die Awareness der Teilnehmer zu fördern. Obwohl der Kern des Systems vorhanden ist, existiert noch keine API, welche die Nutzung der Funktionalitäten auch durch andere Systeme und insbesondere durch mobile Endgeräte zulässt.
Solch eine API wird aber immer wichtiger- die großen Webdienste (Facebook, Twitter, YouTube, …) sind auch deswegen heute so erfolgreich, weil sie Dritten ihre Funktionen auf einfache Art und Weise zur Verfügung stellen.

Im Rahmen der MA wird es also auch eine Aufgabe sein, diejenigen Funktionen zu bestimmen, die auch über eine ginkgo-API verfügbar sein sollen. Ein erster Anhaltspunkt sind hier für mich Listen mit Features, die bereits während der ginkgo-Entwicklung im Rahmen des Feature Driven Development-Prozess (FDD) aufgestellt wurden. Jedes Feature stellt dabei einen Mehrwert für den späteren Nutzer dar. Die Features werden in überschaubarer Größe geplant und in Reviews auf ihre erfolgreiche Umsetzung evaluiert (Beispiel: „Login with twitter account“, „Follow user“, „Show event“).

Aus technologischer Sicht soll die Schnittstelle den REST-Architekturstil (Representational State Transfer) umsetzen. Besonders  im Zusammenhang mit Ajax-Clients und den im Rahmen des Begriffs Web 2.0 populär gewordenen Mashups erweist sich diese Einfachheit als vorteilhaft, denn für die Entwicklung und Interaktion mit RESTful Web Services wird nur eine HTTP-Bibliothek benötigt, so dass auch mit einfachen Skriptsprachen darauf zugegriffen werden kann. Eine genauere Beschreibung werde ich in späteren Blogeinträgen noch geben.

Da ich meine Bachelorarbeit schon dem Thema REST gewidmet habe, bringe ich in diesem Themengebiet schon tiefere Erfahrungen mit. Deswegen freue ich mich auch, meine dort gemachten zumeist theoretischen Erkenntnisse bei der Entwicklung der ginkgo-API auf ihre Praxistauglichkeit zu überprüfen.

Was ich bis jetzt gemacht habe:
– Zielvereinbarung
– Tex-Vorlage an mein System angepasst und vorläufige Gliederung integriert
– Ruby+Ruby on Rails Buch gelesen

Nachdem der ginkgo-Quelltext für mich zugegebenerweise erst schwer zu lesen war, habe ich durch die Bücher nun doch fast alle Prinzipien, die ich bei mehreren GRAILS-Projekten angewendet habe, auch bei ginkgo wiedergefunden. GRAILS ist die Portierung von Ruby on Rails für die JVM. Wer auf schnelle Art und Weise Webapps entwickeln will und auf der JVM bleiben will/muss, dem empfehle ich GRAILS auf jeden Fall.

Weitere Schritte:
– Schauen, wie REST-APIs generell entwickelt werden (insbesondere unter Rails)
– Schauen, wie andere große Webdienste ihre APIs designt haben

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: