SlideShare a Scribd company logo
simple software solutions to big business problems
Making Software. Better.
Digital By Default
Building APIs for the Government
2
I believe the creation of the Government
Digital Service is one of the great unsung
triumphs of the last Parliament.
Prime Minister David Cameron
A barrier to innovation
3
SOAP-based proprietary webservices, which
software vendors currently integrate with, are
cumbersome, poorly documented and a disservice
to us, the taxpayer
Brave New World
By creating a new API platform built upon user
needs, based on RESTFul principles, we have
reduced the barrier to entry and innovation.
10 Years of AWS - APIs are forever
“.......Once customers started building their
applications and systems using our APIs, changing
those APIs becomes impossible, as we would be
impacting our customer’s business operations if we
would do so. We knew that designing APIs was a
very important task as we’d only have one chance
to get it right.”
http://www.allthingsdistributed.com/2016/03/10-lessons-from-10-years-of-aws.html
5 Golden RulesOf Building APIs at HMRC Digital
Golden Rule 1
Make it Work
Secure, performant and easy
An API platform is not fit for purpose unless it is
secure, handles appropriate throughput accurately,
is easy to integrate with and is easy to publish and
document
Protect your platform
Throttling is an important part of any API platform
but shouldn’t be seen as a backup option for a
poorly performing API, but as protection against
poorly written/abusive 3rd party software.
Plan for change
Define a versioning strategy early, one that fits your
architecture, organisation and clients. Make
backward compatibility a key goal.
Golden Rule 2
If you can’t make it good, at least make it look good - Bill Gates
Make it Beautiful
Importance of beautiful APIs
12
APIs are the public face of your IT. They are part
of your brand, reputation and an insight into
your quality. You wouldn’t deliver an ugly
website.
Golden Rule 3
Focus your APIs on your domain, not your offline processes
Change your perspective
Why not business processes?
Business processes were not created for the
digital world. They were created for cryptic
commands into mainframe terminals, paper
forms and human (intelligent) intervention.
Reflect these digitally and you limit APIs
Domain not processes
Create APIs that reflect your domain, using
Domain Driven Design concepts. You will not
limit yourselves to existing processes, you’ll
hide the implementation and you’ll use industry
language. In so doing, complexity is removed.
How have we changed our focus?
16
HMRC is traditionally siloed along the lines of
tax regimes. Code, systems, people, databases.
Tax regimes are the processes, not the domain.
The digital world reflected the offline. We’ve
changed our focus. Our APIs will be domain
centric and not regime centric.
Golden Rule 4
REST only has one level; Anything else is not REST
Use Hypermedia
Richardsons Maturity Model
Courtesy of www.
martinfowler.com
Why we should stop talking about it
Richardson’s Maturity Model has become a
justification to not use Hypermedia. It is not
meant to be a model for levels of valid REST
development. Just an observation of an
organisation’s proximity to REST
No Hypermedia, No REST
“If the engine of application state (and hence
the API) is not being driven by hypertext, then
it cannot be RESTful and cannot be a REST API.
Period.” - Roy Fielding
What is Hypermedia (HATEOAS)
{
self: {
url: “http://api.reda.com/users/reda”
},
data: {
name: “Reda Hmeid”,
age: “23”,
height: “6ft 2in”,
address_url: “http://api.reda.com/users/reda/addresses”,
messages_url: “http://api.reda.com/users/reda/messages”
},
links:[
{
url: “http://api.reda.com/users/reda/messages”,
rel: “Send a new message”,
method: “Post”
},
{
url: “http://api.reda.com/users/reda”,
rel: “Update details”,
method: “Put”
}
]
}
What does Hypermedia provide
By controlling flow and business logic within
the API, thereby hiding implementation, you
ensure loose coupling between the client and
the API. This allows for more frequent
impactless changes and added functionality.
But also
Hypermedia reduces latency and reduces load
on the server. Clients can be much dumber,
needing less business code, making it cheaper
to produce software.
Golden Rule 5
Your organisation is mature enough to build RESTFul APIs today
You’re Ready
You can maintain the status quo
Or you can make things better. Maturity of an
organisation is where it is now. Not where it can be
and what it can do.
Examples of the Good
Proof that beautiful APIs are “pragmatic” APIs
● Github.com
https://developer.github.
com/v3/pulls/
● Stormpath.com
https://docs.stormpath.
com/rest/product-
guide/latest/reference.
html#application
● Paypal.com
https://developer.paypal.
com/docs/rest/api/
● Visa
https://developer.visa.com
Examples
References
Want to learn more; try these
1. Rest in Practice - Jim Webber
2. Domain Driven Design - Eric Evans
3. RESTFul Web Services Cookbook - Subbu Allamajru
4. http://martinfowler.com/articles/richardsonMaturityModel.html
Thank You
Twitter
@EqualExperts
LinkedIn
linkedin.com/company/equal-experts
UNITED KINGDOM
+44 203 603 7830
helloUK@equalexperts.com
Equal Experts UK Ltd
30 Brock Street
London NW1 3FG
INDIA
+91 20 6607 7763
helloIndia@equalexperts.com
Equal Experts India Private Ltd
Office No. 4-C
Cerebrum IT Park No. B3
Kumar City, Kalyani Nagar
Pune, 411006
Web
www.equalexperts.com
CANADA
+1 403 775 4861
helloCanada@equalexperts.com
Equal Experts Devices Inc
205 - 279 Midpark way S.E.
T2X 1M2
Calgary, Alberta
Twitter:
@softwarereda
LinkedIn:
linkedin.com/in/redahmeid

More Related Content

PDF
Practical guide to building public APIs
PDF
Open Bank Project September 2014 at Open Data CH
PDF
A Modern API Toolbox
PDF
apidays LIVE Hong Kong - The Business of APIs by Jed Ng
PPT
Enterprise API deployment best practice
PPTX
Cloud Integration for Human Resources: Connect with Your talent in the Cloud
PDF
ProgrammableWeb's eSignature API Research Report
PDF
apidays LIVE JAKARTA - Enterprise API management in agile integration by Ragh...
Practical guide to building public APIs
Open Bank Project September 2014 at Open Data CH
A Modern API Toolbox
apidays LIVE Hong Kong - The Business of APIs by Jed Ng
Enterprise API deployment best practice
Cloud Integration for Human Resources: Connect with Your talent in the Cloud
ProgrammableWeb's eSignature API Research Report
apidays LIVE JAKARTA - Enterprise API management in agile integration by Ragh...

What's hot (20)

PDF
Mastering Digital Channels with APIs
PDF
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
PDF
APIs: State of the Union - Ross Garrett @ AppsWorld 2014
PDF
What 100TB's API Can Do For You
PPTX
The API Economy: API Provider Perspective / European Identity Summit 2012
PDF
Melbourne API Management Seminar
PDF
apidays LIVE JAKARTA - 359o of API Design: Things to consider when crafting y...
PPTX
API Management in Digital Transformation
PPTX
apidays LIVE JAKARTA - APIs as Products in payments, telecommunications and D...
PDF
Definitive Guide to API Management
PPTX
Digital Nirvana with HANA Cloud Platform
PDF
apidays LIVE LONDON - Architecting Scalable Software Platforms for IoT Applic...
PDF
Alexio Cassani - Start-up & API Economy: opportunità e benefici | Codemotion ...
PDF
Api architectures for the modern enterprise
PDF
apidays LIVE Jakarta - Serverless powered Low Code by Alex-Adrien Auger, Sipios
PDF
SlideShare Test-1
KEY
AADI Mashery/Coca-Cola Enterprises November 2012
PDF
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...
PDF
APIs: What’s in it for me – How can APIs bring value to our Business (Philipp...
PDF
Securely expose protected resources as ap is with app42 api gateway
Mastering Digital Channels with APIs
apidays LIVE JAKARTA - Event Driven APIs by Phil Scanlon
APIs: State of the Union - Ross Garrett @ AppsWorld 2014
What 100TB's API Can Do For You
The API Economy: API Provider Perspective / European Identity Summit 2012
Melbourne API Management Seminar
apidays LIVE JAKARTA - 359o of API Design: Things to consider when crafting y...
API Management in Digital Transformation
apidays LIVE JAKARTA - APIs as Products in payments, telecommunications and D...
Definitive Guide to API Management
Digital Nirvana with HANA Cloud Platform
apidays LIVE LONDON - Architecting Scalable Software Platforms for IoT Applic...
Alexio Cassani - Start-up & API Economy: opportunità e benefici | Codemotion ...
Api architectures for the modern enterprise
apidays LIVE Jakarta - Serverless powered Low Code by Alex-Adrien Auger, Sipios
SlideShare Test-1
AADI Mashery/Coca-Cola Enterprises November 2012
API360 – A How-To Guide for Enterprise APIs - Learn how to position your ente...
APIs: What’s in it for me – How can APIs bring value to our Business (Philipp...
Securely expose protected resources as ap is with app42 api gateway
Ad

Viewers also liked (20)

PDF
The Rise of the Agile Architect
DOC
ahmed saad
PDF
Cronograma de elecciones dic 2015
PDF
RELACIÓN DE REPRESENTANTES DOCENTES Y ESTUDIANTES A LOS ORGANOS DE GOBIERNO, ...
PDF
Webinar la simulazione__uno_strumento_per_migliorare_la_realta_10.11.2016
PDF
Razonamiento logico
PDF
Aspe improved user_story_writing_techniques_ppt
PPTX
The Agile Architect - Agile India 2016
PDF
Paolo Cascone_The Urban Fabrication Laboratory
PDF
Use Cases Vs User Stories
PPTX
Agile software development and UML
PPT
Scott Meyers Self Storage Investing PowerPoint
PDF
Welcome Home: Designing the Syrian Refugee Intake Experience - Justin Kirkey
PPT
Protection against overvoltage
PDF
Cloud computing
PPTX
How to Write Amazing Functional Analysis Documents for your SharePoint Projects
PPTX
User Story
PDF
User Stories for Agile Requirements
PPTX
How to Break the Requirements into User Stories
The Rise of the Agile Architect
ahmed saad
Cronograma de elecciones dic 2015
RELACIÓN DE REPRESENTANTES DOCENTES Y ESTUDIANTES A LOS ORGANOS DE GOBIERNO, ...
Webinar la simulazione__uno_strumento_per_migliorare_la_realta_10.11.2016
Razonamiento logico
Aspe improved user_story_writing_techniques_ppt
The Agile Architect - Agile India 2016
Paolo Cascone_The Urban Fabrication Laboratory
Use Cases Vs User Stories
Agile software development and UML
Scott Meyers Self Storage Investing PowerPoint
Welcome Home: Designing the Syrian Refugee Intake Experience - Justin Kirkey
Protection against overvoltage
Cloud computing
How to Write Amazing Functional Analysis Documents for your SharePoint Projects
User Story
User Stories for Agile Requirements
How to Break the Requirements into User Stories
Ad

Similar to 5 Golden Rules to Building APIs (20)

PPTX
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
PDF
Introduction to the Art of API Practice
PPT
Api management introduction and product overview v1.0 2014.08.28
PDF
Approaching APIs
PDF
apidays LIVE London 2021 - Moving from a Product as API to API as a Product b...
PDF
The API Opportunity: Crossing the Digital Divide
PDF
How to Win in the New API Economy
PDF
API Introduction - API Management Workshop Munich from Ronnie Mitra
PDF
Introduction to The 6 Insights of API Practice (Bill Doerrfeld)
PPSX
APIs as a Product Strategy
PPTX
Building beautiful apis
PDF
PDF
The Business of APIs 2009 - ProgrammableWeb.com
PDF
Hewlett Packard Enterprise View on Going Big with API Management - Applicatio...
PDF
APIdays Paris 2018 - Creating an API economy business strategy Alan Glickenho...
PDF
Your API is your Product - Arun Ravindran, Unisys
PDF
apidays LIVE Paris - The Business of APIs by Jed Ng
PPTX
Why an innovative mobile strategy needs a robust API
PDF
A_Complete_Guide_to_API_Development.pdf
PDF
APIs +Micro services technology for Computing
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
Introduction to the Art of API Practice
Api management introduction and product overview v1.0 2014.08.28
Approaching APIs
apidays LIVE London 2021 - Moving from a Product as API to API as a Product b...
The API Opportunity: Crossing the Digital Divide
How to Win in the New API Economy
API Introduction - API Management Workshop Munich from Ronnie Mitra
Introduction to The 6 Insights of API Practice (Bill Doerrfeld)
APIs as a Product Strategy
Building beautiful apis
The Business of APIs 2009 - ProgrammableWeb.com
Hewlett Packard Enterprise View on Going Big with API Management - Applicatio...
APIdays Paris 2018 - Creating an API economy business strategy Alan Glickenho...
Your API is your Product - Arun Ravindran, Unisys
apidays LIVE Paris - The Business of APIs by Jed Ng
Why an innovative mobile strategy needs a robust API
A_Complete_Guide_to_API_Development.pdf
APIs +Micro services technology for Computing

Recently uploaded (20)

PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
KodekX | Application Modernization Development
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
A Presentation on Artificial Intelligence
PDF
Empathic Computing: Creating Shared Understanding
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Spectral efficient network and resource selection model in 5G networks
Per capita expenditure prediction using model stacking based on satellite ima...
MYSQL Presentation for SQL database connectivity
CIFDAQ's Market Insight: SEC Turns Pro Crypto
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
KodekX | Application Modernization Development
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Reach Out and Touch Someone: Haptics and Empathic Computing
A Presentation on Artificial Intelligence
Empathic Computing: Creating Shared Understanding
Building Integrated photovoltaic BIPV_UPV.pdf
cuic standard and advanced reporting.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Chapter 3 Spatial Domain Image Processing.pdf

5 Golden Rules to Building APIs

  • 1. simple software solutions to big business problems Making Software. Better. Digital By Default Building APIs for the Government
  • 2. 2 I believe the creation of the Government Digital Service is one of the great unsung triumphs of the last Parliament. Prime Minister David Cameron
  • 3. A barrier to innovation 3 SOAP-based proprietary webservices, which software vendors currently integrate with, are cumbersome, poorly documented and a disservice to us, the taxpayer
  • 4. Brave New World By creating a new API platform built upon user needs, based on RESTFul principles, we have reduced the barrier to entry and innovation.
  • 5. 10 Years of AWS - APIs are forever “.......Once customers started building their applications and systems using our APIs, changing those APIs becomes impossible, as we would be impacting our customer’s business operations if we would do so. We knew that designing APIs was a very important task as we’d only have one chance to get it right.” http://www.allthingsdistributed.com/2016/03/10-lessons-from-10-years-of-aws.html
  • 6. 5 Golden RulesOf Building APIs at HMRC Digital
  • 8. Secure, performant and easy An API platform is not fit for purpose unless it is secure, handles appropriate throughput accurately, is easy to integrate with and is easy to publish and document
  • 9. Protect your platform Throttling is an important part of any API platform but shouldn’t be seen as a backup option for a poorly performing API, but as protection against poorly written/abusive 3rd party software.
  • 10. Plan for change Define a versioning strategy early, one that fits your architecture, organisation and clients. Make backward compatibility a key goal.
  • 11. Golden Rule 2 If you can’t make it good, at least make it look good - Bill Gates Make it Beautiful
  • 12. Importance of beautiful APIs 12 APIs are the public face of your IT. They are part of your brand, reputation and an insight into your quality. You wouldn’t deliver an ugly website.
  • 13. Golden Rule 3 Focus your APIs on your domain, not your offline processes Change your perspective
  • 14. Why not business processes? Business processes were not created for the digital world. They were created for cryptic commands into mainframe terminals, paper forms and human (intelligent) intervention. Reflect these digitally and you limit APIs
  • 15. Domain not processes Create APIs that reflect your domain, using Domain Driven Design concepts. You will not limit yourselves to existing processes, you’ll hide the implementation and you’ll use industry language. In so doing, complexity is removed.
  • 16. How have we changed our focus? 16 HMRC is traditionally siloed along the lines of tax regimes. Code, systems, people, databases. Tax regimes are the processes, not the domain. The digital world reflected the offline. We’ve changed our focus. Our APIs will be domain centric and not regime centric.
  • 17. Golden Rule 4 REST only has one level; Anything else is not REST Use Hypermedia
  • 18. Richardsons Maturity Model Courtesy of www. martinfowler.com
  • 19. Why we should stop talking about it Richardson’s Maturity Model has become a justification to not use Hypermedia. It is not meant to be a model for levels of valid REST development. Just an observation of an organisation’s proximity to REST
  • 20. No Hypermedia, No REST “If the engine of application state (and hence the API) is not being driven by hypertext, then it cannot be RESTful and cannot be a REST API. Period.” - Roy Fielding
  • 21. What is Hypermedia (HATEOAS) { self: { url: “http://api.reda.com/users/reda” }, data: { name: “Reda Hmeid”, age: “23”, height: “6ft 2in”, address_url: “http://api.reda.com/users/reda/addresses”, messages_url: “http://api.reda.com/users/reda/messages” }, links:[ { url: “http://api.reda.com/users/reda/messages”, rel: “Send a new message”, method: “Post” }, { url: “http://api.reda.com/users/reda”, rel: “Update details”, method: “Put” } ] }
  • 22. What does Hypermedia provide By controlling flow and business logic within the API, thereby hiding implementation, you ensure loose coupling between the client and the API. This allows for more frequent impactless changes and added functionality.
  • 23. But also Hypermedia reduces latency and reduces load on the server. Clients can be much dumber, needing less business code, making it cheaper to produce software.
  • 24. Golden Rule 5 Your organisation is mature enough to build RESTFul APIs today You’re Ready
  • 25. You can maintain the status quo Or you can make things better. Maturity of an organisation is where it is now. Not where it can be and what it can do.
  • 26. Examples of the Good Proof that beautiful APIs are “pragmatic” APIs
  • 27. ● Github.com https://developer.github. com/v3/pulls/ ● Stormpath.com https://docs.stormpath. com/rest/product- guide/latest/reference. html#application ● Paypal.com https://developer.paypal. com/docs/rest/api/ ● Visa https://developer.visa.com Examples
  • 28. References Want to learn more; try these
  • 29. 1. Rest in Practice - Jim Webber 2. Domain Driven Design - Eric Evans 3. RESTFul Web Services Cookbook - Subbu Allamajru 4. http://martinfowler.com/articles/richardsonMaturityModel.html
  • 30. Thank You Twitter @EqualExperts LinkedIn linkedin.com/company/equal-experts UNITED KINGDOM +44 203 603 7830 helloUK@equalexperts.com Equal Experts UK Ltd 30 Brock Street London NW1 3FG INDIA +91 20 6607 7763 helloIndia@equalexperts.com Equal Experts India Private Ltd Office No. 4-C Cerebrum IT Park No. B3 Kumar City, Kalyani Nagar Pune, 411006 Web www.equalexperts.com CANADA +1 403 775 4861 helloCanada@equalexperts.com Equal Experts Devices Inc 205 - 279 Midpark way S.E. T2X 1M2 Calgary, Alberta Twitter: @softwarereda LinkedIn: linkedin.com/in/redahmeid