img - GitHub Pages
img - GitHub Pages
img - GitHub Pages
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
4.3. RP2 Application Logic 60<br />
Diskussion<br />
REST ist ein immer wichtigerer Architekturstil und wird in dieser Form überall eingesetzt<br />
(siehe Twitter [Twib], Stripe [Str], etc.). Es definiert die wichtigsten Grundbedürfnisse<br />
und überlässt applikationsspezifische Entscheidungen dem Software Entwickler.<br />
Seit einiger Zeit ist es immer wichtiger eine generische Schnittstelle auch für kleinere<br />
Applikationen zu erstellen. Vielfach wird seit dem aufkommen von Smartphones nicht<br />
nur eine Webseite erstellt, sondern auch entsprechende Apps.<br />
Dadurch dass REST keine Serialisierungsform festlegt, ist es dem Entwickler der<br />
API möglich, verschiedene Datenformate zu unterstützen (siehe auch 4.7 “RP6 Should-<br />
Formats”). Dies ermöglicht beispielsweise die Nutzung eines kompakten Datenformats,<br />
damit insgesamt weniger grosse Daten übertragen werden müssen.<br />
Durch die relativ flexible REST-Definition mit einigen wenigen Randbedingungen tut<br />
sich aber auch ein wichtiger Diskussionspunkt auf: Mit welchem HTTP-Verb (POST<br />
oder PUT) werden Updates gehandhabt Es gibt hier verschiedene Ansichten und die<br />
Diskussion ist bei Weitem nicht abgeschlossen. Eine gute Hilfestellung hierfür bietet<br />
“Stack Overflow - HTTP PUT vs POST in REST” [Comc].<br />
Abschliessend gibt das Projektteam folgenden Rat: Ist eine flexible und generische API<br />
nötig, ist REST eine sehr gute Lösung. Es erlaubt Entwicklern bestehendes Know-How<br />
über die Web-Entwicklung wiederzuverwenden. Zudem wird die API durch die Zustandslosigkeit<br />
skalierbar.<br />
4.3. RP2 Application Logic<br />
Die Logik einer Applikation kann in zwei Kategorien unterteilt werden:<br />
1. Businesslogik<br />
2. Präsentationslogik<br />
Businesslogik<br />
Die Businesslogik beinhaltet das eigentliche Herz der Applikation. Sie legt fest, welche<br />
Zustandsübergänge für Ressourcen möglich sind, welche Daten erlaubt sind und was bei<br />
API-Aufrufen ausgeführt wird.<br />
Zur Businesslogik gehört laut den “ROCA”-Autoren auch die logikbasierte Validierung.<br />
Diese beinhaltet [HST] Funktionalität zur Überprüfung der Korrektheit der übertragenen<br />
Daten im Sinne der Businesslogik.<br />
Präsentationslogik<br />
Bei jeder Aktion eines Benutzers müssen zwei Aktionen durchgeführt werden:<br />
• API-Aufrufe (lokal und remote)<br />
• Darstellung der nächsten Ansicht