mk-prg-net \web \architecture

Architektur des Web's

Ressourcen des Web's

Die Architektur des Internets

Webclient und -Server
Ein Server, der seine Dienste über das HTTP- Protokoll anbietet, wird Webserver genannt.
Ein Client, der Dienste über das HTTP- Protokoll konsummiert, wird Webclient genannt.
Ein Webclient, der HTML verarbeiten und darstellen kann, wird Browser genannt.

Vorteile

  1. mit Browsern wurde weltweit eine standarisierte Schnittstelle zum Navigieren durch Hypertext etabliert
  2. HTML5/CSS/JavaScript stellt den wohl verbreitetsten Standardbaukasten für die Implementierung von GUI's dar
  3. Clientseitig plattformübergreifend: fast alle PC's, Tablets und Smartphones haben einen Browser installiert
  4. Im Falle von RESTful- Webanwendungen ein hohes Maß an Skalierbarkeit
  5. Robust gegenüber Verbindungen mit langen Latenzzeiten - Zugriff auf nahezu beliebig weit entfernte Ressourcen möglich

REST

REST allgemein.

Ein in seiner Bedeutung sehr weitreichendes Architekturmuster ist Rest. Obwohl bereits durch Roy Fielding 1994 in Form des HTTP Protokolls implementiert und durch seine Dissertation im Jahre 2000 verallgemeinert, wird es erst in letzter Zeit bewusst in Webanwendungen umgesetzt. Dabei spielt die Umsetzung einer zentralen Eigenschaft von REST eine Rolle, dem HATEOAS ("Wer REST will, muss mit HATEOAS ernst machen") . folgende abbildung veranschaulicht die zusammenhänge

REST durch HTTP implementieren

Clients von REST- Anwendungen dürfen sich wünschen, wie die abgerufene Ressource formatiert wird. Dazu wird in einem GET- Befehl ein ACCEPT - Header definiert.

Bezüglich der Formatierung oder besser dem Repräsentationsformat der Ressource ist REST völlig offen. Wenn der Server das Wunschformat unterstützt, liefert er es in einem Response an den Client aus und quittiert den Request mit dem HTTP- Statuscode 200.

Kann der Server die Ressource in keinem der Wunschformate liefern, dann wird der HTTP Statuscode 406 (Not Acceptable) zurückgeliefert.

Beispiel einer REST- Anwendung: Projekt Plan

Eine Projektverwaltung mit einer REST- Architektur stellt das Projekt insgesamt, als auch seine einzelnen Phasen als Ressourcen dar. Jede Ressource kann mittels eines GET- Befehls abgerufen werden. Die Repräsentation der Ressource stellt die Projektphase in ihrem aktuellen Zustand dar. Zudem liefert sie Links, über die Aktualisierungen der Ressourcen möglich sind.

Vorteile sind:

Klassifikation von Rest- Anwendungen

Klasse Mensch/Maschine Maschine/Maschine
Layer Frontend Backend
Frameworks ASP.NET MVC Web Api 2, OData
Präsentation text/html (View), application/javascript application/json, application/xml, text/csv
Ressourcenverknüpfung
  • HTML- Anchorelemente mit href Attribut <a href="http://mk-org-net.de/CanvasScript/Anton/T1" >Anton, T1</a>
  • In Eventhandlern gestartete XHTMLRequest Aufrufe mit JavaScript (Ajax)
<link rel="CanvasScript" type="application/json" href="http://mk-org-net.de/CanvasScript/Anton/T1"/>