REST-Internetdienste-Deutsche

Want create site? Find Free WordPress Themes and plugins.

Gebäude Web Services die REST-Way

Roger L. Costello

Ich werde zunächst eine kurze Einführung geben, um sich auszuruhen und dann beschreiben, wie Web-Services im REST-Stil zu bauen.
Was ist REST?
REST ist ein Begriff, der von Roy Fielding in seiner Doktor geprägt Dissertation [1], um die Architektur des Netzwerksystems zu beschreiben. REST ist ein Akronym steht für Representational State Transfer.
Warum heißt es Representational State Transfer?
Diese Anlage besteht aus einer Ressource. Eine Ressource ist ein beliebiges Element von Interesse. Zum Beispiel kann Boeing Aircraft Corp. bestimmen die Ressource 747. Clients Ressourcen unter folgender URL zugreifen:
http://www.boeing.com/aircraft/747
Eine Darstellung der Ressource zurückgegeben (zB Boeing747.html). Darstellung stellt die Client-Anwendung in den Umständen. Ergebnisse Boeing747.html Kunden über einen Hyperlink in einer anderen Ressource zugegriffen wird. Die neue Darstellung stellt die Client-Anwendung noch einem anderen Zustand. Somit kann die Client-Anwendung Änderungen (Transfers) Zustand mit jeder Ressourcendarstellung -> Representational State Transfer!
Hier ist eine Erklärung der Bedeutung von Roy Fieldings State Transfer:
“Representational State Transfer soll ein Bild davon, wie eine Web-Anwendung hervorzurufen, die zu verhalten ausgelegt ist: Das Netzwerk Web-Seite (virtuelle Zustandsmaschine), in dem der Benutzer durch Auswahl von Links (Zustandsübergänge) durch die Anwendung fortschreitet, so dass die nächste Seite (den nächsten Zustand Anwendung darstellt) wurden an den Benutzer übertragen, und für ihre Verwendung gemacht werden.”
Motivation für REST
Motivation für REST ist es, die Eigenschaften des Standorts zu erfassen, die ein erfolgreiches Netz macht. Darüber hinaus sind diese Eigenschaften verwendet werden, die Entwicklung des Web zu führen.
BREAK – ein Architekturstil, nicht Standard
REST ist kein Standard. Sie werden die W3C-Spezifikation auslöschen REST nicht zu sehen. Sie werden nicht sehen, IBM oder Microsoft oder Sun REST Entwickler-Toolkit zu verkaufen. Warum? Weil Rest ist nur eine Art der Architektur. Sie können nicht diesen Stil begraben. Sie können es nur verstehen, und in diesem Stil Ihren Web-Service zu entwerfen. (Analog mit Client-Server-Architektur-Stil. Es gibt keine Standard-Client-Server.)
Während REST kein Standard ist, ist es nicht der Standard verwendet:

  • HTTP
  • URL
  • XML / HTML / GIF / JPEG / etc (Resource Representation)
  • text / xml, text / html, image / gif, image / jpeg, dll (Jenis MIME)

Das Classic-System SISA

Web ist ein REST-System! Viele dieser Web-Services, die Sie dies schon seit Jahren verwendet haben – ein Buch-Bestelldienste, Suchdienste Online-Wörterbuch Dienste usw. – sind REST-basierte Web-Services. Leider haben Sie REST verwendet haben, bauen die REST-Services und Sie müssen nicht einmal wissen.
SISA befasst sich mit der “big picture” des Web. Es funktioniert nicht mit den Einzelheiten der Umsetzung befassen (zum Beispiel Java Servlets oder CGI Web-Services zu implementieren). Also lassen Sie uns ein Beispiel an einen Web-Service von REST “big picture” Perspektive zu schaffen.

Teil Web Services Depot

Part Depot, Inc. (ein fiktives Unternehmen) hat mehrere Web-Services zum Einsatz, damit die Kunden zu:

  • Holen Sie sich die Stückliste
  • erhalten Sie detaillierte Informationen zu einem bestimmten Teil
  • senden Bestellung (PO)

Lassen Sie uns überlegen, wie jeder Service ist ruhig umgesetzt.

Holen Teileliste

Der Web-Service zur Verfügung stellt, um eine URL zu Ihrer Ressourcen Abschnitt. Zum Beispiel wird der Client diese URL verwenden, um die Stückliste zu erwerben:
http://www.parts-depot.com/parts
Beachten Sie, dass die “wie” von Web-Services eine Stückliste generieren, um den Kunden vollständig transparent ist. Alle der Kunde weiß, ist, dass, wenn er / sie die URL oben passieren, wird das Dokument die Teileliste enthält, zurückgeführt wird. Da die Umsetzung an den Client transparent ist, ist Parts Depot frei, die zugrunde liegende Implementierung dieser Ressourcen zu ändern, ohne den Client zu beeinflussen. Es ist eine lose Kopplung.
Der Kunde erhält die folgenden Dokumente:

[Es sei angenommen, dass durch Content-Negotiation-Service festgestellt wird, dass die Client-Darstellung als XML will (für Maschine-zu-Maschine-Verarbeitung).] Beachten Sie, dass die Teileliste Links detaillierte Informationen zu den einzelnen Abschnitt zu erhalten hat. Dies ist ein wesentliches Merkmal der REST. Übertragen Kunden von einem Land zum nächsten durch die Prüfung und unter alternativen URL in dem Antwortdokument wählen.

Detaillierte Datenbereich

Der Web-Service zur Verfügung stellt, eine URL für jede Ressource-Abschnitt. Zum Beispiel, hier ist, wie ein Client 00 345 Abschnitt fragt:
http://www.parts-depot.com/parts/00345
Der Kunde erhält die folgenden Dokumente:

00 345
      Widget-A
      Dieser Abschnitt ist in der Montage von FRAP verwendet
      
      00.10
      10

Wieder beobachten, wie die Daten zu dem noch mehr Daten in Beziehung steht – die Spezifikationen für diesen Abschnitt durch Überquerung der Hyperlink zu finden. Jede Antwortdokument erlaubt es den Kunden, um weitere Informationen zu suchen.
einreichen PO
Der Web-Service zur Verfügung stellt, eine URL, die PO zu senden. Clients erstellen Sie ein Beispieldokument in Übereinstimmung mit dem PO PO-Schema, das Teile Depot entwickelt hat (und im WSDL-Dokument veröffentlicht). Der Client sendet PO.xml als Nutzlast einer HTTP-POST.
PO-Dienst reagiert reichte POST mit einer URL zu PO zu HTTP. Somit kann der Kunde nehmen Sie die PO jederzeit danach (für die Aktualisierung / der Bearbeitung). PO, die ein Teil der Information geworden ist, die zwischen dem Client und dem Server gemeinsam genutzt wird. Gemeinsame Informationen (PO) ist die Adresse (URL) durch den Server gegeben und ist als Web-Service zur Verfügung gestellt.
Physikalische logische URL URL
Eine Ressource ist eine konzeptionelle Einheit. Eine Darstellung ist eine konkrete Manifestation der Ressource. Diese URL:
http://www.parts-depot.com/parts/00345
URL ist logisch, nicht physische URL. Somit besteht keine Notwendigkeit, beispielsweise statische HTML-Seiten für jeden Abschnitt. In der Tat, wenn es eine Million Teile dann eine Million statische HTML-Seiten sind nicht ein sehr interessantes Design sein.
[Implementierungsdetails: konnte Parts Depot implementieren Dienste detaillierte Daten über einen bestimmten Teil unter Verwendung von Servlets Java erhalten, die die Zeichenfolge nach dem Hostnamen analysiert, mit der Teilenummer für die Datenbankabfrage Teil, um die Abfrageergebnisse als XML zu formulieren, und dann wieder die XML als Payload HTTP-Antwort.]
Als eine Frage des Stils URL muss nicht ihre Implementierungstechniken verwendet werden, offen zu legen. Sie sollten frei sein, um die Umsetzung zu ändern, ohne dass Kunden oder haben eine irreführende URL zu beeinflussen.

REST Web Services Merkmale

Hier sind die Merkmale der REST:

  • Client-Server: pull-basierten Interaktionsstil: verbrauchenden Komponenten Darstellungen ziehen.
  • Stateless: jede Anforderung vom Client zum Server alle Informationen gehen muss, um die Anforderung zu verstehen, und nicht nutzen jede gespeicherte Kontext auf dem Server übernehmen könnte.
  • Cache: Reaktion Effizienz des Netzes zu verbessern, muss es sein, die als Cache gespeichert werden oder nicht cache-fähig abgestempelt zu werden.
  • einheitliche Schnittstelle: alle Ressourcen mit einer generischen Schnittstelle zugegriffen werden (zB HTTP GET, POST, PUT, DELETE).
  • benannte Quelle – besteht das System aus einer benannten Ressource eine URL.
  • Ressourcen Darstellungen miteinander verbunden sind – die Darstellung der Ressourcen eine URL untereinander verbunden, so dass Kunden ermöglichen, von einem Land zum anderen, um die Fortschritte.
  • plattierten Komponenten – Vermittler, wie Proxy-Server, Cache-Server, Gateways, etc., können zwischen dem Kunden und den Ressourcen eingesetzt werden, um die Leistung zu unterstützen, Sicherheit usw.

Principles REST Web Design Services

1. Der Schlüssel zur Schaffung REST Web Services in das Netzwerk (dh Web) ist es, alle konzeptionellen Entitäten Sie als Dienst verfügbar machen möchten zu identifizieren. Vor sehen wir einige Beispiele von Quellen: Liste der Teile, detaillierte Daten, Bestellungen.
2. Erstellen Sie eine URL für jede Ressource. Die Ressourcen sollten ein Substantiv, ein Verb nicht sein. Zum Beispiel, verwenden Sie dies nicht:
http://www.parts-depot.com/parts/getPart?id=00345
Beachten Sie das Verb, getPart. Verwenden Sie stattdessen ein Substantiv:
http://www.parts-depot.com/parts/00345
3. Kategorisieren Ressourcen je nachdem, ob der Kunde nur in der Lage eine Darstellung der Ressource zu erhalten, oder ob der Client ändern können (hinzufügen) Ressourcen. Für die erste, so dass Ressourcen zugänglich HTTP GET. Denn dann, so dass Ressourcen zugänglich über HTTP POST, PUT und / oder löschen.
4. Alle Ressourcen müssen über HTTP GET frei von Nebenwirkungen zugänglich sein. Das heißt, kehren die Mittel sollten nur die Darstellung von Ressourcen. Fremdkapital Ressourcen darf nicht dazu führen Ressourcen zu ändern.
5. Kein Mann / Frau ist eine Insel. Ebenso sollten keine Darstellung eine Insel sein. Mit anderen Worten, legen Sie einen Hyperlink in der Ressourcendarstellung Clients zu ermöglichen, um weitere Informationen zu durchsuchen und / oder zugehörige Informationen zu erhalten.
6. Design-Daten in Stufen offen zu legen. Nicht alles in einem einzigen Antwortdokument zu offenbaren. Geben Sie Hyperlinks, um weitere Details zu erhalten.
7. Bestimmen Sie die Antwortdatenformat mit einem Schema (DTD, W3C-Schema, RelaxNG oder Schematron). Für die Dienste, die eine POST oder PUT, um es erfordern, sondern bietet auch ein System für das Format der Antwort zu bestimmen.
8. Beschreiben Sie, wie Sie Ihre Dienste werden entweder aufgerufen werden, um eine WSDL-Dokument verwenden, oder nur ein HTML-Dokument.
Zusammenfassung
Dieser Artikel beschreibt die REST als architektonischer Stil. In der Tat ist es eine Art der Architektur des Web. SISA erklären, was das Netz macht gut funktionieren. Im Anschluss an die Grundsätze der REST Ihre Dienste funktionieren gut im Kontext des Web machen.
In zukünftigen Artikeln werde ich über die Entwicklung des Web schreiben die Grundsätze der REST verwenden.
Anerkennung
Dank Robert Leftwich und Philip Eskelin Kommentar hilft ihnen, die in diesem Dokument zu erstellen.

Referenz

[1] http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm

Did you find apk for android? You can find new Free Android Games and apps.