Make it work
Overview
The less coupling, the better to evolve.
Domains and Context
Above impages from slide 25 of “The revival of Domain-Driven Design in the context of microservices” March 11, 2016 by Oliver Gierke JPMC Tech Symposium, Glasgow.
Integrations
SMS, emails can be sent via the API from Twilio.com. An investor in Twilio, Byron Deeter said: “APIs provide the “digital glue” that empowers developers to create new software applications, partnerships, and even new businesses. The business-to-developer market is quickly becoming one of the fastest growing opportunities within cloud computing.”
A high-quality API:
-
provides high-value data and functionality that meets real needs or unlocks compelling opportunities;
-
has a low integration cost because client integration is facilitated by a lucid, consistent API design, great documentation, interactive tooling, and client SDKs, all wrapped into a smooth, developer-friendly onboarding experience;
-
has low operational and support overhead because it’s thoroughly tested in all aspects, and instrumented for reliability; and
-
generates business value because it’s highly adopted by client developers, for all of the above reasons.
CREDIT: The above is based on http://blog.smartbear.com/api-testing/rapid-ml-and-ready-api-full-lifecycle-api-quality/
Domain-Driven Design
domain-driven-design of API modeling provides a framework for interoperability:
-
Identify a bounded context where we plan to provide a family of highly interoperable services.
This could be a microservices architecture; an enterprise, or an entire industry.
-
Formalize key concepts and relationships as a domain model.
This should be natural to users, and may borrow familiar terminology and data structures from other systems well-known in that context.
-
Align data representations, code, product documentation, and team communication to the domain model, forming a ubiquitous language.
https://www.wikiwand.com/en/Domain-driven_design
https://app.pluralsight.com/library/courses/domain-driven-design-fundamentals/table-of-contents June 2014 by Steve Smith and Julie Lerman
References
-
Microservices: Lessons from the frontline at Australia by Zhamak Dehghani, Principal consultant
-
YOUTUBE: REST-Ful API Design by SpringDeveloper
-
Swagger spec tutorial by API Handyman
-
Google’s API Design Guidelines focuses on both REST API and RPC (Remote Procedure Call) APIs that use Protocol Buffers.
API Events
- I Love APIs
API Rock Stars
Must-follow #API influencers?
-
Kin Lane, https://twitter.com/apievangelist
-
@Bradamante
-
Arnaud Lauret = @apihandyman
-
Zdenek Nemec @zdne at Apiary
-
Mark Baker @distobj is an early API evangelist
-
@mgboydcom on @APIEconomist
-
#JSON-LD is best attempt to date to make RDF consumable”
Developer-friendly API documentation fantastically:
-
Brad Fults @h3h
-
James Higginbotham @launchany
-
The term “REST” was introduced by Fielding’s dissertation at:
https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm -
Best Practices for Designing a Pragmatic RESTful API
http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api -
Microservice architecture by Chris Richardson
http://microservices.io/
http://eventuate.io/exampleapps.html
More on API Microservices
This is one of a series:
- API Portals
- GraphQL API
- GitHub API
- GitHub GraphQL API
- API Swagger
- API Design Tools
- API Design
- API Programming
- REST API Responses
- API Management Evaluation
- API Management by Microsoft Azure
- API Management by Amazon
- PowerShell GitHub API Programming
- PowerShell API Programming
- PowerShell Desired State Configuration
- PowerShell on Mac