22.01.2014 Aufrufe

Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server

Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server

Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server

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.

5.2 <strong>Server</strong>-Architektur und -Funktionalität 57<br />

Dienst ist von der Persistenz-Komponente repräsentiert, welche die vom Client entgegengenommenen<br />

Datenbestände sichert.<br />

Speicherung des Datenbestandes<br />

Als Hauptkomponente für die Speicherung des Datenbestandes bietet der <strong>Server</strong> eine Komponente,<br />

die Daten persistieren, bearbeiten und auslesen kann. Damit wird der Zugang zu einem relationalen<br />

Datenbanksystem ermöglicht, welches CRUD Operationen ausführen kann.<br />

Die Schnittstelle zwischen dem <strong>Server</strong> und dem Datenbanksystem wird von einer ORM Komponente<br />

gewährleistet. ORM steht für Object-Relational Mapping und beschreibt einen Dienst, der<br />

eine beidseitige Verbindung zwischen einem bestimmten Eintrag in der Datenbank und dessen Repräsentation<br />

als Objekt bzw. Instanz in einer Objekt-orientierten Programmiersprache herstellt. Eine<br />

Schreibvariante des Akronyms ist auch O/RM, um den Unterschied zwischen Object-Relational Mapping<br />

und Object-Role Mapping deutlicher zu machen.<br />

Vorteilhaft an der Verwendung eines ORM Dienstes ist die Einbettung gewisser Verbindungen und<br />

Eigenschaften oder Attributen der Ressource in eine einheitliche Komponente bzw. Klasse. Weiterhin<br />

können mithilfe fortgeschrittener ORM Dienste Relationen im Ganzen erstellt werden. Dies geschieht<br />

anhand einer Beschreibung der Datentypen abgesonderter Attribute und Verbindungen zu anderen<br />

Relationen des Schematas.<br />

Ein wichtiger an dieser Stelle zu beachtenden Aspekt ist die Einkapselung der Persistenz-bezogenen<br />

Funktionen in eigenständigen REST Web Services, welche z.B. für jede Operation (Create, Read, Update,<br />

Delete) auf eine Ressource eine entsprechende HTTP-Methode bereitstellt. Dieser Aspekt ist ein<br />

Beispiel für ein NonRealtimeService; Details über die Umsetzung dieses Aspektes lassen sich weiter<br />

aus dem Absatz 7.3.5 entnehmen.<br />

Aus Sicht der Datenhaltung kann der <strong>Server</strong> auch Zugang zu einer nicht- relationalen Datenbank<br />

bereitstellen. Diese Datenbank ist für den Umgang mit sehr schnell einkommenden, sogenannten<br />

“Echtzeit” Daten relevant. Wie im Fall der relationalen Datenbank wird eine Schnittstelle verwendet,<br />

mit dem Zweck, die Ausführung von CRUD Operationen zu erleichtern. Die Softwareprodukte, die<br />

für die Umsetzung der Datenhaltung, werden in 7.3.1 benannt.<br />

Während die interne Kommunikation zwischen dem <strong>Server</strong> und den einzelnen für die Datenhaltung<br />

zuständigen Teilsystemen durch ORM Dienste realisiert wird, lässt sich die eingehende Kommunikation<br />

(vom Client zum <strong>Server</strong>) mittels des genannten Kommunikationsprotokolls, nämlich HTTP,<br />

realisieren. Jeder Dienst kann nach außen eine Schnittstelle definieren, in Form eines REST Web<br />

Services, in eine Art und Weise die im kommenden Paragraph beschrieben wird.<br />

REST Web Services<br />

Die im Abschnitt 2.7 eingegangenen Konzepte hinsichtlich REST-Technologien sind in der Architektur<br />

der entwickelten Softwarelösung enthalten (Bereich “Backend/<strong>Server</strong>”). An dieser Stelle werden<br />

mehrere Services definiert, die durch REST ansprechbar sind und somit einen SOA-ähnlichen<br />

Konzept der Service-Orientierung beschreiben.<br />

Eine Service-Orientierte Architektur (engl. Service-Oriented Architecture, SOA) beschreibt eine<br />

Software-Architektur, die aus mehrere lose gekoppelte Dienste oder Services besteht. Somit werden<br />

die einzelnen Bestandteile und Funktionalitäten der beschriebenen Anwendung in selbständige

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!