RESTful Webservice für Webapplikationen am Beispiel eines Hochschulsport-Buchungssystems

for Degree: 
Contact Person: 
Status: 
Completed

Kurzfassung In dieser Arbeit wird der gesamte Prozess zur Entwicklung einer Datenbankgestützten Webapplikation von der Architektur zu konkreten Technologien, die eine Realisierung ermöglichen, betrachtet. Als Beispiel dient dabei ein Buchungssystem für einen Hochschulsport. Als Typ für diese Applikation wird eine Single-Page-Applikation betrachtet. Für diese Architektur werden REST und SOA als Möglichkeiten zur Umsetzung der Architektur und Schnittstelle betrachtet. Am Beispiel von REST wird untersucht, wie eine geeignete Schnittelle aussehen soll. Um diese Schnittstelle und den Server zu realisieren, werden die Frameworks Rails und Symfony betrachtet und Vor- und Nachteile erläutert. Für die weiteren Untersuchungen wird Rails gewählt. Um die Struktur des Servers an die verwendete Architektur und die Schnittstelle anzupassen, werden Vererbung und Vorlagen genutzt. Für die Dokumentation der Schnittstelle wird Swagger betrachtet. Zur Wiedererkennung der Benutzer werden die Autorisierungsverfahren Cookies, Tokens und OAuth betrachtet. Um die Schnittstelle und den Server zu testen, werden MiniTest und RSpec betrachtet.

Abstract The entire process of developing a database based web application is considered in this thesis. Architecture and specific technologies are seen as a realization. A booking system for university sports is used as an example. A Single-Page-Application is seen as a typ of this application. REST and SOA are considered as possibilities for the implementation of architecture and interface. REST is examined as an example, how an interface should look like. Frameworks Rails and Symfony are considered as an implementation of the interface. Therefore advantages and disadvantages are explained. Rails is chosen for future examination. The server structure is adjusted to the architecture and also to the interface. Therefore inheritances and templates are used. Swagger is seen as a possibility for the documentation of the interface. Cookies, tokens and OAuth are considered to recognize the user in the authorization processes. To test the interface and the server MiniTest and RSpec are used.