Sie sind hier
E-Book

REST und HTTP

Entwicklung und Integration nach dem Architekturstil des Web

AutorMartin Eigenbrodt, Oliver Wolf, Silvia Schreier, Stefan Tilkov
Verlagdpunkt
Erscheinungsjahr2015
Seitenanzahl330 Seiten
ISBN9783864916434
FormatPDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis37,90 EUR
Das Buch bietet eine theoretisch fundierte, vor allem aber praxistaugliche Anleitung zum professionellen Einsatz von RESTful HTTP. Es beschreibt den Architekturstil REST (Representational State Transfer) und seine Umsetzung im Rahmen der Protokolle des World Wide Web (HTTP, URIs und andere). Es wird gezeigt, wie man klassische Webanwendungen und Webservices so entwirft, dass sie im Einklang mit den Grundprinzipien des Web stehen und seine vielen Vorteile ausnutzen. Nach einer kurzen Einleitung, die die Grundprinzipien vermittelt (Ressourcen, Repräsentationen, Hyperlinks, Content Negotiation), wird ein vollständiges praktisches Beispiel vorgestellt. Danach werden die einzelnen Konzepte sowie fortgeschrittene Themen wie Caching, Dokumentation und Sicherheit detailliert betrachtet. Schließlich wird eine erweiterte Form der Beispielanwendung entwickelt, um die Umsetzung der fortgeschrittenen Konzepte zu demonstrieren. Inzwischen etablierte Best Practices zu Entwurf und Implementierung werden in einem eigenen Kapitel beschrieben und diskutiert. Neu in der dritten Auflage ist u.a. die Behandlung von immer populärer werdenden Formaten (wie HAL, collection+json und Siren), Hinweise zur Dokumentation von Web-APIs sowie das Zusammenspiel mit Web-Oberflächen nach dem ROCA-Prinzip.

Stefan Tilkov beschäftigt sich seit Beginn der 90er-Jahre mit Architekturansätzen fu?r große, verteilte Systemlandschaften. Von 1993 bis 1998 war er in verschiedenen Rollen bei einem mittelständischen Softwarehaus tätig, zuletzt als Leiter des Bereichs Anwendungsentwicklung, bevor er 1999 die Technologieberatung innoQ Deutschland GmbH mitgru?ndete. Als Geschäftsfu?hrer und Principal Consultant beschäftigt er sich dort schwerpunktmäßig mit leichtgewichtigen Architekturansätzen und serviceorientierten IT-Architekturen. Martin Eigenbrodt ist seit 2009 Mitarbeiter bei innoQ. Als Senior Consultant gehört sowohl die Schulung und Beratung beim Entwurf von RESTful APIs zu seinen Aufgaben, als auch deren konkrete Implementierung. Technologisch liegt sein Schwerpunkt dabei auf Scala und Play. Silvia Schreier beschäftigt sich seit einigen Jahren mit REST. Zunächst im Rahmen ihrer Tätigkeit als wissenschaftliche Mitarbeiterin an der FernUniversität in Hagen und seit 2013 als Consultant bei innoQ. Dort liegt ihr Schwerpunkt auf dem Entwurf und der Entwicklung REST- und ROCA-konformer Anwendungen mit verschiedensten Programmiersprachen und Persistenzlösungen. Außerdem versucht sie bei Veranstaltungen verschiedenster Initiativen andere Menschen fu?r die IT zu begeistern. Oliver Wolf beschäftigt sich seit vielen Jahren mit Software- und Systemarchitektur und interessiert sich besonders fu?r große, verteilte Systeme mit hohen Anforderungen an Sicherheit, Skalierbarkeit und Flexiblität. Bevor er als Principal Consultant zu innoQ kam, war er unter anderem als Chefarchitekt, Technischer Produktmanager und Berater bei verschiedenen IT-Unternehmen tätig.

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Vorbemerkung zur dritten Auflage6
Vorbemerkung zur zweiten Auflage8
Vorwort zur ersten Auflage10
Danksagung12
1 Einleitung22
1.1 Warum REST?22
1.1.1 Lose Kopplung23
1.1.2 Interoperabilität24
1.1.3 Wiederverwendung24
1.1.4 Performance und Skalierbarkeit25
1.2 Zielgruppe und Voraussetzungen25
1.3 Zur Struktur des Buches26
2 Einführung in REST30
2.1 Eine kurze Geschichte von REST30
2.2 Grundprinzipien32
2.3 Zusammenfassung40
3 Fallstudie: OrderManager42
3.1 Fachlicher Hintergrund42
3.2 Ressourcen44
3.2.1 Bestellungen44
3.2.2 Bestellungen in unterschiedlichen Zuständen51
3.2.3 Stornierungen51
3.3 Repräsentationen53
3.4 Zusammenfassung54
4 Ressourcen56
4.1 Ressourcen und Repräsentationen56
4.2 Ressourcendesign57
4.2.1 Primärressourcen58
4.2.2 Subressourcen59
4.2.3 Listen59
4.2.4 Projektionen60
4.2.5 Aggregationen60
4.2.6 Aktivitäten60
4.2.7 Konzept- und Informationsressourcen60
4.2.8 Evolutionäre Weiterentwicklung und YAGNI61
4.3 Ressourcenidentifikation und URIs61
4.3.1 URI, IRI, URL, URN, XRI?62
4.3.2 Anatomie einer HTTP-URI63
4.3.3 URI-Templates67
4.4 URI-Design68
4.4.1 URI-Entwurfsgrundsätze68
4.4.2 REST aus Versehen71
4.4.3 Stabile URIs72
4.5 Zusammenfassung73
5 Verben74
5.1 Standardverben von HTTP 1.174
5.1.1 GET74
5.1.2 HEAD76
5.1.3 PUT77
5.1.4 POST78
5.1.5 DELETE78
5.1.6 OPTIONS79
5.1.7 TRACE und CONNECT79
5.2 HTTP-Verben in der Praxis79
5.3 Tricks für PUT und DELETE80
5.3.1 HTML-Formulare80
5.3.2 Firewalls und eingeschränkte Clients82
5.4 Definition eigener Methoden84
5.4.1 WebDAV84
5.4.2 Partial Updates und PATCH86
5.4.3 Multi-Request-Verarbeitung87
5.5 LINK und UNLINK89
5.6 Zusammenfassung90
6 Hypermedia92
6.1 Hypermedia im Browser92
6.2 HATEOAS und das »Human Web«96
6.3 Hypermedia in der Anwendung-zu-Anwendung- Kommunikation98
6.4 Ressourcenverknüpfung99
6.5 Einstiegspunkte99
6.6 Aktionsrelationen101
6.7 Darstellung von Links und das-Element102
6.8 Standardisierung von Link-Relationen105
6.9 Zusammenfassung106
7 Repräsentationsformate108
7.1 Formate, Medientypen und Content Negotiation108
7.2 JSON109
7.2.1 HAL110
7.2.2 Collection+JSON113
7.2.3 SIREN115
7.2.4 Fazit117
7.3 XML118
7.4 HTML/XHTML119
7.5 Textformate122
7.5.1 Plaintext122
7.5.2 URI-Listen123
7.6 CSV123
7.7 RSS und Atom124
7.8 Binäre Formate126
7.9 Microformats127
7.10 RDF128
7.11 Zusammenfassung130
8 Fallstudie: AtomPub132
8.1 Historie132
8.2 Discovery und Metadaten133
8.3 Ressourcentypen136
8.4 REST und Atom/AtomPub138
8.5 Zusammenfassung138
9 Sitzungen und Skalierbarkeit140
9.1 Cookies141
9.2 Ressourcen- und Clientstatus143
9.3 Skalierbarkeit und »Shared Nothing«-Architektur145
9.4 Zusammenfassung147
10 Caching148
10.1 Expirationsmodell148
10.2 Validierungsmodell150
10.3 Cache-Topologien152
10.4 Caching und Header155
10.4.1 Response-Header155
10.4.2 Request-Header156
10.5 Schwache ETags156
10.6 Invalidierung157
10.7 Caching und personalisierte Inhalte158
10.8 Caching im Internet158
10.9 Zusammenfassung159
11 Sicherheit160
11.1 SSL und HTTPS160
11.2 Authentisierung, Authentifizierung, Autorisierung161
11.3 HTTP-Authentifizierung162
11.4 HTTP Basic Authentication163
11.5 Der 80%-Fall: HTTPS + Basic-Auth164
11.6 HTTP Digest Authentication166
11.7 Browser-Integration und Cookies168
11.8 HMAC170
11.9 OpenID171
11.10 OAuth172
11.10.1 OAuth 1.0173
11.10.2 OAuth 2.0173
11.11 Autorisierung175
11.12 Nachrichtenverschlüsselung und Signatur176
11.13 Zusammenfassung177
12 Dokumentation178
12.1 Selbstbeschreibende Nachrichten179
12.2 Hypermedia180
12.3 HTML als Standardformat180
12.4 Beschreibungsformate181
12.4.1 WSDL181
12.4.2 WADL182
12.4.3 Swagger, RAML und API Blueprint185
12.4.4 RDDL189
12.5 Zusammenfassung192
13 Erweiterte Anwendungsfälle194
13.1 Asynchrone Verarbeitung194
13.1.1 Notifikation per HTTP-»Callback«196
13.1.2 Polling197
13.2 Zuverlässigkeit198
13.2.1 PUT statt POST201
13.2.2 POST-PUT-Kombination203
13.2.3 Reliable POST204
13.3 Transaktionen205
13.3.1 Atomare (Datenbank-)Transaktionen205
13.3.2 Verteilte Transaktionen206
13.3.3 Fachliche Transaktionen206
13.4 Parallelzugriff und konditionale Verarbeitung207
13.5 Versionierung208
13.5.1 Zusätzliche Ressourcen209
13.5.2 Erweiterbare Datenformate209
13.5.3 Versionsabhängige Repräsentationen210
13.6 Zusammenfassung210
14 Fallstudie: OrderManager, Iteration 2212
14.1 OrderEntry213
14.1.1 Medientypen213
14.1.2 Servicedokumentation216
14.1.3 Bestellpositionen220
14.1.4 Zustandsänderungen221
14.2 Fulfilment226
14.2.1 Notifikation über neue Bestellungen226
14.2.2 Bestellübernahme228
14.2.3 Produktionsaufträge233
14.2.4 Versandfristen234
14.2.5 Lieferdatum234
14.3 Reporting236
14.4 Zusammenfassung238
15 Architektur und Umsetzung240
15.1 Architekturebenen240
15.2 Domänenarchitektur241
15.2.1 Systemgrenzen und Ressourcen242
15.2.2 Medientypen und Kontrakte243
15.2.3 Identität und Adressierbarkeit245
15.3 Softwarearchitektur246
15.3.1 Schichten247
15.3.2 Domänenmodell248
15.3.3 Nutzung von Diensten249
15.4 Systemarchitektur251
15.4.1 Netztopologie251
15.4.2 Caching252
15.4.3 Firewalls253
15.5 Frontend-Architektur254
15.5.1 Benutzerschnittstellen und RESTful-HTTP-Backends255
15.5.2 Sinn und Unsinn von Portalen257
15.6 Web-API-Architektur258
15.7 Zusammenfassung261
16 »Enterprise REST«: SOA auf Basis von RESTful HTTP262
16.1 SOA-Definitionen262
16.2 Business/IT-Alignment265
16.3 Governance266
16.3.1 Daten- und Schnittstellenbeschreibungen267
16.3.2 Registry/Repository-Lösungen268
16.3.3 Discovery268
16.4 Orchestrierung und Choreografie269
16.5 Enterprise Service Bus (ESB)270
16.6 WSDL, SOAP & WS-*: WS-Architektur270
16.7 Zusammenfassung274
17 Weboberflächen mit ROCA276
17.1 REST: Nicht nur für Webservices276
17.2 Clientaspekte von ROCA279
17.2.1 Semantisches HTML280
17.2.2 CSS281
17.2.3 Die Rolle von JavaScript282
17.2.4 Unobtrusive JavaScript und Progressive Enhancement284
17.3 ROCA vs. Single Page Apps285
17.4 Zusammenfassung286
A HTTP-Statuscodes290
B Fortgeschrittene HTTP-Mechanismen296
B.1 Persistente Verbindungen296
B.2 Request-Pipelining296
B.3 Range Requests297
B.4 Chunked Encoding297
C Werkzeuge und Bibliotheken300
C.1 Kommandozeilen-Clients300
C.2 HTTP-Server301
C.3 Caches302
C.4 Programmierumgebungen303
C.4.1 Java/JVM-Sprachen303
C.4.2 Microsoft .NET306
C.4.3 Ruby307
C.4.4 Python, Perl, Node.js & Co307
D HTTP/2 und SPDY310
D.1 Geschichte von HTTP310
D.2 SPDY311
D.3 HTTP/2312
Index326
www.dpunkt.de0

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

Augenblick mal

Augenblick mal

Die Zeitschrift mit den guten Nachrichten "Augenblick mal" ist eine Zeitschrift, die in aktuellen Berichten, Interviews und Reportagen die biblische Botschaft und den christlichen Glauben ...

Baumarkt

Baumarkt

Baumarkt enthält eine ausführliche jährliche Konjunkturanalyse des deutschen Baumarktes und stellt die wichtigsten Ergebnisse des abgelaufenen Baujahres in vielen Zahlen und Fakten zusammen. Auf ...

BIELEFELD GEHT AUS

BIELEFELD GEHT AUS

Freizeit- und Gastronomieführer mit umfangreichem Serviceteil, mehr als 700 Tipps und Adressen für Tag- und Nachtschwärmer Bielefeld genießen Westfälisch und weltoffen – das zeichnet nicht ...

CE-Markt

CE-Markt

CE-Markt ist Pflichtlektüre in der Unterhaltungselektronik-Branche. Die Vermarktung von Home und Mobile Electronics mit den besten Verkaufsargumenten und Verkaufsstrategien gehören ebenso zum ...

küche + raum

küche + raum

Internationale Fachzeitschrift für Küchenforschung und Küchenplanung. Mit Fachinformationen für Küchenfachhändler, -spezialisten und -planer in Küchenstudios, Möbelfachgeschäften und den ...

Die Versicherungspraxis

Die Versicherungspraxis

Behandlung versicherungsrelevanter Themen. Erfahren Sie mehr über den DVS. Der DVS Deutscher Versicherungs-Schutzverband e.V, Bonn, ist der Interessenvertreter der versicherungsnehmenden Wirtschaft. ...

IT-BUSINESS

IT-BUSINESS

IT-BUSINESS ist seit mehr als 25 Jahren die Fachzeitschrift für den IT-Markt Sie liefert 2-wöchentlich fundiert recherchierte Themen, praxisbezogene Fallstudien, aktuelle Hintergrundberichte aus ...

EineWelt

EineWelt

Lebendige Reportagen, spannende Interviews, interessante Meldungen, informative Hintergrundberichte. Lesen Sie in der Zeitschrift „EineWelt“, was Menschen in Mission und Kirche bewegt Man kann ...