Build a business on the shoulders of giants. Open APIs allow to quickly build advanced services utilizing giants, as a developer. As a service provider, it helps you becoming a giant, since it enables to exponentially scale your business by others. But you better offer a high quality service API.
Diamond Application Development Crafting Solutions with Precision
Open / Public APIs - From Implementation to Digital Business Model
1. Open / Public APIs -
From Implementation to Digital
Business Model
Dr. Bastian Migge
Heilbronn University - Applied Computer Science – Digital Transformation
3. APIs
Private
APIs
Open
APIs
• Advanced Programmable Interfaces enable application programs to interact
• Exposes specific services of functionality while protecting the rest of the app
• Leverage existing systems and enable DRY (don’t repeat yourself) principle
• Restrict access being only published in (virtual) private network
• Use customized technology, e.g. SOAP (Simple Object Access Protocol)
• Reduce development and operations cost by separating concerns
• Are shared freely and published over the internet
• Use uniform, predefined technology, i.e. RESTful APIs
• Are meant to be easily integrated by any 3rd party
!3
Open APIs let developers easily integrate
existing services into their business.
4. 1. Like Google Flights, Skyscanner is a metasearch engine that provides travel data
for flights, hotels, car rentals and more.
2. The Spoonacular API is the ultimate Recipe, Food and Nutrition database all rolled
up into a single API, making it “the only Food API you’ll ever need.”
3. The API-Football API is the most popular RESTful API for football (soccer) data. It
covers over 132 major and minor football leagues. Get live scores, pre-match odds,
events, line-ups, standings, stats, and much more.
4. OpenWeatherMap is an online service that provides weather data including
forecasts and historical data. Their API provides access to weather maps and
forecasts for multiple cities across the world.
!4
Most popular public APIs on rapidapi.com
Source https://blog.rapidapi.com/most-popular-apis/ on 30.6.2019
5. !5
Example - Identify type of cars from
pictures with a mobile app
• As app developer, I could easily utilize complex services, i.e. identify objects on pictures
(image recognition) with machine learning and big data trained convolutionary neuronal networks
• As service provider (google), I become effortless essential part of the business
6. POST https://vision.googleapis.com/v1/images:annotate
{
"requests":[
{
"image":{
"content":"/9j/7QBEUGhvdG9..eYxxxzj/Coa6Bax//Z"
},
"features":[
{
"type":"LABEL_DETECTION",
"maxResults": 2
}
]
}
]
}
!6
Example - Google vision API data exchange
via RESTful API
{
"responses": [
{
"labelAnnotations": [
{
"mid": "/m/0bt9lr",
"description": "car",
"score": 0.97346616
},
{
"mid": "/m/09686",
"description": "Audi A8",
"score": 0.85700572
}]
}
7. Request Response
• Identify resource using URI (uniform
resource identifiers) i.e. http://
host.domain.tld/resourceclass/
resourceid or .../function
• Define action using HTTP verbs, i.e.
GET, DELETE, POST, PUT
• Parameter as HTTP content or query
parameter http://...?q=...
• Express transmission status as HTTP
response code, i.e. 200 for OK or 404
for resource not found
• Carry response data in HTTP content
as JSON, XML or HTML
• Stateless transmission, i.e. server does
not store any client info e.g. session
!7
Representational state transfer (REST) APIs
provide a uniform predefined interface.
8. • Simple and uniform interface allows portability and simplifies implementation
• Separation of concerns using the client server pattern allows effective performance
tuning and scalability on server side.
• Layered systems allow to separate caching, load balancing and security.
• Stateless protocol, i.e. client holds state and no session information on server (no
need for dynamic memory allocation).
!8
REST architecture benefits
9. Benefits of scale Challenges of going public
• You provide a high quality service, i.e.
reliability, performance, scalability
• You provide a secure service, i.e. no
security flaws, no data leaks
• You provide a usable service, i.e. simple to
understand easy to implement - no UX* !
• As a consumer, your product and business
relies on a partner
• As a consumer, you immediately utilize latest
service and focus on developing your core
business value
• As a provider, your service user base and
revenue grows exponentially
• Advanced end-to-end services grow as a mesh
of micro services
• As a provide, you gain business value driven
feedback from customers to further develop
!9
Evaluation of public APIs
*https://bastianmigge.blogspot.com/2018/06/building-great-apis-art-of-developer.html
10. Quality
Security
Usability
• Reliability: Uniform predefined protocols such as RESTful APIs
• Scalability: Load balancing, dynamic clustering, caching
• Code: Automated integration and performance testing in CI/CD pipeline
• End-to-End encryption with HTTPS
• Server authentication with signed certificates
• Client authorization with static API Keys or access token
• Documentation: reference (swagger), Howtos
• Experience Design: API design pattern
• Support: Status page and notifications
!10
Solve the challenges with latest software
development tools and techniques.
11. • Most related work states that Public APIs foster innovation due to extensive and creative usage of the API
which results in good feedback from consumers. I disagree.
• This does not necessarily hold true for the API, since
• not directly serving the end customer makes product feedback a Chinese whisper.
• Integrators don’t share their precious customer data to keep their power.
!11
Public APIs do not necessarily lead to
innovating your product.
12. !12
Example - The digital business model
heavily relies on google vision service.
13. !13
Example - Extend service by implementing
own image recognition is expensive.
14. 14
Build a business on the
shoulders of giants.
• Allow to quickly build advanced services that depend on
giants, as a developer.
• Let you become a giant, since it enables to exponentially
scale your business if you offer a high quality service API.
Public APIs
See https://bastianmigge.blogspot.com/2018/06/building-great-apis-art-of-developer.html
15. I help organizations identify and overcome their structural
challenges so they can perform to their maximum potential.
I bring with me a background and experiences in IT-
engineering, Agile management, structured thinking and
strong ability to listen, understand and empathize with other
people’s realities.
I enjoy working on the full spectrum from strategic concepts
to hands-on projects.
m: +49 (0) 179 24 96741
e: bastian.migge@gmail.com
w: https://www.migge.info
HI. I’M BASTIAN MIGGE. I’M A HUMANSTIC NERD.MIGGE