1
API-First: Going Beyond SOA, ESB, and Integration
Ed Anuff, Apigee
Brian Pagano, Apigee
@edanuff
Ed Anuff
@brianpagano
Brian Pagano
What do we mean by APIs?
The A in API is for apps
Rich clients
(Visual Basic, Delphi, etc.)
Thin clients
(Web Applications)
Rich clients
(Mobile Apps)
App
HTTP
Browser
App
Internal
External
App
Modern server-side app
•Often runs in an app server
•Monolithic presentation and business logic
•Hosted in an environment
(often a virtualized container)
•Increasingly lightweight
BackendAPI
App
Apps need resources
•Databases and storage
•Email services
•Sometimes integration-based,
but increasingly API-based
APIs are not SOA++
Cloud business services
•Database-as-a-Service
•Storage-as-a-Service
•Email-as-a-Service
•MQ-as-a-Service
•All are already in widespread use …
Internal resources
•Many new resource services already are
API-based
•Developers prefer to use APIs even with
the added work of learning APIs versus
ESB approaches
SDK
API
Mobile API architecture
CC-BY-SA
Device-side
app
logic
Server-side
application logic &
infrastructure
Sometimes apps talk to other apps
API
Front end
BackendAPI
App APIAPI AppApp
Internal
External
App-to-app
•API-centric: app developers expose their
own APIs and learns others’ APIs
•Integration: normalized data interchange
•Agility trade-off
API
Front end
BackendAPI
App
Partner
App
3rd Party
App
Internal
External
Okay, we have to talk about
microservices
Internal
API
Front end
BackendAPI
APIAPI AppApp
Service Service Service
Service Service Service
Service Service Service
APIs
APIs
Microservice architecture
External
Microservices
•Components are services, not in-process
objects
•Allows polyglot programming
•Easier to scale component services
individually
Evolving toward API-first
Monolithic web app
Web apps
App server
Backend
services
API-adapted Web Apps
Consumption-focused
Web Apps
App Server
Backend
Services
Other apps
API
API-adapted SOA
Exposure-focused
Web apps
App server
Internal
services
Other apps
API
ESB
API-first enterprise
Web apps
App servers
Backend
services
ESB
Mobile apps
API tier
All apps
Security AnalyticsPersistence Orchestration
Other apps
What comes next?
API mass customization
App “B”
App servers
Backend
services
ESB
App “A”
API Tter
App “C”
API “B”API “A” API “C”
API tier analytics
All channels
API Tier
All backends
All interactions
Analytics
Correlations
Cohorts
Conversions
Segmentation
A/B & multivariate
API tier with analytics
• API adaptations needed for apps
• Enable developers for business
• Security for app-to-API
• App and behavior analytics
• APIs architected for abstraction
• Enable developers for API use
• Security for API-to-backend
• API analytics
APIAPI
App consumption API exposure
App server ServicesApp
Analytics
Summary
•“A” is for Apps
•APIs are not SOA++
•Microservices?
•How to get to an API-centric architecture

API First: Going Beyond SOA, ESBs, and Integration

Editor's Notes

  • #15 By using a lightweight library you can use API calls to Create, Read, Update, and Delete data with ease. The backend manages access and security through it’s API, and the server infrastructure make’s sure your data is backed up and safe.