SlideShare a Scribd company logo
The Architecture of 
an API Platform 
Johannes Lundberg 
@johannesl
”Self-taught developer. 46elks co-founder. 
Strongly believe it's possible to combine 
powerful features with ease of use. Enjoys 
vegetarian food and world travel.” 
@johannesl
The essence of an API 
Turning traditional complexity 
into programatic simplicity.
Two kinds of APIs 
DATA! 
ACCESS 
SIDE! 
EFFECTS 
- Cloud storage 
- Online payment 
- Infrastructure as a service 
- Cloud communications 
- Open data 
- Twitter & Facebook 
- Public transportation 
- Partner APIs
Self contained 
DATA! 
ACCESS 
SIDE! 
EFFECTS 
DATA! 
ACCESS 
SIDE! 
EFFECTS 
Vendor dependent 
- Open data 
- Twitter & FB 
- TV channels 
- Cloud storage 
- Paypal 
- Printing 
- Payments 
- Travel tickets 
- Telephony & SMS 
- Transportation 
- Social media 
- Open data
DATA ACCESS - Self contained 
Consumer 
API 
Backend 
! 
Data
DATA ACCESS - Self contained 
Consumer 
API 
Backend 
! 
Vendor 
Data
SIDE EFFECTS - Self contained 
Consumer 
API 
Backend 
! Machinery
SIDE EFFECTS - Vendor dependent 
Consumer 
API 
Backend 
! 
Vendor 
Services
REALITY? 
Consumer 
API 
Backend 
! 
Vendor 
Services 
Machinery 
Data
REALITY?? 
Consumer 
API 
Backend 
! 
! 
! 
! 
! 
Vendor 
Data 
Vendor 
Services 
Machinery 
Data 
Machinery 
Data 
Data 
Vendor Machinery 
Services
What’s the main 
features of your API?
We all know 
development costs.. 
! 
Prototype first!
Prototype first! Yes, with customers. 
Consumer 
API
1. Your API should work. 
2. According to specs. 
! 
3. Maintainability.. 
4. Scalability.. 
5. Feature creep..
The golden rule of API design 
When in doubt! 
Leave it out!
XML vs JSON 
Servers vs IaaS! 
PUSH vs POLL 
OAuth vs Basic! 
Consistency vs Reliability! 
RabbitMQ vs ZeroMQ
Something like this.. 
Consumer 
Consumer 
API 
FAILOVER 
LOAD BALANCER 
WEB SERVERS 
MESSAGE BUS 
WORKERS 
DATABASES 
BILLING 
Vendor 
Services 
Machinery 
BACKUP! 
DATA! 
CENTER
Do versioning. 
Use JSON. 
Talk to your API consumers. 
Select vendors carefully. 
Building APIs! 
should be complex
46elks 
Part 2 - platform engine in-depth 
Voice, SMS and MMS! 
in one This document is confidential 
Unauthorized easy use prohibited 
API
Customer 
applications 
Simple API 
Customers, Employees, 
Event audience, Machines 
SMS, MMS 
Phone calls 
platform engine
THE INTERNET 
Developer Applications 
PHP, C#, node.JS etc 
REST API 
HTTPS, JSON 
Basic auth 
TELCO NETWORKS 
nginx w/ SSL 
HTTP(S) 
callbacks 
ABC 
Conceptual module interaction 
HTTP 
Endpoint 
XYZ 
Developer Applications 
PHP, C#, node.JS etc 
Developer Application 
PHP, C#, node.JS etc 
DB XYZ 
Carrier endpoint 
Complex 
protocols 
Nice software 
! 
elkserver 
main source code 
! 
Python + gevent 
DEF 
Internal API 
Processing 
Something 
Module X 
ABC 
123 
46elks
The Architecture of 
an API Platform 
Johannes Lundberg 
@johannesl

More Related Content

What's hot

API Management
API ManagementAPI Management
API Management
Prolifics
 
IBM API Connect - overview
IBM API Connect - overviewIBM API Connect - overview
IBM API Connect - overview
Ramy Bassem
 
API strategy with IBM API connect
API strategy with IBM API connectAPI strategy with IBM API connect
API strategy with IBM API connect
Kellton Tech Solutions Ltd
 
Api management best practices with wso2 api manager
Api management best practices with wso2 api managerApi management best practices with wso2 api manager
Api management best practices with wso2 api manager
Chanaka Fernando
 
API Strategy Introduction
API Strategy IntroductionAPI Strategy Introduction
API Strategy Introduction
Doug Gregory
 
API Management in Azure
API Management in AzureAPI Management in Azure
API Management in Azure
Tomasso Groenendijk
 
Apigee Edge Overview and Roadmap
Apigee Edge Overview and RoadmapApigee Edge Overview and Roadmap
Apigee Edge Overview and Roadmap
Apigee | Google Cloud
 
API Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API ManagementAPI Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API Management
BizTalk360
 
Apigee Products Overview
Apigee Products OverviewApigee Products Overview
Apigee Products Overview
Apigee | Google Cloud
 
Service mesh
Service meshService mesh
Service mesh
Arnab Mitra
 
REST API Design & Development
REST API Design & DevelopmentREST API Design & Development
REST API Design & Development
Ashok Pundit
 
WSO2 API Platform: Vision and Roadmap
WSO2 API Platform: Vision and RoadmapWSO2 API Platform: Vision and Roadmap
WSO2 API Platform: Vision and Roadmap
WSO2
 
Microservices, DevOps & SRE
Microservices, DevOps & SREMicroservices, DevOps & SRE
Microservices, DevOps & SRE
Araf Karsh Hamid
 
Deep-Dive: Secure API Management
Deep-Dive: Secure API ManagementDeep-Dive: Secure API Management
Deep-Dive: Secure API Management
Apigee | Google Cloud
 
API Governance in the Enterprise
API Governance in the EnterpriseAPI Governance in the Enterprise
API Governance in the Enterprise
Apigee | Google Cloud
 
API Management within a Microservice Architecture
API Management within a Microservice ArchitectureAPI Management within a Microservice Architecture
API Management within a Microservice Architecture
WSO2
 
Azure API Management
Azure API ManagementAzure API Management
Azure API Management
jeremysbrown
 
How Secure Are Your APIs?
How Secure Are Your APIs?How Secure Are Your APIs?
How Secure Are Your APIs?
Apigee | Google Cloud
 
APIs in a Microservice Architecture
APIs in a Microservice ArchitectureAPIs in a Microservice Architecture
APIs in a Microservice Architecture
WSO2
 
Microservices
MicroservicesMicroservices
Microservices
SmartBear
 

What's hot (20)

API Management
API ManagementAPI Management
API Management
 
IBM API Connect - overview
IBM API Connect - overviewIBM API Connect - overview
IBM API Connect - overview
 
API strategy with IBM API connect
API strategy with IBM API connectAPI strategy with IBM API connect
API strategy with IBM API connect
 
Api management best practices with wso2 api manager
Api management best practices with wso2 api managerApi management best practices with wso2 api manager
Api management best practices with wso2 api manager
 
API Strategy Introduction
API Strategy IntroductionAPI Strategy Introduction
API Strategy Introduction
 
API Management in Azure
API Management in AzureAPI Management in Azure
API Management in Azure
 
Apigee Edge Overview and Roadmap
Apigee Edge Overview and RoadmapApigee Edge Overview and Roadmap
Apigee Edge Overview and Roadmap
 
API Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API ManagementAPI Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API Management
 
Apigee Products Overview
Apigee Products OverviewApigee Products Overview
Apigee Products Overview
 
Service mesh
Service meshService mesh
Service mesh
 
REST API Design & Development
REST API Design & DevelopmentREST API Design & Development
REST API Design & Development
 
WSO2 API Platform: Vision and Roadmap
WSO2 API Platform: Vision and RoadmapWSO2 API Platform: Vision and Roadmap
WSO2 API Platform: Vision and Roadmap
 
Microservices, DevOps & SRE
Microservices, DevOps & SREMicroservices, DevOps & SRE
Microservices, DevOps & SRE
 
Deep-Dive: Secure API Management
Deep-Dive: Secure API ManagementDeep-Dive: Secure API Management
Deep-Dive: Secure API Management
 
API Governance in the Enterprise
API Governance in the EnterpriseAPI Governance in the Enterprise
API Governance in the Enterprise
 
API Management within a Microservice Architecture
API Management within a Microservice ArchitectureAPI Management within a Microservice Architecture
API Management within a Microservice Architecture
 
Azure API Management
Azure API ManagementAzure API Management
Azure API Management
 
How Secure Are Your APIs?
How Secure Are Your APIs?How Secure Are Your APIs?
How Secure Are Your APIs?
 
APIs in a Microservice Architecture
APIs in a Microservice ArchitectureAPIs in a Microservice Architecture
APIs in a Microservice Architecture
 
Microservices
MicroservicesMicroservices
Microservices
 

Viewers also liked

Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
Nikolay Vasilev
 
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
CA API Management
 
Applying Domain-Driven Design to APIs and Microservices - Austin API Meetup
Applying Domain-Driven Design to APIs and Microservices  - Austin API MeetupApplying Domain-Driven Design to APIs and Microservices  - Austin API Meetup
Applying Domain-Driven Design to APIs and Microservices - Austin API Meetup
LaunchAny
 
Onion Architecture
Onion ArchitectureOnion Architecture
Onion Architecturematthidinger
 
Domain Driven Design Through Onion Architecture
Domain Driven Design Through Onion ArchitectureDomain Driven Design Through Onion Architecture
Domain Driven Design Through Onion Architecture
BoldRadius Solutions
 
Designing APIs and Microservices Using Domain-Driven Design
Designing APIs and Microservices Using Domain-Driven DesignDesigning APIs and Microservices Using Domain-Driven Design
Designing APIs and Microservices Using Domain-Driven Design
LaunchAny
 
Api architectures for the modern enterprise
Api architectures for the modern enterpriseApi architectures for the modern enterprise
Api architectures for the modern enterprise
CA API Management
 
Domain Driven Design using Laravel
Domain Driven Design using LaravelDomain Driven Design using Laravel
Domain Driven Design using Laravel
wajrcs
 
Software Design Patterns in Laravel by Phill Sparks
Software Design Patterns in Laravel by Phill SparksSoftware Design Patterns in Laravel by Phill Sparks
Software Design Patterns in Laravel by Phill Sparks
Phill Sparks
 

Viewers also liked (9)

Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
 
Applying Domain-Driven Design to APIs and Microservices - Austin API Meetup
Applying Domain-Driven Design to APIs and Microservices  - Austin API MeetupApplying Domain-Driven Design to APIs and Microservices  - Austin API Meetup
Applying Domain-Driven Design to APIs and Microservices - Austin API Meetup
 
Onion Architecture
Onion ArchitectureOnion Architecture
Onion Architecture
 
Domain Driven Design Through Onion Architecture
Domain Driven Design Through Onion ArchitectureDomain Driven Design Through Onion Architecture
Domain Driven Design Through Onion Architecture
 
Designing APIs and Microservices Using Domain-Driven Design
Designing APIs and Microservices Using Domain-Driven DesignDesigning APIs and Microservices Using Domain-Driven Design
Designing APIs and Microservices Using Domain-Driven Design
 
Api architectures for the modern enterprise
Api architectures for the modern enterpriseApi architectures for the modern enterprise
Api architectures for the modern enterprise
 
Domain Driven Design using Laravel
Domain Driven Design using LaravelDomain Driven Design using Laravel
Domain Driven Design using Laravel
 
Software Design Patterns in Laravel by Phill Sparks
Software Design Patterns in Laravel by Phill SparksSoftware Design Patterns in Laravel by Phill Sparks
Software Design Patterns in Laravel by Phill Sparks
 

Similar to The Architecture of an API Platform

RefCard API Architecture Strategy
RefCard API Architecture StrategyRefCard API Architecture Strategy
RefCard API Architecture Strategy
OCTO Technology
 
Open Ap Is State Of The Market
Open Ap Is State Of The MarketOpen Ap Is State Of The Market
Open Ap Is State Of The MarketConSanFrancisco123
 
RAML - APIs By Design
RAML - APIs By DesignRAML - APIs By Design
RAML - APIs By Design
Uri Sarid
 
Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017
Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017
Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017
Mindtrek
 
An Open Bank Project / Sofit deck for the Open Up Challenge
An Open Bank Project / Sofit deck for the Open Up ChallengeAn Open Bank Project / Sofit deck for the Open Up Challenge
An Open Bank Project / Sofit deck for the Open Up Challenge
simonredfern
 
APC Hackathon 2017 Open Bank Project workshop
APC Hackathon 2017 Open Bank Project workshopAPC Hackathon 2017 Open Bank Project workshop
APC Hackathon 2017 Open Bank Project workshop
simonredfern
 
Is There An API In That (IoT)?
Is There An API In That (IoT)?Is There An API In That (IoT)?
Is There An API In That (IoT)?
ProgrammableWeb
 
WSO2Con Asia 2014 - Building the API-Centric Enterprise
WSO2Con Asia 2014 - Building the API-Centric EnterpriseWSO2Con Asia 2014 - Building the API-Centric Enterprise
WSO2Con Asia 2014 - Building the API-Centric EnterpriseWSO2
 
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptxAPI Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
Blockchainizator
 
Speaking APIsh makes your business more agile
Speaking APIsh makes your business more agileSpeaking APIsh makes your business more agile
Speaking APIsh makes your business more agile
Marjukka Niinioja
 
Application Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoftApplication Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoft
Bui Kiet
 
O'Reilly author webinar "APIs: A Strategy guide": Transforming Your Business...
O'Reilly author webinar "APIs: A Strategy guide":  Transforming Your Business...O'Reilly author webinar "APIs: A Strategy guide":  Transforming Your Business...
O'Reilly author webinar "APIs: A Strategy guide": Transforming Your Business...
Apigee | Google Cloud
 
Mulesoft Raml APIs
Mulesoft Raml APIsMulesoft Raml APIs
Mulesoft Raml APIs
akshay yeluru
 
APIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good API
APIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good APIAPIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good API
APIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good API
apidays
 
Creating Datadipity
Creating DatadipityCreating Datadipity
Creating Datadipity
Clickslide
 
Building A Great API - Evan Cooke, Cloudstock, December 2010
Building A Great API - Evan Cooke, Cloudstock, December 2010Building A Great API - Evan Cooke, Cloudstock, December 2010
Building A Great API - Evan Cooke, Cloudstock, December 2010
Twilio Inc
 
A_Complete_Guide_to_API_Development.pdf
A_Complete_Guide_to_API_Development.pdfA_Complete_Guide_to_API_Development.pdf
A_Complete_Guide_to_API_Development.pdf
PamRobert
 
APIs for... Your Mom
APIs for... Your MomAPIs for... Your Mom
APIs for... Your Mom
Carlo Longino
 
Why APIs need their own development method - Open and Lean method to develop ...
Why APIs need their own development method - Open and Lean method to develop ...Why APIs need their own development method - Open and Lean method to develop ...
Why APIs need their own development method - Open and Lean method to develop ...
Marjukka Niinioja
 
Ibm white paper_harnessing_ap_is_and_platforms_0
Ibm white paper_harnessing_ap_is_and_platforms_0Ibm white paper_harnessing_ap_is_and_platforms_0
Ibm white paper_harnessing_ap_is_and_platforms_0
Diego Alberto Tamayo
 

Similar to The Architecture of an API Platform (20)

RefCard API Architecture Strategy
RefCard API Architecture StrategyRefCard API Architecture Strategy
RefCard API Architecture Strategy
 
Open Ap Is State Of The Market
Open Ap Is State Of The MarketOpen Ap Is State Of The Market
Open Ap Is State Of The Market
 
RAML - APIs By Design
RAML - APIs By DesignRAML - APIs By Design
RAML - APIs By Design
 
Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017
Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017
Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017
 
An Open Bank Project / Sofit deck for the Open Up Challenge
An Open Bank Project / Sofit deck for the Open Up ChallengeAn Open Bank Project / Sofit deck for the Open Up Challenge
An Open Bank Project / Sofit deck for the Open Up Challenge
 
APC Hackathon 2017 Open Bank Project workshop
APC Hackathon 2017 Open Bank Project workshopAPC Hackathon 2017 Open Bank Project workshop
APC Hackathon 2017 Open Bank Project workshop
 
Is There An API In That (IoT)?
Is There An API In That (IoT)?Is There An API In That (IoT)?
Is There An API In That (IoT)?
 
WSO2Con Asia 2014 - Building the API-Centric Enterprise
WSO2Con Asia 2014 - Building the API-Centric EnterpriseWSO2Con Asia 2014 - Building the API-Centric Enterprise
WSO2Con Asia 2014 - Building the API-Centric Enterprise
 
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptxAPI Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
 
Speaking APIsh makes your business more agile
Speaking APIsh makes your business more agileSpeaking APIsh makes your business more agile
Speaking APIsh makes your business more agile
 
Application Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoftApplication Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoft
 
O'Reilly author webinar "APIs: A Strategy guide": Transforming Your Business...
O'Reilly author webinar "APIs: A Strategy guide":  Transforming Your Business...O'Reilly author webinar "APIs: A Strategy guide":  Transforming Your Business...
O'Reilly author webinar "APIs: A Strategy guide": Transforming Your Business...
 
Mulesoft Raml APIs
Mulesoft Raml APIsMulesoft Raml APIs
Mulesoft Raml APIs
 
APIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good API
APIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good APIAPIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good API
APIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good API
 
Creating Datadipity
Creating DatadipityCreating Datadipity
Creating Datadipity
 
Building A Great API - Evan Cooke, Cloudstock, December 2010
Building A Great API - Evan Cooke, Cloudstock, December 2010Building A Great API - Evan Cooke, Cloudstock, December 2010
Building A Great API - Evan Cooke, Cloudstock, December 2010
 
A_Complete_Guide_to_API_Development.pdf
A_Complete_Guide_to_API_Development.pdfA_Complete_Guide_to_API_Development.pdf
A_Complete_Guide_to_API_Development.pdf
 
APIs for... Your Mom
APIs for... Your MomAPIs for... Your Mom
APIs for... Your Mom
 
Why APIs need their own development method - Open and Lean method to develop ...
Why APIs need their own development method - Open and Lean method to develop ...Why APIs need their own development method - Open and Lean method to develop ...
Why APIs need their own development method - Open and Lean method to develop ...
 
Ibm white paper_harnessing_ap_is_and_platforms_0
Ibm white paper_harnessing_ap_is_and_platforms_0Ibm white paper_harnessing_ap_is_and_platforms_0
Ibm white paper_harnessing_ap_is_and_platforms_0
 

More from Johannes Ridderstedt

A proper introduction to Elm
A proper introduction to ElmA proper introduction to Elm
A proper introduction to Elm
Johannes Ridderstedt
 
What is a game?
What is a game?What is a game?
What is a game?
Johannes Ridderstedt
 
Voice Hackathons ifrån Vinnova Forum Öppna Data 2016-05-20
Voice Hackathons ifrån Vinnova Forum Öppna Data 2016-05-20Voice Hackathons ifrån Vinnova Forum Öppna Data 2016-05-20
Voice Hackathons ifrån Vinnova Forum Öppna Data 2016-05-20
Johannes Ridderstedt
 
Lightning Talk @ PyCon Stockholm 2016
Lightning Talk @ PyCon Stockholm 2016Lightning Talk @ PyCon Stockholm 2016
Lightning Talk @ PyCon Stockholm 2016
Johannes Ridderstedt
 
OpenTTD at trafiklab 2015 06-10
OpenTTD at trafiklab 2015 06-10OpenTTD at trafiklab 2015 06-10
OpenTTD at trafiklab 2015 06-10
Johannes Ridderstedt
 
Why I love Python!
Why I love Python!Why I love Python!
Why I love Python!
Johannes Ridderstedt
 
Why an api? - Exec I/O Mobile 2014
Why an api? - Exec I/O Mobile 2014Why an api? - Exec I/O Mobile 2014
Why an api? - Exec I/O Mobile 2014Johannes Ridderstedt
 
Can an API be too simple?
Can an API be too simple?Can an API be too simple?
Can an API be too simple?
Johannes Ridderstedt
 

More from Johannes Ridderstedt (8)

A proper introduction to Elm
A proper introduction to ElmA proper introduction to Elm
A proper introduction to Elm
 
What is a game?
What is a game?What is a game?
What is a game?
 
Voice Hackathons ifrån Vinnova Forum Öppna Data 2016-05-20
Voice Hackathons ifrån Vinnova Forum Öppna Data 2016-05-20Voice Hackathons ifrån Vinnova Forum Öppna Data 2016-05-20
Voice Hackathons ifrån Vinnova Forum Öppna Data 2016-05-20
 
Lightning Talk @ PyCon Stockholm 2016
Lightning Talk @ PyCon Stockholm 2016Lightning Talk @ PyCon Stockholm 2016
Lightning Talk @ PyCon Stockholm 2016
 
OpenTTD at trafiklab 2015 06-10
OpenTTD at trafiklab 2015 06-10OpenTTD at trafiklab 2015 06-10
OpenTTD at trafiklab 2015 06-10
 
Why I love Python!
Why I love Python!Why I love Python!
Why I love Python!
 
Why an api? - Exec I/O Mobile 2014
Why an api? - Exec I/O Mobile 2014Why an api? - Exec I/O Mobile 2014
Why an api? - Exec I/O Mobile 2014
 
Can an API be too simple?
Can an API be too simple?Can an API be too simple?
Can an API be too simple?
 

Recently uploaded

原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
3ipehhoa
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
laozhuseo02
 
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptxLiving-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
TristanJasperRamos
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
JungkooksNonexistent
 
Output determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CCOutput determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CC
ShahulHameed54211
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
natyesu
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
JeyaPerumal1
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Sanjeev Rampal
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
Rogerio Filho
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
Arif0071
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
nirahealhty
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
3ipehhoa
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAE
Himani415946
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
laozhuseo02
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
Gal Baras
 

Recently uploaded (16)

原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
 
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptxLiving-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
Living-in-IT-era-Module-7-Imaging-and-Design-for-Social-Impact.pptx
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
 
Output determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CCOutput determination SAP S4 HANA SAP SD CC
Output determination SAP S4 HANA SAP SD CC
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAE
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
 

The Architecture of an API Platform

  • 1. The Architecture of an API Platform Johannes Lundberg @johannesl
  • 2. ”Self-taught developer. 46elks co-founder. Strongly believe it's possible to combine powerful features with ease of use. Enjoys vegetarian food and world travel.” @johannesl
  • 3. The essence of an API Turning traditional complexity into programatic simplicity.
  • 4. Two kinds of APIs DATA! ACCESS SIDE! EFFECTS - Cloud storage - Online payment - Infrastructure as a service - Cloud communications - Open data - Twitter & Facebook - Public transportation - Partner APIs
  • 5. Self contained DATA! ACCESS SIDE! EFFECTS DATA! ACCESS SIDE! EFFECTS Vendor dependent - Open data - Twitter & FB - TV channels - Cloud storage - Paypal - Printing - Payments - Travel tickets - Telephony & SMS - Transportation - Social media - Open data
  • 6. DATA ACCESS - Self contained Consumer API Backend ! Data
  • 7. DATA ACCESS - Self contained Consumer API Backend ! Vendor Data
  • 8. SIDE EFFECTS - Self contained Consumer API Backend ! Machinery
  • 9. SIDE EFFECTS - Vendor dependent Consumer API Backend ! Vendor Services
  • 10. REALITY? Consumer API Backend ! Vendor Services Machinery Data
  • 11. REALITY?? Consumer API Backend ! ! ! ! ! Vendor Data Vendor Services Machinery Data Machinery Data Data Vendor Machinery Services
  • 12. What’s the main features of your API?
  • 13. We all know development costs.. ! Prototype first!
  • 14. Prototype first! Yes, with customers. Consumer API
  • 15. 1. Your API should work. 2. According to specs. ! 3. Maintainability.. 4. Scalability.. 5. Feature creep..
  • 16. The golden rule of API design When in doubt! Leave it out!
  • 17. XML vs JSON Servers vs IaaS! PUSH vs POLL OAuth vs Basic! Consistency vs Reliability! RabbitMQ vs ZeroMQ
  • 18. Something like this.. Consumer Consumer API FAILOVER LOAD BALANCER WEB SERVERS MESSAGE BUS WORKERS DATABASES BILLING Vendor Services Machinery BACKUP! DATA! CENTER
  • 19. Do versioning. Use JSON. Talk to your API consumers. Select vendors carefully. Building APIs! should be complex
  • 20. 46elks Part 2 - platform engine in-depth Voice, SMS and MMS! in one This document is confidential Unauthorized easy use prohibited API
  • 21. Customer applications Simple API Customers, Employees, Event audience, Machines SMS, MMS Phone calls platform engine
  • 22. THE INTERNET Developer Applications PHP, C#, node.JS etc REST API HTTPS, JSON Basic auth TELCO NETWORKS nginx w/ SSL HTTP(S) callbacks ABC Conceptual module interaction HTTP Endpoint XYZ Developer Applications PHP, C#, node.JS etc Developer Application PHP, C#, node.JS etc DB XYZ Carrier endpoint Complex protocols Nice software ! elkserver main source code ! Python + gevent DEF Internal API Processing Something Module X ABC 123 46elks
  • 23. The Architecture of an API Platform Johannes Lundberg @johannesl