Saturday, June 02, 2018

REST API design & Microservices

We have switched from XML to JSON, from wrappers and namespaces to HTTP URLs and headers,
but the process of building and maintaining Web APIs / services is still mostly manual.
This is a useful document:

API design guidance | Microsoft Docs

"In 2000, Roy Fielding proposed Representational State Transfer (REST) as an architectural approach to designing web services. REST is an architectural style for building distributed systems based on hypermedia. REST is independent of any underlying protocol and is not necessarily tied to HTTP. However, most common REST implementations use HTTP as the application protocol..."


http://adventure-works.com/orders // Good http://adventure-works.com/create-order // Avoid


POST http://adventure-works.com/orders HTTP/1.1 Content-Type: application/json; charset=utf-8 Content-Length: 57 {"Id":1,"Name":"Gizmo","Category":"Widgets","Price":1.99}

GET http://adventure-works.com/orders/2 HTTP/1.1 Accept: application/json






ebook: Building Microservices


free preview edition (subset)
How to Adopt Microservices - Oreilly ebook | NGINX

Building Microservices: Designing Fine-Grained Systems - Sam Newman - Google Books

video:
Sam Newman Principles Of Microservices
"This talk is distillation of what makes microservices different from normal services"



More on this topic from another person from ThoughtWorks
  
Microservices Guide by Martin Fowler


Microservices @ InfoQ

microservices at real scale: