Fraunhofer-Gesellschaft

Publica

Hier finden Sie wissenschaftliche Publikationen aus den Fraunhofer-Instituten.

Konzeption und Realisierung einer Vertikalen Microservice Architektur für einen Online-Geodatenkatalog

 
: Schäfer, Marco
: Krämer, Michel

Gießen, 2016, 124 pp.
Gießen, TH Mittelhessen, Master Thesis, 2016
German
Master Thesis
Fraunhofer IGD ()
Geospatial data; Software architectures; Cloud computing; Microservices; Guiding Theme: Smart City; Guiding Theme: Visual Computing as a Service; Research Area: Computer graphics (CG); Research Area: Modeling (MOD)

Abstract
Das Ziel der vorliegenden Arbeit ist der Entwurf einer Systemarchitektur sowie die Implementierung eines Prototypen für einen neuartigen Geodatenkatalog. Die Lösung soll das Suchen und Finden relevanter Daten für einen Benutzer möglichst einfach gestalten. Die Funktionsweise der Plattform soll ähnlich den bekannten Internet-Suchmaschinen sein, bei denen ein Suchfeld das zentrale Element zur Benutzerinterkation darstellt. Gefundene Ergebnisse sollen prominent nach einer bestimmten Rangfolge präsentiert werden.

Um den hohen Anforderungen zu Benutzerinterkation und der somit benötigten geringen Antwortzeiten gerecht zu werden, soll ein reaktives Cloud-getriebenes System umgesetzt werden. Außerdem sollen neue Funktionalitäten schnell und mit geringem Aufwand zur Verfügung gestellt werden können, sowie sich nicht mehr benötigte Funktionalitäten entsprechend entfernen lassen. All diese Aktionen müssen während des laufenden Systembetriebes möglich sein, ohne das Gesamtsystem in irgendeiner Weise negativ zu beeinflussen. Hierzu wird, eine auf dem Microservice-Architekturstil basierende Systemarchitektur entworfen und mittels eines einfachen Prototyps technologisch wie architektonisch evaluiert. Zu Beginn des Projektes werden das durch die Plattform zu lösende Problem definiert sowie mögliche Nutzergruppen und Funktionalitäten festgelegt. Anhand dieser Informationen werden im Anschluss verschiedene Kriterien extrahiert, auf denen der darauffolgende Architekturentwurf basieren soll.

Der Entwurf der Systemarchitektur gliedert sich in drei Phasen. In Phase eins werden Prinzipien für den Architekturentwurf, die weitere Implementierung sowie die Team- und Projektorganisation niedergeschrieben. In der zweiten Phase erfolgt ein Vorabentwurf der Architektur als monolithisches System. Dieses monolithische System dient dem Finden von Systemgrenzen anhand fachlicher Zusammengehörigkeiten, für das nachfolgende vertikale Zerlegen des Systems. Phase drei beschreibt den endgültigen Architekturentwurf. Im Anschluss daran werden die entworfene Architektur und die verwendeten Technologien durch die Implementierung verschiedener Funktionalitäten überprüft.

Neben der Evaluation der eingesetzten Technologien und den Entwurf einer entsprechenden Systemarchitektur bildet die Arbeit eine Basis zur weiteren Implementierung der Plattform. Aufbauend auf der Implementierung erster, grundlegender Funktionalitäten sowie den entwickelten Konstruktionsrichtlinien können Entwickler schnell mit der Umsetzung der Plattform fortfahren.

 

The aim of this thesis is the design of a suitable draft and the implementation of a new form of a catalogue for geospatial data. The platform should make it easy for a user to search and to find relevant data. To achieve that, it provides a search field as its central element to search for datasets, similar to a web search engine. The results of a search will be presented in a special rank order.

In order to meet the high requirements for a proper user interaction and the associated low response times needed, the system will be planned as a cloud-driven, reactive system. Also the architecture must ensure that it is able to deliver new features - or to delete unused ones - with less effort and to keep the associated cost at low level. It must be possible that all this actions can be made while the system in running, without affecting the overall functionality of the system. For that, this project uses a Microservice based system architecture. To evaluate the architecture and the implementation technologies used we implement a prototype of the platform. At the beginning of this thesis, we define the problems the software should solve for a user, evaluate possible user groups and a basic set of features. Based on this information we define several criteria to design the software architecture of the prototype.

The architectural design process is divided in three parts. Part one defines principles for the architecture design itself and the implementation of the system. In addition it specifies organizational principles for teams and project accountabilities. In the second phase we plan a first architecture based on a monolithic design. This monolithic system will be used to define system boundaries based on functionality. This will help disassemble the monolith into single systems. Phase three describes the design of the final architecture. Following to that, the architecture and the used implementation technologies will be evaluated by implementing some specific functionality.

In addition to the evaluation of the technologies used to implement the system and the evaluation of the system architecture, this thesis provides a basis for a further implementation of the platform. The implementation of basic functionalities and the designed guidelines presented in this thesis enable developers to continue work on the product.

: http://publica.fraunhofer.de/documents/N-438662.html