Hilfe Warenkorb Konto Anmelden
 
 
   Schnellsuche   
     zur Expertensuche                      
REST und HTTP - Entwicklung und Integration nach dem Architekturstil des Web
  Großes Bild
 
REST und HTTP - Entwicklung und Integration nach dem Architekturstil des Web
von: Stefan Tilkov, Martin Eigenbrodt, Silvia Schreier, Oliver Wolf
dpunkt, 2015
ISBN: 9783864916434
330 Seiten, Download: 6244 KB
 
Format:  PDF
geeignet für: Apple iPad, Android Tablet PC's Online-Lesen PC, MAC, Laptop

Typ: A (einfacher Zugriff)

 

 
eBook anfordern
Inhaltsverzeichnis

  Vorbemerkung zur dritten Auflage 6  
  Vorbemerkung zur zweiten Auflage 8  
  Vorwort zur ersten Auflage 10  
  Danksagung 12  
  1 Einleitung 22  
     1.1 Warum REST? 22  
        1.1.1 Lose Kopplung 23  
        1.1.2 Interoperabilität 24  
        1.1.3 Wiederverwendung 24  
        1.1.4 Performance und Skalierbarkeit 25  
     1.2 Zielgruppe und Voraussetzungen 25  
     1.3 Zur Struktur des Buches 26  
  2 Einführung in REST 30  
     2.1 Eine kurze Geschichte von REST 30  
     2.2 Grundprinzipien 32  
     2.3 Zusammenfassung 40  
  3 Fallstudie: OrderManager 42  
     3.1 Fachlicher Hintergrund 42  
     3.2 Ressourcen 44  
        3.2.1 Bestellungen 44  
        3.2.2 Bestellungen in unterschiedlichen Zuständen 51  
        3.2.3 Stornierungen 51  
     3.3 Repräsentationen 53  
     3.4 Zusammenfassung 54  
  4 Ressourcen 56  
     4.1 Ressourcen und Repräsentationen 56  
     4.2 Ressourcendesign 57  
        4.2.1 Primärressourcen 58  
        4.2.2 Subressourcen 59  
        4.2.3 Listen 59  
        4.2.4 Projektionen 60  
        4.2.5 Aggregationen 60  
        4.2.6 Aktivitäten 60  
        4.2.7 Konzept- und Informationsressourcen 60  
        4.2.8 Evolutionäre Weiterentwicklung und YAGNI 61  
     4.3 Ressourcenidentifikation und URIs 61  
        4.3.1 URI, IRI, URL, URN, XRI? 62  
        4.3.2 Anatomie einer HTTP-URI 63  
        4.3.3 URI-Templates 67  
     4.4 URI-Design 68  
        4.4.1 URI-Entwurfsgrundsätze 68  
        4.4.2 REST aus Versehen 71  
        4.4.3 Stabile URIs 72  
     4.5 Zusammenfassung 73  
  5 Verben 74  
     5.1 Standardverben von HTTP 1.1 74  
        5.1.1 GET 74  
        5.1.2 HEAD 76  
        5.1.3 PUT 77  
        5.1.4 POST 78  
        5.1.5 DELETE 78  
        5.1.6 OPTIONS 79  
        5.1.7 TRACE und CONNECT 79  
     5.2 HTTP-Verben in der Praxis 79  
     5.3 Tricks für PUT und DELETE 80  
        5.3.1 HTML-Formulare 80  
        5.3.2 Firewalls und eingeschränkte Clients 82  
     5.4 Definition eigener Methoden 84  
        5.4.1 WebDAV 84  
        5.4.2 Partial Updates und PATCH 86  
        5.4.3 Multi-Request-Verarbeitung 87  
     5.5 LINK und UNLINK 89  
     5.6 Zusammenfassung 90  
  6 Hypermedia 92  
     6.1 Hypermedia im Browser 92  
     6.2 HATEOAS und das »Human Web« 96  
     6.3 Hypermedia in der Anwendung-zu-Anwendung- Kommunikation 98  
     6.4 Ressourcenverknüpfung 99  
     6.5 Einstiegspunkte 99  
     6.6 Aktionsrelationen 101  
     6.7 Darstellung von Links und das -Element 102  
     6.8 Standardisierung von Link-Relationen 105  
     6.9 Zusammenfassung 106  
  7 Repräsentationsformate 108  
     7.1 Formate, Medientypen und Content Negotiation 108  
     7.2 JSON 109  
        7.2.1 HAL 110  
        7.2.2 Collection+JSON 113  
        7.2.3 SIREN 115  
        7.2.4 Fazit 117  
     7.3 XML 118  
     7.4 HTML/XHTML 119  
     7.5 Textformate 122  
        7.5.1 Plaintext 122  
        7.5.2 URI-Listen 123  
     7.6 CSV 123  
     7.7 RSS und Atom 124  
     7.8 Binäre Formate 126  
     7.9 Microformats 127  
     7.10 RDF 128  
     7.11 Zusammenfassung 130  
  8 Fallstudie: AtomPub 132  
     8.1 Historie 132  
     8.2 Discovery und Metadaten 133  
     8.3 Ressourcentypen 136  
     8.4 REST und Atom/AtomPub 138  
     8.5 Zusammenfassung 138  
  9 Sitzungen und Skalierbarkeit 140  
     9.1 Cookies 141  
     9.2 Ressourcen- und Clientstatus 143  
     9.3 Skalierbarkeit und »Shared Nothing«-Architektur 145  
     9.4 Zusammenfassung 147  
  10 Caching 148  
     10.1 Expirationsmodell 148  
     10.2 Validierungsmodell 150  
     10.3 Cache-Topologien 152  
     10.4 Caching und Header 155  
        10.4.1 Response-Header 155  
        10.4.2 Request-Header 156  
     10.5 Schwache ETags 156  
     10.6 Invalidierung 157  
     10.7 Caching und personalisierte Inhalte 158  
     10.8 Caching im Internet 158  
     10.9 Zusammenfassung 159  
  11 Sicherheit 160  
     11.1 SSL und HTTPS 160  
     11.2 Authentisierung, Authentifizierung, Autorisierung 161  
     11.3 HTTP-Authentifizierung 162  
     11.4 HTTP Basic Authentication 163  
     11.5 Der 80%-Fall: HTTPS + Basic-Auth 164  
     11.6 HTTP Digest Authentication 166  
     11.7 Browser-Integration und Cookies 168  
     11.8 HMAC 170  
     11.9 OpenID 171  
     11.10 OAuth 172  
        11.10.1 OAuth 1.0 173  
        11.10.2 OAuth 2.0 173  
     11.11 Autorisierung 175  
     11.12 Nachrichtenverschlüsselung und Signatur 176  
     11.13 Zusammenfassung 177  
  12 Dokumentation 178  
     12.1 Selbstbeschreibende Nachrichten 179  
     12.2 Hypermedia 180  
     12.3 HTML als Standardformat 180  
     12.4 Beschreibungsformate 181  
        12.4.1 WSDL 181  
        12.4.2 WADL 182  
        12.4.3 Swagger, RAML und API Blueprint 185  
        12.4.4 RDDL 189  
     12.5 Zusammenfassung 192  
  13 Erweiterte Anwendungsfälle 194  
     13.1 Asynchrone Verarbeitung 194  
        13.1.1 Notifikation per HTTP-»Callback« 196  
        13.1.2 Polling 197  
     13.2 Zuverlässigkeit 198  
        13.2.1 PUT statt POST 201  
        13.2.2 POST-PUT-Kombination 203  
        13.2.3 Reliable POST 204  
     13.3 Transaktionen 205  
        13.3.1 Atomare (Datenbank-)Transaktionen 205  
        13.3.2 Verteilte Transaktionen 206  
        13.3.3 Fachliche Transaktionen 206  
     13.4 Parallelzugriff und konditionale Verarbeitung 207  
     13.5 Versionierung 208  
        13.5.1 Zusätzliche Ressourcen 209  
        13.5.2 Erweiterbare Datenformate 209  
        13.5.3 Versionsabhängige Repräsentationen 210  
     13.6 Zusammenfassung 210  
  14 Fallstudie: OrderManager, Iteration 2 212  
     14.1 OrderEntry 213  
        14.1.1 Medientypen 213  
        14.1.2 Servicedokumentation 216  
        14.1.3 Bestellpositionen 220  
        14.1.4 Zustandsänderungen 221  
     14.2 Fulfilment 226  
        14.2.1 Notifikation über neue Bestellungen 226  
        14.2.2 Bestellübernahme 228  
        14.2.3 Produktionsaufträge 233  
        14.2.4 Versandfristen 234  
        14.2.5 Lieferdatum 234  
     14.3 Reporting 236  
     14.4 Zusammenfassung 238  
  15 Architektur und Umsetzung 240  
     15.1 Architekturebenen 240  
     15.2 Domänenarchitektur 241  
        15.2.1 Systemgrenzen und Ressourcen 242  
        15.2.2 Medientypen und Kontrakte 243  
        15.2.3 Identität und Adressierbarkeit 245  
     15.3 Softwarearchitektur 246  
        15.3.1 Schichten 247  
        15.3.2 Domänenmodell 248  
        15.3.3 Nutzung von Diensten 249  
     15.4 Systemarchitektur 251  
        15.4.1 Netztopologie 251  
        15.4.2 Caching 252  
        15.4.3 Firewalls 253  
     15.5 Frontend-Architektur 254  
        15.5.1 Benutzerschnittstellen und RESTful-HTTP-Backends 255  
        15.5.2 Sinn und Unsinn von Portalen 257  
     15.6 Web-API-Architektur 258  
     15.7 Zusammenfassung 261  
  16 »Enterprise REST«: SOA auf Basis von RESTful HTTP 262  
     16.1 SOA-Definitionen 262  
     16.2 Business/IT-Alignment 265  
     16.3 Governance 266  
        16.3.1 Daten- und Schnittstellenbeschreibungen 267  
        16.3.2 Registry/Repository-Lösungen 268  
        16.3.3 Discovery 268  
     16.4 Orchestrierung und Choreografie 269  
     16.5 Enterprise Service Bus (ESB) 270  
     16.6 WSDL, SOAP & WS-*: WS-Architektur 270  
     16.7 Zusammenfassung 274  
  17 Weboberflächen mit ROCA 276  
     17.1 REST: Nicht nur für Webservices 276  
     17.2 Clientaspekte von ROCA 279  
        17.2.1 Semantisches HTML 280  
        17.2.2 CSS 281  
        17.2.3 Die Rolle von JavaScript 282  
        17.2.4 Unobtrusive JavaScript und Progressive Enhancement 284  
     17.3 ROCA vs. Single Page Apps 285  
     17.4 Zusammenfassung 286  
  A HTTP-Statuscodes 290  
  B Fortgeschrittene HTTP-Mechanismen 296  
     B.1 Persistente Verbindungen 296  
     B.2 Request-Pipelining 296  
     B.3 Range Requests 297  
     B.4 Chunked Encoding 297  
  C Werkzeuge und Bibliotheken 300  
     C.1 Kommandozeilen-Clients 300  
     C.2 HTTP-Server 301  
     C.3 Caches 302  
     C.4 Programmierumgebungen 303  
        C.4.1 Java/JVM-Sprachen 303  
        C.4.2 Microsoft .NET 306  
        C.4.3 Ruby 307  
        C.4.4 Python, Perl, Node.js & Co 307  
  D HTTP/2 und SPDY 310  
     D.1 Geschichte von HTTP 310  
     D.2 SPDY 311  
     D.3 HTTP/2 312  
  Index 326  
  www.dpunkt.de 0  


nach oben


  Mehr zum Inhalt
Kapitelübersicht
Kurzinformation
Inhaltsverzeichnis
Leseprobe
Blick ins Buch
Fragen zu eBooks?

  Medientyp
  eBooks
  eJournal
  alle

  Navigation
Belletristik / Romane
Computer
Geschichte
Kultur
Medizin / Gesundheit
Philosophie / Religion
Politik
Psychologie / Pädagogik
Ratgeber
Recht
Reise / Hobbys
Technik / Wissen
Wirtschaft

© 2008-2024 ciando GmbH | Impressum | Kontakt | F.A.Q. | Datenschutz