With this concise book, you'll learn the art of building hypermedia APIs that don't simply run on the Web, but that actually exist in the Web. You'll start with the general principles and technologies behind this architectural approach, and then dive hands-on into three fully-functional API examples.
Too many APIs rely on concepts rooted in desktop and local area network patterns that don't scale well-costly solutions that are difficult to maintain over time. This book shows system architects and web developers how to design and implement human- and machine-readable web services that remain stable and flexible as they scale.
* Learn the H-Factors for representing application metadata across all media types and formats
* Understand the four basic design elements for authoring hypermedia types
* Convert a simple read-only XML-based media type into a successful API design
* Examine the challenges and advantages of designing a hypermedia type with JSON
* Use HTML5's rich set of hypermedia controls in the API design process
* Learn the details of documenting, publishing, and registering media type designs and link-relation types
Inhaltsverzeichnis
Foreword;
;
Preface;
Hypermedia API Design;
Intended Audience;
What Is Not Covered;
Contents of This Book;
Coding Style for This Book;
Conventions Used in This Book;
Using Code Examples;
Safari® Books Online;
How to Contact Us;
Acknowledgements;
Chapter 1: Understanding Hypermedia;
1.1 HTTP, MIME, and Hypermedia;
1.2 Programming the Web with Hypermedia APIs;
1.3 Identifying Hypermedia : H-Factors;
1.4 Hypermedia Design Elements;
1.5 Summary;
1.6 What's Next?;
Chapter 2: XML Hypermedia;
2.1 Scenario;
2.2 Designing the Maze XML Media Type;
2.3 Sample Data;
2.4 The Server Code;
2.5 The Client Code;
2.6 Summary;
Chapter 3: JSON Hypermedia;
3.1 Scenario;
3.2 Designing the Collection+JSON Media-Type;
3.3 The Tasks Application Semantics;
3.4 Sample Data;
3.5 The Server Code;
3.6 The Client Code;
3.7 Summary;
Chapter 4: HTML5 Hypermedia;
4.1 Scenario;
4.2 Designing the Microblog Media Type;
4.3 Sample Data;
4.4 The Server Code;
4.5 The Client Code;
4.6 Summary;
Chapter 5: Documenting Hypermedia;
5.1 Requirements, Compliance, and RFC 2119;
5.2 Documenting Media Type Designs;
5.3 Extending and Versioning Media Types;
5.4 Registering Media Types and Link Relations;
5.5 Design and Implementation Tips;
Afterword;
References;
;
;
;
;
;
Additional Reading;
Books;
Other;
Maze+XML Media Type;
Elements;
Attributes;
Link Relations;
Data Types;
Extensibility;
Collection+JSON Media Type;
General Concepts;
Objects;
Arrays;
Properties;
Link Relations;
Data Types;
Extensibility;
Microblogging HTML Semantic Profile;
General Concepts;
Semantic Profile;
IANA Media Type Registration Document;
IETF Link Relations Internet Draft;
Source Code, Software, and Installation Notes;
Source Code;
Prerequisites;
CouchDB;
Node.js;
Cloud Services;
Authoring;