SlideShare a Scribd company logo
1 of 48
Download to read offline
PAST, PRESENT AND FUTURE OF
APIS OF MOBILE AND WEB APPS
Ole Lensmar – CTO – SmartBear Software
Once upon a time…
We tried to connect (early 90:ies)
 Multiple protocols / initiatives
– DCE/RPC (OSF)
– CORBA (OMG)
– COM / DCOM (Microsoft)
– J2EE / RMI (Sun)
 They all had their challenges
– Proprietary, Complex, Limited, etc.
Then - the Internet came along…
 HTTP
– lightweight “universal” text-based protocol
 XML
– “lightweight” text markup syntax
 “POX” – plain old XML
 HTTP+XML became XML-RPC
 SOAP (Microsoft)
– “Simple Object Access Protocol”
– XML-based messaging protocol – transport independent
REST arrives – and SOAP evolves
 REST was introduced by Roy T. Fielding
– “Architectural Styles and the Design of Network-based
Software Architectures” (2000)
 SOAP 1.1
– WSDL, XML-Schema
– W3C recommendation in 2003
 WS-I Basic Profile (2004)
– Guidelines on how to implement SOAP related-standards
– Doc/Literal replaces RPC
– Top-down vs Bottom up design
… and Web APIs emerge
 Salesforce launches XML API (2000)
– “Salesforce Automation”
 eBay launches their API (2000)
– Initially limited to select partners/developers
 Social
– Del.icio.us (2003)
– Flickr (2004)
– Facebook, Twitter, Google Maps, etc (2006)
 All APIs were central to the reach and success of their
providers
Web Applications evolve
 Web 2.0 Technology Stack
– AJAX (Asynchronous JavaScript and XML)
– HTML5 / CSS
– JSON
 Web starts turning into a platform
– ProgrammableWeb launches 2005
– API Management (Mashery)
– Still mainly XML
At the same time - SOAP gets “enterprisy”
 QoS specifications – WS-*
– WS-Addressing
– WS-Security
– WS-Reliable Messaging
– etc
 SOA Architectures become “mainstream”
 Limited use of SOAP for public APIs
– Difficult to consume from Web 2.0 stack
The client landscape continued to change
 Mobile takes the lead with native/hybrid/web
applications
– Mostly API-driven
 Single Page Applications (SPA)
– HTML5
– Dynamic UI that pulls all data from backend via APIs
 Device proliferation
– Android, iOS, Windows Phone, TVs, Consoles, etc..
– APIs enable adoption to new devices
APIs fuel cloud and infrastructure
 Amazon
– S3 – cloud based storage (2006)
– EC2 - re-sizable compute capacity (2006)
– Both REST APIs that lacked web interfaces for
several years!
 Twilio – voice and messaging (2007)
-> APIs enable a “building-block” approach to
applications and architectures
APIs at the heart of applications
API
Web / SPA
Mobile
Devices
Integrations
Storage
API
eCommerce
APIMessaging
API
Compute
API
Logic
And APIs just continue to grow…
 SOA architectures are moving to REST from SOAP
 API Directories
– programmableweb.com
– apihub.com
– publicapis.com
 apicommons.org
– Collection of shared API definitions
 QoS
– OAuth, OpenID Connect, Tokens, etc.
From an architectural
point of view…
20 years ago
ACME Corp
(does monolithics)
10 years ago
ACME Corp
(does SOA)
Web
app
Corp
SOA
P
MQ
API
RMI
And now… Corp
Corp
ACME Corp
(does APIs)
Web
app
Corp
App
+ API
API
API
API
Devi
ce
APP
API
Devi
ce
IoT
Devi
ce
IoT
Devi
ce
API
API
API Oriented Architecture
 Key ingredients in a distributed application
architecture can be consumed / provided via APIs
– Storage
– Messaging
– eCommerce
– Virtualization
– Compute / Provisioning
– Etc..
 Focus on core business
Let’s back up a little…
What is REST?
 REST is an architectural style – not a technology!
 Resources are identified with URIs
– /users/12343/address
– /cities/boston/hotels?area=downtown
 HTTP Verbs are used for actions
– GET – retrieve resource representation(s)
– POST – create resource(s) at URI (not idempotent)
– PUT – replace resources identified by URI (idempotent)
– DELETE – delete specified resource(s)
– PATCH – update specified resource
 Representations and Content-types control semantics
Hypermedia APIs
 HATEOAS – Hypermedia As The Engine Of Application State
 Embed links to applicable actions in REST responses – clients
shouldn’t need to know in advance what can be done next
 Pros
– Designed for scale
– Change and Context tolerant
– Allows “discovery” of APIs
 Cons
– Hypermedia is a “human” concept - client logic can get complex
– Requires aggressive caching for performance
REST Maturity Model
Hypermedia Example
Hypermedia Example
Hypermedia API Example
REST API Descriptions
 API metadata can be used for
– documentation,
– validation + testing
– code-generation
 Swagger - code oriented (bottom-up)
– large community + great tools for code generation
 RAML, API-Blueprint - design-oriented (top-down)
– great authoring tools
 WADL - inspired by WSDL – never caught on
Swagger Example
Swagger UI
Looking ahead – REST faces
some challenges…
Experience APIs
 Model APIs after user experience – not resources
 NetFlix
– 800+ devices / homescreens
– Each homescreen made multiple REST calls – doesn’t
scale
– Solution – build one API call for each device;
• /api/homescreen/ps4
 Orchestrate / Aggregate needed internal APIs on
the server
Binary Protocols
 Several CORBA-like alternative
– Thrift (Facebook)
– Protobuf (Google)
– Avro (Apache/Hadoop)
 All have an IDL with language bindings
 Problems solved:
– Performance (processing and bandwidth)
– Type-safety / interop
– Improved QoS built in the protocol
Async / Real-Time APIs…
 API-driven applications often poll for data updates
– Imposes bandwidth + performance overhead
– Insufficient for “real” real-time needs
 Real-Time APIs push data to clients when needed
 WebSockets (W3C)
– Supported in all major browsers
– Full-duplex communication over a single TCP connection
 Webhooks
– User-defined HTTP callbacks
– Supports REST concepts
SDKs vs APIs…
 SDKs greatly ease adoption
– No need to learn / implement underlying protocol
– Native language bindings natural for developers
– API provider has flexibility to change
 SDKs pose great challenges too
– Dependencies
– Versioning
– Support
And of course - the Internet of Things
 IoT devices have limited power and bandwidth
– low complexity and footprint for APIs
– publish/subscribe instead of request/response
– minimized on-the-wire formats
– automatic (re)connection management
 A number of real-time protocols in use
– MQTT, CoAP, AMQP, STOMP, etc
 IoT Brokers connect and integrate multiple devices
So if you’re building APIs,
what should be keeping you
up at night?
API Hierarchy of Needs
Who is going to use your API?
User Experience
=
Developer Experience
Align with your users technology
 SOAP / REST / Corba / etc…
 XML / JSON / YAML / etc…
 Honor QoS and Security
Help users understand your API
vs
Help users consume your API
 Code samples in common languages
 Native SDKs
 Provide sandbox environments
 Automated & instant API access for evaluation
Provide API Metadata
 Validation
 Code Generation
 Coverage
 Understanding
 Simulation
wsdl, swagger,
wadl, hal, json
schema, apiary.io,
xml schema, ws-*,
apiary, api-docs,
raml, iodocs, etc
Align with your users domain
 Process / Workflow
 Nomenclature
 Related APIs
A 3:30:3 Litmus test for APIs
 3 Minutes to understand what an API does
 30 seconds to sign up
 3 minutes to the first request
(Ori Pekelman)
Recommendations…
API First
 APIs are at the heart of
– Mobile Strategies
– Web Strategies
– Partner / Integration Strategies
– Developer / Community Strategies
– Cloud / Infrastructure Strategies
 APIs should be treated as a first-level citizen -
not as an after sight
Technology & Implementation
 Avoid (REST) religion
 Choose what’s best for you and your users
 Understand the importance of DX – both
internally and externally
 Use your public APIs internally!
And please…
Love your APIs – and they’ll love you back!
Thanks!
 @olensmar
 ole.lensmar@smartbear.com

More Related Content

What's hot

All Things API Presentation - Gordon Weakleim [HomeAway]
All Things API Presentation - Gordon Weakleim [HomeAway]All Things API Presentation - Gordon Weakleim [HomeAway]
All Things API Presentation - Gordon Weakleim [HomeAway]Cloud Elements
 
The API Facade Pattern: Common Patterns - Episode 2
The API Facade Pattern: Common Patterns - Episode 2The API Facade Pattern: Common Patterns - Episode 2
The API Facade Pattern: Common Patterns - Episode 2Apigee | Google Cloud
 
Connect js nodejs_api_shubhra
Connect js nodejs_api_shubhraConnect js nodejs_api_shubhra
Connect js nodejs_api_shubhraShubhra Kar
 
Triangle Node Meetup : APIs in Minutes with Node.js
Triangle Node Meetup :  APIs in Minutes with Node.jsTriangle Node Meetup :  APIs in Minutes with Node.js
Triangle Node Meetup : APIs in Minutes with Node.jsShubhra Kar
 
LAJUG Napster REST API
LAJUG Napster REST APILAJUG Napster REST API
LAJUG Napster REST APIstephenbhadran
 
API Docs Made Right / RAML - Swagger rant
API Docs Made Right / RAML - Swagger rantAPI Docs Made Right / RAML - Swagger rant
API Docs Made Right / RAML - Swagger rantVladimir Shulyak
 
The API Facade Pattern: People - Episode 4
The API Facade Pattern: People - Episode 4The API Facade Pattern: People - Episode 4
The API Facade Pattern: People - Episode 4Apigee | Google Cloud
 
Toronto node js_meetup
Toronto node js_meetupToronto node js_meetup
Toronto node js_meetupShubhra Kar
 
API Description Languages
API Description LanguagesAPI Description Languages
API Description LanguagesAkana
 
OpenSource Node.js API Framework and Server for Enterprise
OpenSource Node.js API Framework and Server for EnterpriseOpenSource Node.js API Framework and Server for Enterprise
OpenSource Node.js API Framework and Server for EnterpriseShubhra Kar
 
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIs
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIsThe liferay case: lessons learned evolving from RPC to Hypermedia REST APIs
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIsJorge Ferrer
 
API Athens Meetup - API standards 25-6-2014
API Athens Meetup - API standards   25-6-2014API Athens Meetup - API standards   25-6-2014
API Athens Meetup - API standards 25-6-2014Michael Petychakis
 
The API Facade Pattern: Overview - Episode 1
The API Facade Pattern: Overview - Episode 1The API Facade Pattern: Overview - Episode 1
The API Facade Pattern: Overview - Episode 1Apigee | Google Cloud
 
API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?Akana
 
The API Facade Pattern: Technology - Episode 3
The API Facade Pattern: Technology - Episode 3The API Facade Pattern: Technology - Episode 3
The API Facade Pattern: Technology - Episode 3Apigee | Google Cloud
 
Visbility at the Edge - Deep Insights from Your API
 Visbility at the Edge - Deep Insights from Your API Visbility at the Edge - Deep Insights from Your API
Visbility at the Edge - Deep Insights from Your APIApigee | Google Cloud
 
Essential API Facade Patterns: Session Management (Episode 2)
Essential API Facade Patterns: Session Management (Episode 2)Essential API Facade Patterns: Session Management (Episode 2)
Essential API Facade Patterns: Session Management (Episode 2)Apigee | Google Cloud
 
Creating Web Services with Zend Framework - Matthew Turland
Creating Web Services with Zend Framework - Matthew TurlandCreating Web Services with Zend Framework - Matthew Turland
Creating Web Services with Zend Framework - Matthew TurlandMatthew Turland
 
What’s behind a high quality web API? Ensure your APIs are more than just a ...
What’s behind a high quality web API? Ensure your APIs are more than just a ...What’s behind a high quality web API? Ensure your APIs are more than just a ...
What’s behind a high quality web API? Ensure your APIs are more than just a ...Kim Clark
 

What's hot (20)

All Things API Presentation - Gordon Weakleim [HomeAway]
All Things API Presentation - Gordon Weakleim [HomeAway]All Things API Presentation - Gordon Weakleim [HomeAway]
All Things API Presentation - Gordon Weakleim [HomeAway]
 
The API Facade Pattern: Common Patterns - Episode 2
The API Facade Pattern: Common Patterns - Episode 2The API Facade Pattern: Common Patterns - Episode 2
The API Facade Pattern: Common Patterns - Episode 2
 
Connect js nodejs_api_shubhra
Connect js nodejs_api_shubhraConnect js nodejs_api_shubhra
Connect js nodejs_api_shubhra
 
Triangle Node Meetup : APIs in Minutes with Node.js
Triangle Node Meetup :  APIs in Minutes with Node.jsTriangle Node Meetup :  APIs in Minutes with Node.js
Triangle Node Meetup : APIs in Minutes with Node.js
 
LAJUG Napster REST API
LAJUG Napster REST APILAJUG Napster REST API
LAJUG Napster REST API
 
API Docs Made Right / RAML - Swagger rant
API Docs Made Right / RAML - Swagger rantAPI Docs Made Right / RAML - Swagger rant
API Docs Made Right / RAML - Swagger rant
 
The API Facade Pattern: People - Episode 4
The API Facade Pattern: People - Episode 4The API Facade Pattern: People - Episode 4
The API Facade Pattern: People - Episode 4
 
Toronto node js_meetup
Toronto node js_meetupToronto node js_meetup
Toronto node js_meetup
 
API Description Languages
API Description LanguagesAPI Description Languages
API Description Languages
 
OpenSource Node.js API Framework and Server for Enterprise
OpenSource Node.js API Framework and Server for EnterpriseOpenSource Node.js API Framework and Server for Enterprise
OpenSource Node.js API Framework and Server for Enterprise
 
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIs
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIsThe liferay case: lessons learned evolving from RPC to Hypermedia REST APIs
The liferay case: lessons learned evolving from RPC to Hypermedia REST APIs
 
API Athens Meetup - API standards 25-6-2014
API Athens Meetup - API standards   25-6-2014API Athens Meetup - API standards   25-6-2014
API Athens Meetup - API standards 25-6-2014
 
The API Facade Pattern: Overview - Episode 1
The API Facade Pattern: Overview - Episode 1The API Facade Pattern: Overview - Episode 1
The API Facade Pattern: Overview - Episode 1
 
API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?API Description Languages: Which is the Right One for Me?
API Description Languages: Which is the Right One for Me?
 
The API Facade Pattern: Technology - Episode 3
The API Facade Pattern: Technology - Episode 3The API Facade Pattern: Technology - Episode 3
The API Facade Pattern: Technology - Episode 3
 
Visbility at the Edge - Deep Insights from Your API
 Visbility at the Edge - Deep Insights from Your API Visbility at the Edge - Deep Insights from Your API
Visbility at the Edge - Deep Insights from Your API
 
API Design- Best Practices
API Design-   Best PracticesAPI Design-   Best Practices
API Design- Best Practices
 
Essential API Facade Patterns: Session Management (Episode 2)
Essential API Facade Patterns: Session Management (Episode 2)Essential API Facade Patterns: Session Management (Episode 2)
Essential API Facade Patterns: Session Management (Episode 2)
 
Creating Web Services with Zend Framework - Matthew Turland
Creating Web Services with Zend Framework - Matthew TurlandCreating Web Services with Zend Framework - Matthew Turland
Creating Web Services with Zend Framework - Matthew Turland
 
What’s behind a high quality web API? Ensure your APIs are more than just a ...
What’s behind a high quality web API? Ensure your APIs are more than just a ...What’s behind a high quality web API? Ensure your APIs are more than just a ...
What’s behind a high quality web API? Ensure your APIs are more than just a ...
 

Similar to Past, Present and Future of APIs of Mobile and Web Apps

Seattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopSeattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopJimmy Guerrero
 
Design & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursDesign & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursRestlet
 
Getting Started with the Node.js LoopBack APi Framework
Getting Started with the Node.js LoopBack APi FrameworkGetting Started with the Node.js LoopBack APi Framework
Getting Started with the Node.js LoopBack APi FrameworkJimmy Guerrero
 
PHP is the King, nodejs is the Prince and Lua is the fool
PHP is the King, nodejs is the Prince and Lua is the foolPHP is the King, nodejs is the Prince and Lua is the fool
PHP is the King, nodejs is the Prince and Lua is the foolAlessandro Cinelli (cirpo)
 
Web Development Environments: Choose the best or go with the rest
Web Development Environments:  Choose the best or go with the restWeb Development Environments:  Choose the best or go with the rest
Web Development Environments: Choose the best or go with the restgeorge.james
 
Ibm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshopIbm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshopShubhra Kar
 
APIdays San Francisco, 06/22/2013
APIdays San Francisco, 06/22/2013APIdays San Francisco, 06/22/2013
APIdays San Francisco, 06/22/2013Jerome Louvel
 
From Web APIs to Cross-Device Web Sites
From Web APIs to Cross-Device Web SitesFrom Web APIs to Cross-Device Web Sites
From Web APIs to Cross-Device Web SitesRestlet
 
Web technologies lesson 1
Web technologies   lesson 1Web technologies   lesson 1
Web technologies lesson 1nhepner
 
SOAP--Simple Object Access Protocol
SOAP--Simple Object Access ProtocolSOAP--Simple Object Access Protocol
SOAP--Simple Object Access ProtocolMasud Rahman
 
Role of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIRole of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIWSO2
 
Web API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonWeb API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonAdnan Masood
 
PHP is the King, nodejs the prince and python the fool
PHP is the King, nodejs the prince and python the foolPHP is the King, nodejs the prince and python the fool
PHP is the King, nodejs the prince and python the foolAlessandro Cinelli (cirpo)
 
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...Codemotion
 
Mainframe Architecture & Product Overview
Mainframe Architecture & Product OverviewMainframe Architecture & Product Overview
Mainframe Architecture & Product Overviewabhi1112
 
Building modern web sites with ASP .Net Web API, WebSockets and RSignal
Building modern web sites with ASP .Net Web API, WebSockets and RSignalBuilding modern web sites with ASP .Net Web API, WebSockets and RSignal
Building modern web sites with ASP .Net Web API, WebSockets and RSignalAlessandro Pilotti
 

Similar to Past, Present and Future of APIs of Mobile and Web Apps (20)

Seattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js WorkshopSeattle StrongLoop Node.js Workshop
Seattle StrongLoop Node.js Workshop
 
soap toolkit
soap toolkitsoap toolkit
soap toolkit
 
Design & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hoursDesign & Deploy a data-driven Web API in 2 hours
Design & Deploy a data-driven Web API in 2 hours
 
Getting Started with the Node.js LoopBack APi Framework
Getting Started with the Node.js LoopBack APi FrameworkGetting Started with the Node.js LoopBack APi Framework
Getting Started with the Node.js LoopBack APi Framework
 
PHP is the King, nodejs is the Prince and Lua is the fool
PHP is the King, nodejs is the Prince and Lua is the foolPHP is the King, nodejs is the Prince and Lua is the fool
PHP is the King, nodejs is the Prince and Lua is the fool
 
Web Development Environments: Choose the best or go with the rest
Web Development Environments:  Choose the best or go with the restWeb Development Environments:  Choose the best or go with the rest
Web Development Environments: Choose the best or go with the rest
 
Ibm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshopIbm_interconnect_restapi_workshop
Ibm_interconnect_restapi_workshop
 
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
 
APIdays San Francisco, 06/22/2013
APIdays San Francisco, 06/22/2013APIdays San Francisco, 06/22/2013
APIdays San Francisco, 06/22/2013
 
From Web APIs to Cross-Device Web Sites
From Web APIs to Cross-Device Web SitesFrom Web APIs to Cross-Device Web Sites
From Web APIs to Cross-Device Web Sites
 
Web technologies lesson 1
Web technologies   lesson 1Web technologies   lesson 1
Web technologies lesson 1
 
SOAP--Simple Object Access Protocol
SOAP--Simple Object Access ProtocolSOAP--Simple Object Access Protocol
SOAP--Simple Object Access Protocol
 
Role of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EIRole of Rest vs. Web Services and EI
Role of Rest vs. Web Services and EI
 
Web Topics
Web TopicsWeb Topics
Web Topics
 
Web API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonWeb API or WCF - An Architectural Comparison
Web API or WCF - An Architectural Comparison
 
PHP is the King, nodejs the prince and python the fool
PHP is the King, nodejs the prince and python the foolPHP is the King, nodejs the prince and python the fool
PHP is the King, nodejs the prince and python the fool
 
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...
PHP is the king, nodejs is the prince and Python is the fool - Alessandro Cin...
 
Mainframe Architecture & Product Overview
Mainframe Architecture & Product OverviewMainframe Architecture & Product Overview
Mainframe Architecture & Product Overview
 
Cs2305 nol
Cs2305 nolCs2305 nol
Cs2305 nol
 
Building modern web sites with ASP .Net Web API, WebSockets and RSignal
Building modern web sites with ASP .Net Web API, WebSockets and RSignalBuilding modern web sites with ASP .Net Web API, WebSockets and RSignal
Building modern web sites with ASP .Net Web API, WebSockets and RSignal
 

More from SmartBear

Enforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHubEnforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHubSmartBear
 
Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1SmartBear
 
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...SmartBear
 
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...SmartBear
 
How LISI Automotive Accelerated Application Delivery with SwaggerHub
How LISI Automotive Accelerated Application Delivery with SwaggerHubHow LISI Automotive Accelerated Application Delivery with SwaggerHub
How LISI Automotive Accelerated Application Delivery with SwaggerHubSmartBear
 
Standardising APIs: Powering the Platform Economy in Financial Services
Standardising APIs: Powering the Platform Economy in Financial ServicesStandardising APIs: Powering the Platform Economy in Financial Services
Standardising APIs: Powering the Platform Economy in Financial ServicesSmartBear
 
Getting Started with API Standardization in SwaggerHub
Getting Started with API Standardization in SwaggerHubGetting Started with API Standardization in SwaggerHub
Getting Started with API Standardization in SwaggerHubSmartBear
 
Adopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHubAdopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHubSmartBear
 
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...SmartBear
 
Effective API Lifecycle Management
Effective API Lifecycle Management Effective API Lifecycle Management
Effective API Lifecycle Management SmartBear
 
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...SmartBear
 
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...SmartBear
 
Artificial intelligence for faster and smarter software testing - Galway Mee...
Artificial intelligence for faster and smarter software testing  - Galway Mee...Artificial intelligence for faster and smarter software testing  - Galway Mee...
Artificial intelligence for faster and smarter software testing - Galway Mee...SmartBear
 
Successfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile WorldSuccessfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile WorldSmartBear
 
The Best Kept Secrets of Code Review | SmartBear Webinar
The Best Kept Secrets of Code Review | SmartBear WebinarThe Best Kept Secrets of Code Review | SmartBear Webinar
The Best Kept Secrets of Code Review | SmartBear WebinarSmartBear
 
How Capital One Scaled API Design to Deliver New Products Faster
How Capital One Scaled API Design to Deliver New Products FasterHow Capital One Scaled API Design to Deliver New Products Faster
How Capital One Scaled API Design to Deliver New Products FasterSmartBear
 
Testing Without a GUI Using TestComplete
 Testing Without a GUI Using TestComplete Testing Without a GUI Using TestComplete
Testing Without a GUI Using TestCompleteSmartBear
 
Hidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsHidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsSmartBear
 
How Bdd Can Save Agile
 How Bdd Can Save Agile How Bdd Can Save Agile
How Bdd Can Save AgileSmartBear
 
API Automation and TDD to Implement Master Data Survivorship Rules
API Automation and TDD to Implement Master Data Survivorship RulesAPI Automation and TDD to Implement Master Data Survivorship Rules
API Automation and TDD to Implement Master Data Survivorship RulesSmartBear
 

More from SmartBear (20)

Enforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHubEnforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHub
 
Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1Introducing OpenAPI Version 3.1
Introducing OpenAPI Version 3.1
 
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
IATA Open Air: How API Standardization Enables Innovation in the Airline Indu...
 
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
The State of API 2020 Webinar – Exploring Trends, Tools & Takeaways to Drive ...
 
How LISI Automotive Accelerated Application Delivery with SwaggerHub
How LISI Automotive Accelerated Application Delivery with SwaggerHubHow LISI Automotive Accelerated Application Delivery with SwaggerHub
How LISI Automotive Accelerated Application Delivery with SwaggerHub
 
Standardising APIs: Powering the Platform Economy in Financial Services
Standardising APIs: Powering the Platform Economy in Financial ServicesStandardising APIs: Powering the Platform Economy in Financial Services
Standardising APIs: Powering the Platform Economy in Financial Services
 
Getting Started with API Standardization in SwaggerHub
Getting Started with API Standardization in SwaggerHubGetting Started with API Standardization in SwaggerHub
Getting Started with API Standardization in SwaggerHub
 
Adopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHubAdopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHub
 
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
Standardizing APIs Across Your Organization with Swagger and OAS | A SmartBea...
 
Effective API Lifecycle Management
Effective API Lifecycle Management Effective API Lifecycle Management
Effective API Lifecycle Management
 
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
The API Lifecycle Series: Exploring Design-First and Code-First Approaches to...
 
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
The API Lifecycle Series: Evolving API Development and Testing from Open Sour...
 
Artificial intelligence for faster and smarter software testing - Galway Mee...
Artificial intelligence for faster and smarter software testing  - Galway Mee...Artificial intelligence for faster and smarter software testing  - Galway Mee...
Artificial intelligence for faster and smarter software testing - Galway Mee...
 
Successfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile WorldSuccessfully Implementing BDD in an Agile World
Successfully Implementing BDD in an Agile World
 
The Best Kept Secrets of Code Review | SmartBear Webinar
The Best Kept Secrets of Code Review | SmartBear WebinarThe Best Kept Secrets of Code Review | SmartBear Webinar
The Best Kept Secrets of Code Review | SmartBear Webinar
 
How Capital One Scaled API Design to Deliver New Products Faster
How Capital One Scaled API Design to Deliver New Products FasterHow Capital One Scaled API Design to Deliver New Products Faster
How Capital One Scaled API Design to Deliver New Products Faster
 
Testing Without a GUI Using TestComplete
 Testing Without a GUI Using TestComplete Testing Without a GUI Using TestComplete
Testing Without a GUI Using TestComplete
 
Hidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsHidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script Extensions
 
How Bdd Can Save Agile
 How Bdd Can Save Agile How Bdd Can Save Agile
How Bdd Can Save Agile
 
API Automation and TDD to Implement Master Data Survivorship Rules
API Automation and TDD to Implement Master Data Survivorship RulesAPI Automation and TDD to Implement Master Data Survivorship Rules
API Automation and TDD to Implement Master Data Survivorship Rules
 

Recently uploaded

Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 

Recently uploaded (20)

Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024VictoriaMetrics Anomaly Detection Updates: Q1 2024
VictoriaMetrics Anomaly Detection Updates: Q1 2024
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 

Past, Present and Future of APIs of Mobile and Web Apps

  • 1. PAST, PRESENT AND FUTURE OF APIS OF MOBILE AND WEB APPS Ole Lensmar – CTO – SmartBear Software
  • 2. Once upon a time…
  • 3. We tried to connect (early 90:ies)  Multiple protocols / initiatives – DCE/RPC (OSF) – CORBA (OMG) – COM / DCOM (Microsoft) – J2EE / RMI (Sun)  They all had their challenges – Proprietary, Complex, Limited, etc.
  • 4. Then - the Internet came along…  HTTP – lightweight “universal” text-based protocol  XML – “lightweight” text markup syntax  “POX” – plain old XML  HTTP+XML became XML-RPC  SOAP (Microsoft) – “Simple Object Access Protocol” – XML-based messaging protocol – transport independent
  • 5. REST arrives – and SOAP evolves  REST was introduced by Roy T. Fielding – “Architectural Styles and the Design of Network-based Software Architectures” (2000)  SOAP 1.1 – WSDL, XML-Schema – W3C recommendation in 2003  WS-I Basic Profile (2004) – Guidelines on how to implement SOAP related-standards – Doc/Literal replaces RPC – Top-down vs Bottom up design
  • 6. … and Web APIs emerge  Salesforce launches XML API (2000) – “Salesforce Automation”  eBay launches their API (2000) – Initially limited to select partners/developers  Social – Del.icio.us (2003) – Flickr (2004) – Facebook, Twitter, Google Maps, etc (2006)  All APIs were central to the reach and success of their providers
  • 7. Web Applications evolve  Web 2.0 Technology Stack – AJAX (Asynchronous JavaScript and XML) – HTML5 / CSS – JSON  Web starts turning into a platform – ProgrammableWeb launches 2005 – API Management (Mashery) – Still mainly XML
  • 8. At the same time - SOAP gets “enterprisy”  QoS specifications – WS-* – WS-Addressing – WS-Security – WS-Reliable Messaging – etc  SOA Architectures become “mainstream”  Limited use of SOAP for public APIs – Difficult to consume from Web 2.0 stack
  • 9. The client landscape continued to change  Mobile takes the lead with native/hybrid/web applications – Mostly API-driven  Single Page Applications (SPA) – HTML5 – Dynamic UI that pulls all data from backend via APIs  Device proliferation – Android, iOS, Windows Phone, TVs, Consoles, etc.. – APIs enable adoption to new devices
  • 10. APIs fuel cloud and infrastructure  Amazon – S3 – cloud based storage (2006) – EC2 - re-sizable compute capacity (2006) – Both REST APIs that lacked web interfaces for several years!  Twilio – voice and messaging (2007) -> APIs enable a “building-block” approach to applications and architectures
  • 11. APIs at the heart of applications API Web / SPA Mobile Devices Integrations Storage API eCommerce APIMessaging API Compute API Logic
  • 12. And APIs just continue to grow…  SOA architectures are moving to REST from SOAP  API Directories – programmableweb.com – apihub.com – publicapis.com  apicommons.org – Collection of shared API definitions  QoS – OAuth, OpenID Connect, Tokens, etc.
  • 14. 20 years ago ACME Corp (does monolithics)
  • 15. 10 years ago ACME Corp (does SOA) Web app Corp SOA P MQ API RMI
  • 16. And now… Corp Corp ACME Corp (does APIs) Web app Corp App + API API API API Devi ce APP API Devi ce IoT Devi ce IoT Devi ce API API
  • 17. API Oriented Architecture  Key ingredients in a distributed application architecture can be consumed / provided via APIs – Storage – Messaging – eCommerce – Virtualization – Compute / Provisioning – Etc..  Focus on core business
  • 18. Let’s back up a little…
  • 19. What is REST?  REST is an architectural style – not a technology!  Resources are identified with URIs – /users/12343/address – /cities/boston/hotels?area=downtown  HTTP Verbs are used for actions – GET – retrieve resource representation(s) – POST – create resource(s) at URI (not idempotent) – PUT – replace resources identified by URI (idempotent) – DELETE – delete specified resource(s) – PATCH – update specified resource  Representations and Content-types control semantics
  • 20. Hypermedia APIs  HATEOAS – Hypermedia As The Engine Of Application State  Embed links to applicable actions in REST responses – clients shouldn’t need to know in advance what can be done next  Pros – Designed for scale – Change and Context tolerant – Allows “discovery” of APIs  Cons – Hypermedia is a “human” concept - client logic can get complex – Requires aggressive caching for performance
  • 25. REST API Descriptions  API metadata can be used for – documentation, – validation + testing – code-generation  Swagger - code oriented (bottom-up) – large community + great tools for code generation  RAML, API-Blueprint - design-oriented (top-down) – great authoring tools  WADL - inspired by WSDL – never caught on
  • 28. Looking ahead – REST faces some challenges…
  • 29. Experience APIs  Model APIs after user experience – not resources  NetFlix – 800+ devices / homescreens – Each homescreen made multiple REST calls – doesn’t scale – Solution – build one API call for each device; • /api/homescreen/ps4  Orchestrate / Aggregate needed internal APIs on the server
  • 30. Binary Protocols  Several CORBA-like alternative – Thrift (Facebook) – Protobuf (Google) – Avro (Apache/Hadoop)  All have an IDL with language bindings  Problems solved: – Performance (processing and bandwidth) – Type-safety / interop – Improved QoS built in the protocol
  • 31. Async / Real-Time APIs…  API-driven applications often poll for data updates – Imposes bandwidth + performance overhead – Insufficient for “real” real-time needs  Real-Time APIs push data to clients when needed  WebSockets (W3C) – Supported in all major browsers – Full-duplex communication over a single TCP connection  Webhooks – User-defined HTTP callbacks – Supports REST concepts
  • 32. SDKs vs APIs…  SDKs greatly ease adoption – No need to learn / implement underlying protocol – Native language bindings natural for developers – API provider has flexibility to change  SDKs pose great challenges too – Dependencies – Versioning – Support
  • 33. And of course - the Internet of Things  IoT devices have limited power and bandwidth – low complexity and footprint for APIs – publish/subscribe instead of request/response – minimized on-the-wire formats – automatic (re)connection management  A number of real-time protocols in use – MQTT, CoAP, AMQP, STOMP, etc  IoT Brokers connect and integrate multiple devices
  • 34. So if you’re building APIs, what should be keeping you up at night?
  • 36. Who is going to use your API?
  • 38. Align with your users technology  SOAP / REST / Corba / etc…  XML / JSON / YAML / etc…  Honor QoS and Security
  • 39. Help users understand your API vs
  • 40. Help users consume your API  Code samples in common languages  Native SDKs  Provide sandbox environments  Automated & instant API access for evaluation
  • 41. Provide API Metadata  Validation  Code Generation  Coverage  Understanding  Simulation wsdl, swagger, wadl, hal, json schema, apiary.io, xml schema, ws-*, apiary, api-docs, raml, iodocs, etc
  • 42. Align with your users domain  Process / Workflow  Nomenclature  Related APIs
  • 43. A 3:30:3 Litmus test for APIs  3 Minutes to understand what an API does  30 seconds to sign up  3 minutes to the first request (Ori Pekelman)
  • 45. API First  APIs are at the heart of – Mobile Strategies – Web Strategies – Partner / Integration Strategies – Developer / Community Strategies – Cloud / Infrastructure Strategies  APIs should be treated as a first-level citizen - not as an after sight
  • 46. Technology & Implementation  Avoid (REST) religion  Choose what’s best for you and your users  Understand the importance of DX – both internally and externally  Use your public APIs internally!
  • 47. And please… Love your APIs – and they’ll love you back!