Das Verständnis der Definition und Philosophie der REST

Das Verständnis der Definition und Philosophie REST

  

REST ist ein umstrittenes Thema unter den Web-Service-Enthusiasten, weil sie der Auffassung war, für das Gegenteil von dem, was Web-Services und SOA zu erreichen versuchen stehen. Das Problem mit diesem Denken ist, dass REST steht nicht im Widerspruch mit der abstrakten Definition von SOA und Web Services. REST steht im Widerspruch mit Technologien wie SOAP, WSDL und WS-* Spezifikationen. Die folgenden bietet eine schnelle Definition der REST: REST ist über Datenbank-Design und ist über SOAP API-Design. Die Definition an sich ist umstritten, da viele darauf hin, dass SOAP können verwendet werden, um Dokument-basedWeb Dienstleistungen zu schaffen. Allerdings vermisse sie die Tatsache, dass REST bezieht sich nicht auf die Daten zwischen dem Client und dem Server gesendet. Er bezieht sich, wie Adresse ein und senden oder diese Daten erhalten. Nehmen wir an, Sie schreiben ein SOAP Web Service, das heißt, Sie werden der Gestaltung eines WSDL-Dokuments. WSDL selbst impliziert die Definition eines Access Points mit Operationen oder bei der Programmierung sprachlicher Hinsicht, APIs. Die APIs können die Übergabe von Dokumenten zu unterstützen, aber die WSDL-Operationen sind APIs. Das ist keine schlechte Sache, nur einen Bezugspunkt zu sagen, dass über die SOAP-APIs. REST ist über die Verwendung des HTTP-Protokolls zum Zustand durch eine Ressource angegeben zu manipulieren. Die SQL-Programmiersprache wird verwendet, um relationale Daten zu manipulieren. In der SQL-Sprache, Verben, wie INSERT, SELECT, UPDATE und DELETE-Aktionen auf die Daten. REST verwendet diese Verben, aber sie sind HTTP-Verben: PUT, POST, GET und DELETE. Alles, was Sie brauchen, um zu den Daten tun können, in diesen Verben ausgedrückt werden, unabhängig davon, ob Sie mit HTTP-oder SQL. Ein weiterer Unterschied zwischen Datenbank-Design und API-Design ist, dass mit Datenbank-Design, sind Sie mit Mengen arbeiten.

Die Sets können keine, eine oder viele Elemente. Der Graf spielt keine Rolle. Nicht mit den APIs, die Anzahl der Elemente eine Rolle, weil sie explizit APIs, die entweder zu manipulieren keine, eine oder mehrere Elemente erstellen müssen. Keiner dieser Vergleiche sollen sagen, dass man gut ist und der andere schlecht ist. Stattdessen wollten sie zeigen, dass REST-und SOAP sehr unterschiedlich sind, in ihrer Umgebung werden. Alle diese Theorie klingt Hand einwirken, so dass der beste Weg, die Theorie zu erklären, ist zu einem Dienst einführen und mit REST. Das Beispiel Taschenrechner Anwendung beginnt mit einem traditionellen API-Ansatz, wandelt die Anwendung in einer vorläufigen REST-Ansatz, und dann verwandelt sich die vorläufige Lösung in ein vollwertiges REST Lösung. Die vorläufigen REST Lösung dargestellt zu zeigen, dass nicht alle REST-Lösungen nutzen, alle Funktionen von REST. Die einfachen Rechner unterstützt nur das Gedächtnis und die Addition zweier Zahlen. Der Server fügt die beiden Zahlen zusammen und erzeugt ein Ergebnis. Um eine neue Reihe von Zahlen zu addieren, müssen Sie auf die Schaltfläche Zurück, und geben Sie zwei unterschiedliche Nummern. Aus Sicht der Verarbeitung stellt der Fluss zwischen den Aufruf der HTML-Seite und leitet die Daten an den Server, und klicken Sie dann erzeugt das Ergebnis. In einer traditionellen Web-Anwendung, wenn der Benutzer auf "Absenden", die Daten aus dem HTML-Formular (dh die Inhalt der beiden Textfelder) werden gesammelt und an den Server geschickt über eine HTTP-POST. Der Server liest und verarbeitet die Daten, um die Antwort in Form einer HTML-Seite zu generieren.

Die Ergebnisse der POST sind behoben. Dies bedeutet, dass alle HTML-Seite mit einem HTML-Formular der Server-Seite Generation Seite aufrufen können, aber das Ergebnis ist vordefiniert. In dem Beispiel, hat das Ergebnis zu einer HTML-Seite, die in einer HTML-Seite erzeugt werden kann. Das Problem ist, dass ein ordentliches Ergebnis zu erzeugen, muss der Server berücksichtigt Stylesheets, sowie auch anderen Look-and-Feel-Attribute. Wenn man darüber nachdenkt, ist das allgemeine Ziel der Server-Seite POST zu einem Ergebnis, um eine Abfrage zu generieren. Natürlich kann der Server einige Techniken einsetzen, um die richtigen Daten in den richtigen Kontext zu generieren. Das anspruchsvolle Rahmenbedingungen hat dazu geführt, dass der Versuch zu "reparieren" das Problem der Entsendung Diese Inhalte. Ajax ist es, was solch ein überzeugendes Argument bei der Entwicklung von Web-Anwendungen. Ajax konzentriert sich auf das Senden und Empfangen notwendigen Inhalt, nicht die Extras, die nichts haben nicht mit den Inhalten. Bei der Verwendung von Ajax ist die erste Seite immer noch heruntergeladen, aber die Art der HTTP-POST-Änderungen. Das gleiche HTTP-POST gesendet wird, aber die Antwort nicht in HTML-Codes erforderlich sind, um eine komplette HTML-Seite zu erstellen sind. Bei der Verwendung von Ajax, der HTTP-POST Änderungen in AWeb Service-Aufruf, die für Stücke von Inhalten, fragt der Injektion. Der verschrobene Web-Anwendung ändert sich wieder in eine traditionelle Client / Server-Anwendung, wo abgefragt werden können, und rufen Sie spezifische Stücke von Inhalten.

Der Handler weiß, welche je nach Ausführung über die Informationen, rufen Sie an die URL. Es ruft die Methode fügen Sie für die Addition, und es ruft die Methode Speicher zu speichern oder abzurufen Speicher. Im Fall der das Abrufen von Erinnerungen, die Teil des Speichers, die gespeichert oder abgerufen wird ein Parameter. Die Daten, die zurückgegeben wird, wie eine SOAP-Nachricht verpackt. SOAP, im Gegensatz zu REST und bietet mehrere Funktionen und Darstellungen in einer URL. Früher wurde darauf hingewiesen, dass REST mehr ist vergleichbar mit einer Datenbank und SOAP ist eher an eine API. Dies ist wegen der Art, jeder Ansatz macht verständlich, die URL, und die Daten, die gesendet und empfangen werden. Die Semantik von dem, was die Daten und stellt unter der URL ist ganz anders bei SOAP und REST. In einer REST-Ansatz, wenn Sie HTTP verwenden, um Daten auf dem Server speichern, dann können Sie davon ausgehen, auf die gleichen Daten beim Aufruf von HTTP GET zu erhalten. In einer SOAP-Ansatz, wenn Sie HTTP-PUT verwenden, müssen Sie nicht davon ausgehen, auf die gleichen Daten beim Aufruf von HTTP GET zu erhalten. In der Tat, die Verwendung von SOAP, Sie haben keine Ahnung, welche Daten Sie kriegen, weil SOAP irgendeine Art von Semantik, ist mit HTTP-GET und PUT verbunden mit einem Vertrag in einer WSDL-Datei definiert erfordert. Der Unterschied zwischen einer Datenbank und API-Ansatz wird deutlicher Entwicklung des Taschenrechners Beispiel.

Ursprünglich benutzten die REST-Anwendung eine Reihe von URLs, aber die URLs falsch waren, weil sie eine API-Ansatz auf einer Ressource Konzept ausgestattet. Zum Beispiel die Erinnerung URL / services/memory/1. Die URL sieht richtig, aber ist in der Tat völlig falsch. Da die URL definiert wird, ist der Speicherplatz / services/memory/1 von allen geteilt. Um zwischen den verschiedenen Nutzern zu unterscheiden, verwenden die meisten Web Application Frameworks Cookies. Cookies und wieder sind die völlig falsche Antwort. Stellen Sie einen Antrag ausfüllen, wo man außer einigen Wert, den Sie freigeben möchten mit jemand anderem. Wenn Sie geben, die andere Person die URL, die Sie benutzt, um die Daten zu speichern, kann diese Person nicht auf die Daten zugreifen, weil seine Cookie-ID wäre nicht mit Ihrem Cookie-ID kompatibel. Das Problem ist, dass der Zustand der Ressource im Sinne der URL ist auf die URL und ein Cookie-ID abhängig.

Dies verstößt gegen REST-Prinzipien. REST-Prinzipien erklären, dass, wenn der Speicher ist unter der URL gespeichert / services/memory/1, dann den gleichen Zustand ist unabhängig davon, wer Zugriff auf die URL abgerufen werden. Ein Cookie kann für die Autorisierung verwendet werden. Mit einem Cookie kann ein Server erkennen, ob ein Antrag berechtigt ist, die Vertretung der Bereich zu sehen. Die Lösung besteht darin, Daten zu denken und den Speicherort Kennung prüfen, wie eine beliebige Zeilen-ID, die auf eine Speicherstelle. Dies führt in der Zugabe wird sowohl eine Berechnung und eine Erinnerung Betrieb. Beim Schreiben Sie Ihre eigenen REST-Anwendung, folgende Punkte zu beachten:

• REST hat Verträge, die Dynamik ist, werden die Ressourcen verbunden und beschrieben mit Links und die HTTP-Header des Clients. Zum Beispiel kann ein Kunde den Vertrag zu XML-Daten zu definieren, und ein anderer kann den Vertrag zu HTML-Daten zu definieren. Der Server passt sich an jeden, indem eine angemessene Vertretung für eine Ressource.

• REST hat eine Reihe von vordefinierten Semantik über HTTP GET, HTTP POST, URLs, Ressourcen und Darstellungen.

• SOAP nicht über eine vordefinierte der Semantik oder Verträge gesetzt, da sie durch die Metadaten (WSDL) definiert sind.

• verwaltet REST-URLs in einer dynamischen Art und Weise, wenn die URLs dynamisch erstellt werden.

• URLs in einer REST-Ansatz stellen Verweise auf eine Ressource und nicht unbedingt eine Datei auf eine Festplatte.

Ein Artikel eingereicht von Sonja Lande


Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle.
Wichtig: Dieser Artikel "Das Verständnis der Definition und Philosophie der REST" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.


Online: 294 users browsing the articles directory