api first: going beyond soa, esbs, and integration
TRANSCRIPT
![Page 1: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/1.jpg)
1
API-First: Going Beyond SOA, ESB, and IntegrationEd Anuff, Apigee
Brian Pagano, Apigee
![Page 2: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/2.jpg)
@edanuffEd Anuff
@brianpaganoBrian Pagano
![Page 3: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/3.jpg)
What do we mean by APIs?
![Page 4: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/4.jpg)
The A in API is for apps
Rich clients(Visual Basic, Delphi, etc.)
Thin clients(Web Applications)
Rich clients(Mobile Apps)
![Page 5: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/5.jpg)
App
![Page 6: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/6.jpg)
HTTP
Browser
App
InternalExternal
![Page 7: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/7.jpg)
App
![Page 8: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/8.jpg)
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
![Page 9: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/9.jpg)
BackendAPI
App
![Page 10: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/10.jpg)
Apps need resources
•Databases and storage•Email services•Sometimes integration-based,but increasingly API-based
![Page 11: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/11.jpg)
APIs are not SOA++
![Page 12: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/12.jpg)
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 …
![Page 13: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/13.jpg)
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
![Page 14: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/14.jpg)
SDK
API
Mobile API architecture
CC-BY-SA
Device-sideapplogic
Server-sideapplication logic &
infrastructure
![Page 15: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/15.jpg)
Sometimes apps talk to other apps
![Page 16: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/16.jpg)
API
Front end
BackendAPI
App APIAPI AppApp
InternalExternal
![Page 17: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/17.jpg)
App-to-app
•API-centric: app developers expose their own APIs and learns others’ APIs• Integration: normalized data interchange•Agility trade-off
![Page 18: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/18.jpg)
API
Front end
BackendAPI
AppAPI
API
Partner App
3rd Party App
InternalExternal
![Page 19: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/19.jpg)
Okay, we have to talk about microservices
![Page 20: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/20.jpg)
Internal
API
Front end
BackendAPI
APIAPI AppAppServic
eServic
eServic
e
Service
Service
Service
Service Service Service
APIs
APIs
Microservice architecture
External
![Page 21: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/21.jpg)
Microservices
•Components are services, not in-process objects•Allows polyglot programming•Easier to scale component services individually
![Page 22: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/22.jpg)
Evolving toward API-first
![Page 23: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/23.jpg)
Monolithic web app
Web apps
App server
Backend services
![Page 24: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/24.jpg)
API-adapted Web AppsConsumption-focused Web Apps
App Server
Backend Services
Other apps
API
![Page 25: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/25.jpg)
API-adapted SOAExposure-focused
Web apps
App server
Internalservices
Other apps
API
ESB
![Page 26: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/26.jpg)
API-first enterprise
Web apps
App servers BackendservicesESB
Mobile apps
API tier
All apps
Security AnalyticsPersistence Orchestration
Other apps
![Page 27: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/27.jpg)
What comes next?
![Page 28: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/28.jpg)
API mass customization
App “B”
App servers BackendservicesESB
App “A”
API Tter
App “C”
API “B”API “A” API “C”
![Page 29: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/29.jpg)
API tier analyticsAll channels
API Tier
All backends
All interactions
Analytics
CorrelationsCohortsConversionsSegmentationA/B & multivariate
![Page 30: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/30.jpg)
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
![Page 31: API First: Going Beyond SOA, ESBs, and Integration](https://reader035.vdocuments.mx/reader035/viewer/2022070513/588305a91a28abe70d8b64e7/html5/thumbnails/31.jpg)
Summary
•“A” is for Apps•APIs are not SOA++•Microservices?•How to get to an API-centric architecture