Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server
Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server
Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
5.2 <strong>Server</strong>-Architektur und -Funktionalität 59<br />
bung von URIs aus der Implementierung der Rack 3 Schnittstelle können Beschreibungen vorhandener<br />
REST Services (auch als engl. Endpoints bekannt) dynamisch erstellt werden.<br />
Rack ist eine Softwarelösung, die eine minimale, modulare API für die Verbindung von Rubyunterstützenden<br />
Web <strong>Server</strong>s zu Ruby-basierten Web Frameworks sowie zu sämtlichen Middleware-<br />
Komponente anbietet. Mittels Rack werden HTTP Anfragen in einer sehr einfachen, uniformen API<br />
(im minimalster Form, auch durch eine einzige Zeile) gekapselt.<br />
Als Inspiration für die Erstellung des Entdeckungskonzeptes diente die neue Technologie namens<br />
RESTdesc 4 , die die maßgebliche REST Beschreibung von Fielding [Fie00] insb. hinsichtlich der<br />
Benutzung von Hypermedia sowie vorhandener Semantic Web Technologien 5 wie Notation3 (N3),<br />
Konzepte aus DBPedia oder Reasoners verwendet.<br />
Weiterhin zeigen aktuelle Forschungsrichtungen wie [LG12], dass die fehlende Unterstützung von<br />
Hypermedia und die Benutzung vieler verschiedener Repräsentationen der Ressourcen (was nicht<br />
mit den “RESTful” Prinzipien übereinstimmt) zu zerbrechlichen Architekturen führt. Damit werden<br />
vorhandene REST Architekturen nicht mit der Datenexplosion, die mit der Entwicklung des Internet<br />
of Things Konzeptes zu erwarten ist, Schritt halten können. In der genannten Arbeit wird JSON-LD<br />
vorgestellt: eine Repräsentation der Ressourcen, die Konzepte der “Semantic Web” Welt unterstützt,<br />
als eine mögliche Methode, ein wahrhaftes RESTful Web Service zu entwickeln. LD steht für Linked<br />
Data und stammt ebenso aus der Welt der “Semantic Web” Technologien. Die Umsetzung dieses<br />
Konzeptes wird in voller Breite weiter in Kapitel 7.3.5 erläutert.<br />
Die eingeführten Einzelteile der Architektur beschrieben sicherheitskritische Aspekte wie z.B. die<br />
Austausch von HTTP-Mitteilungen, welche Änderungen der gespeicherten Daten erlauben können.<br />
In dieser Hinsicht müssen Konzepte zur Datensicherheit und Sichere Kommunikation entworfen werden.<br />
Diese Beschreibung erfolgt anhand des nächsten Abschnittes.<br />
5.2.2 Sicherheitskonzepte<br />
In dem vorher eingeführten Paragraph 1.5.5 wurden die grundlegenden Sicherheitsziele vorgestellt,<br />
die ein zu einem erhöhten Sicherheitsgrad führen können. Im Folgenden werden diese Prinzipien aus<br />
Sicht des Entwurfs und mit minimalen Implementationsdetails vorgestellt.<br />
Vertraulichkeit<br />
Vom oben nach unten in der Hierarchie “Backend – Anwendungen (Frontend) – Datenbank” müssen<br />
folgende Sicherheitsmaßnahmen eingehalten werden: erstens muss das <strong>Server</strong>-System mit einer<br />
starken Administrator-Passwort abgesichert werden, sodass den direkten Zugang zum <strong>Server</strong> möglichst<br />
vermeidbar ist. Weiterhin sollte die serverseitige Anwendung (das Backend) keine direkte<br />
Passwörter (z.B. in Quelltext eingebetteten Eingaben) direkt speichern, sondern diejenige benötigten<br />
Passwörter aus dem Dateisystem des <strong>Server</strong>s auslesen. Die Umsetzung dieses Prinzips wird im<br />
Abschnitt 7.3.1 erläutert.<br />
3<br />
http://rack.github.com/<br />
4 RESTdesc Konzept: http://restdesc.org/about/concept<br />
5 Beispiel zum gesamten Durchlauf eines Anwendungsfalles mit RESTdesc: http://notes.restdesc.org/<br />
2011/images/