This document summarizes Erik Wilde's presentation on minimizing coupling for API consumption. The presentation discusses how loose coupling is important for digital transformation efforts to improve business and technology agility. When APIs are loosely coupled, changes can be made on either the producer or consumer side without affecting the other side. Both sides need to follow design patterns and practices to reduce coupling. With loose coupling, digital products and capabilities within an organization can remain flexible and reconfigurable to support ongoing digital transformation.
Report
Share
Report
Share
1 of 21
Download to read offline
More Related Content
APIdays Helsinki 2019 - How to Minimize Coupling in API Production and Consumption with Erik Wilde, Good API
1. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 1/23
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
Enjoy Responsibly:
Minimizing Coupling for API
Consumption
API Days [https://www.apidays.co/] Finland,
Helsinki [https://www.apidays.fi/]
Erik Wilde
Good API
June 5, 2019
[http://creativecommons.org/licenses/by/3.0/]
This work is licensed under a CC
Attribution 3.0 Unported License [http://creativecommons.org/licenses/by/3.0/]
Follow @dret 2,806 followers
2. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 2/23
Contents
2
4
5
6
7
9
10
11
12
13
14
15
17
18
20
21
22
24
25
Erik Wilde : Enjoy Responsibly:
Minimizing Coupling for API Consumption
Contents
Summary
1 Introduction
@dret on Twitter/GitHub
About Me
Good API [http://www.goodapi.co/]
Continuous API Management (2018)
2 The Value of Loose Coupling
Business and Tech Agility
Digital Transformation
Digital Transformation: The Global Challenge
Digital Transformation Chasm [https://devops.com/7-big-digital-transformation-trends/]
APIs are (not just) Plumbing
API Strategy and Program
Loose Coupling is Essential
3 Business Considerations
API Platform Value
Determining API Scope
4 Technology Considerations
Robust Extensibility [http://dret.typepad.com/dretblog/2016/04/robust-extensibility.html]
CAM Consumption Compass [http://dret.net/lectures/www-2019/]
Hyrum's Law
5 Conclusions
Loose Coupling Matters
Thanks! Q&A
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
3. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 3/23
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
(2)
Erik Wilde : Enjoy Responsibly:
Minimizing Coupling for API Consumption
Summary
One of the main goals of digital transformation is to improve the agility of a business. As a result of this,
once digital transformation is underway and API production and consumption within an organization
increase, it is important to keep an eye on the ultimate goal: APIs not only as a way of interconnecting
capabilities for new value chains, but also as a way of how old or under-performing products can be
improved, without disrupting the entire fabric of interconnected components. The main goal of API
production and consumption should be to decrease coupling: API producers and consumers are as loosely
coupled as possible, so that changes on either side can be done without affecting the other side. This
requires design patters and implementation practices to be followed by both sides, and this presentation
goes into the details of how to minimize coupling for both producers and consumers. With loose coupling
practices in place, digital transformation becomes more valuable, because the fabric of digital products in
an organizations remains as flexible and reconfigurable as possible.
4. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 4/23
Introduction
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
(4)@dret on Twitter/GitHub
5. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 5/23
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
Introduction
(5)
Erik Wilde : Enjoy Responsibly:
Minimizing Coupling for API Consumption
About Me
Ph.D. in Communications Systems [http://dret.net/netdret/publications#wil97b] from ETH Zürich
[http://www.ethz.ch/]
Working on Web Architecture after writing the first Web Technology book
[http://dret.net/netdret/publications#wil98]
UC Berkeley (2006-2011), working on Service Models for Open Government
[http://dret.net/netdret/publications#wil09g]
EMC (2011-2014), working on transforming software products into service platforms
Siemens (2014-2015), working on using IoT to build WoT ("APIs for Things")
Part of CA [http://www.ca.com/]'s API Academy [http://www.apiacademy.co/] 2016-2019 focusing on API
Design and Management
Joined Good API [https://www.goodapi.co/] in 2019 focusing on API Strategy and Guidance for Digital
Transformation
Active in the usual places such as Twitter [http://twitter.com/dret], GitHub [http://github.com/dret], and
LinkedIn [http://www.linkedin.com/in/netdret]
6. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 6/23
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
Introduction
(6)
Erik Wilde : Enjoy Responsibly:
Minimizing Coupling for API Consumption
Good API [http://www.goodapi.co/]
International team based in Prague and Zurich
Adam Kliment:
[http://twitter.com/ntmlk]
Zdenek "Z" Nemec:
[http://twitter.com/zdne]
Erik Wilde:
[http://twitter.com/dret]
Working on Digital Transformation and API Strategy and
Programs
Planning and coaching digital transformation
initiatives
Formulating API strategies for building a solid
foundation
Executing API programs to turn API strategies into API landscapes
Follow @ntmlk 455 followers
Follow @zdne 1,188 followers
Follow @dret 2,806 followers
7. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 8/23
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
Introduction
(7)
Erik Wilde : Enjoy Responsibly:
Minimizing Coupling for API Consumption
Continuous API Management (2018)
"Continuous API Management: Making the Right Decisions in an Evolving Landscape"
[https://www.apiacademy.co/resources/books/continuous-api-management]
O'Reilly book page [http://shop.oreilly.com/product/0636920201755.do]
Amazon book page [https://www.amazon.com/Continuous-Api-Management-Decisions-Landscape/dp/1492043559]
Authored by 2018 API Academy [http://www.apiacademy.co/] members
Mehdi Medjaoui: [http://twitter.com/medjawii]
Erik Wilde: [http://twitter.com/dret]
Ronnie Mitra: [http://twitter.com/mitraman]
Follow @medjawii 2,702 followers
Follow @dret 2,806 followers
Follow @mitraman 2,219 followers
8. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 10/23
The Value of Loose Coupling
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
(9)Business and Tech Agility
Goal: Alignment of Business and IT
Business thinks in terms of fully digitalized value chains
Public/partner interconnection requires no IT changes
IT can execute quickly when new components are designed/developed
Business leverages IT for better insights and feedback
IT agility is necessary (but not sufficient) for business agility
Components are designed and developed based on customer needs
Instead of top-down planning the focus is on decentralized coordination
Changing components easily is part of the architectural goals
9. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 11/23
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
The Value of Loose Coupling
(10)
Erik Wilde : Enjoy Responsibly:
Minimizing Coupling for API Consumption
Digital Transformation
10. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 12/23
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
The Value of Loose Coupling
(11)
Erik Wilde : Enjoy Responsibly:
Minimizing Coupling for API Consumption
Digital Transformation: The Global Challenge
11. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 13/23
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
The Value of Loose Coupling
(12)
Erik Wilde : Enjoy Responsibly:
Minimizing Coupling for API Consumption
Digital Transformation Chasm [https://devops.com/7-big-
digital-transformation-trends/]
12. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 14/23
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
The Value of Loose Coupling
(13)
Erik Wilde : Enjoy Responsibly:
Minimizing Coupling for API Consumption
APIs are (not just) Plumbing
Organizations sometimes struggle aligning business and IT
Business and IT may historically be far from each other
There may be a tradition of seeing IT as "just implementation"
APIs are necessary (but not sufficient) for digital transformation
Good plumbing does not mean that you are building valuable
things with it
Bad plumbing means that whatever you are building will have
problems
APIs are the delivery of the value created by capabilities
Business needs to understand delivery concepts and impacts
IT needs to make sure capability value is delivered robustly
13. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 15/23
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
The Value of Loose Coupling
(14)
Erik Wilde : Enjoy Responsibly:
Minimizing Coupling for API Consumption
API Strategy and Program
API strategy is about saying what you want from APIs
What (additional) value can you create by using APIs?
What API platform will be available for external/internal use?
What enablement will teams get to participate?
API program is about saying how your strategy is executed
How to make sure that APIs are focused around delivering value
How to built and cultivate the API landscape powering the platform
How to observe and support teams to improve their effectiveness
14. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 16/23
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
The Value of Loose Coupling
(15)
Erik Wilde : Enjoy Responsibly:
Minimizing Coupling for API Consumption
Loose Coupling is Essential
APIs without loose coupling are not (really) APIs
APIs are not designed specifically for one consumer
Reused APIs should have a model how to decouple evolution
Loose coupling is fuzzy but still an important quality
Decoupling the API from other domains
Decoupling the API from consumer specifics
Decoupling the API from the implementation
Decoupling the API from consumer technology
Decoupling the API from a specific release
15. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 17/23
Business Considerations
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
(17)API Platform Value
The value of API platforms is a function of API design quality
Platforms are more than externally-facing environments
For example, automotive platforms have revolutionized car design and manufacturing
Platforms ideally reach deep into an organization's business model
Think of API platforms as your new way of building everything
All APIs should be designed to allow independent evolution of peers
APIs are easier to evolve when they clearly cover one domain
16. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 18/23
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
Business Considerations
(18)
Erik Wilde : Enjoy Responsibly:
Minimizing Coupling for API Consumption
Determining API Scope
Building blocks work best when they have basic and reusable shapes
Understanding users is the best way to design building blocks
Having integrations can be a great starting point
User stories can be great ways of understanding needs
API stories remove UI focus from existing user stories
Part of the design exercise is to design for future users
Come up with scenarios that you see as future markets
Aggregate needs across scenarios and stories into APIs
17. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 19/23
Technology Considerations
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
(20)Robust Extensibility
[http://dret.typepad.com/dretblog/2016/04/robust-extensibility.html]
Meaningful Core Semantics
The core of the API allows clients to have meaningful interactions
The core of the API is robust over time
Well-Defined Extension Points
APIs should be clear about where extensions are allowed
API tests can make sure that the extension points are properly implemented
Well-Defined Processing Model
Extensions are well-defined and their handling is well-defined as well
mustIgnore is a popular and good choice for extension processing
How to learn about extensions is a different matter
18. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 20/23
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
Technology Considerations
(21)
Erik Wilde : Enjoy Responsibly:
Minimizing Coupling for API Consumption
CAM Consumption Compass
[http://dret.net/lectures/www-2019/]
Risk: Is it worth taking the risk of a dependency?
Replacement: Are there plans for temporary/permanent replacements?
Redundancy: Is there a failover API to use during outages?
Resilience: Is the client handling API problems responsibly?
Rightsizing: Is the scope well-defined and at the right size?
Representation: Is the client isolating the specific API model?
Reporting: Is the dependency monitored for analytics and errors?
19. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 21/23
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
Technology Considerations
(22)
Erik Wilde : Enjoy Responsibly:
Minimizing Coupling for API Consumption
Hyrum's Law
"With a sufficient number of users of an API, it does not matter what you promise in the
contract: all observable behaviors of your system will be depended on by somebody."
[http://www.hyrumslaw.com/] (Hyrum Wright)
20. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 22/23
Conclusions
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
(24)Loose Coupling Matters
Digital Transformation is all about agile digitalized organizations
Agility needs customer focus, small teams, and ecosystem thinking
Business pattern: Design products as value chain components
Technology pattern: Allow independent evolution of value chain components
21. 6/5/2019 Enjoy Responsibly:Minimizing Coupling for API Consumption ; Erik Wilde (@dret) ; Good API
localhost/github/lectures/api-days-finland-2019/#(1) 23/23
June 5, 2019API Days [https://www.apidays.co/] Finland, Helsinki [https://www.apidays.fi/]
Conclusions
(25)
Erik Wilde : Enjoy Responsibly:
Minimizing Coupling for API Consumption
Thanks! Q&A
Slides online: dret.net/lectures/api-days-
finland-2019 [http://dret.net/lectures/api-days-finland-2019]
More information about myself:
Twitter:
[http://twitter.com/dret]
LinkedIn: linkedin.com/in/netdret
[http://www.linkedin.com/in/netdret]
Web page: dret.net/netdret/
[http://dret.net/netdret/]
Follow @dret 2,806 followers