Effective Service API Design by Elliotte Rusty Harold
2,484 views · Published 11 November 2016 · 1:00:41 · Indexed 23 October 2026
Channel: Devoxx · 2016 · Science & Technology
Increasingly the Web isn’t just for humans and browsers. It’s for programs too. Network endpoints (often but not always HTTP based) that are designed for access by programs rather than humans form an increasingly large part of today’s computing infrastructure. Systems as diverse as Google Adsense, Amazon Web Services, Twitter, and thousands of others expose information for programmatic consumption in XML, JSON, protobufs, and other formats. This talk explores the characteristics of a useful remote API that attracts developers and business to your service. We’ll talk about addressing, encoding, documentation, client libraries, authentication, authorization, deprecation, error handling, versioning, and more. We'll explore what makes a remote API different than a local one. In particular we’ll talk about language agnosticism, the necessity for excellent documentation, and a clear commitment to clients. From the other side, we’ll discover which APIs are safe and useful to depend on and which are too unstable and unreliable to build on top of. Elliotte Rusty Harold When not laboring in his secret identity of a mild-mannered software developer, Elliotte Rusty Harold lives in a secret mountaintop laboratory on a large island off the East Coast of the United States with his wife Beth and dog Thor. His open source work includes the XOM library for processing XML with Java, the Amateur Media Player, and Google Cloud Tools for Eclipse. His most recent books are Java Network Programming, 4th edition, and JavaMail API, both from O’Reilly. [OQN-8982]
More from this channel
-
32:13
Writing Groovy AST Transformations: Getting Practical in an hour! by Baruch Sadogursky
-
25:58
TweetWallFX - Behind the Scenes by Sven Reimers
-
29:44
Second generation "workflow managers" for big data by Alex Van Boxel
-
29:13
Secrets are secrets. Please maintain them as secrets by Alex Soto
-
2:13:40
JavaScript build pipelines with Gulp.js by Stefan Baumgartner
-
2:04:09
Powerful Metaprogramming Techniques With Groovy by Jeff Brown
-
2:38:32
Distributed Machine Learning 101 using Apache Spark from a Browser by Xavier Tordoir/Andy Petrella
-
2:36:21
Caching 101: Caching on the JVM (and beyond) by Alex Snaps/Louis Jacomet