Ben Busse, product lead at DreamFactory, covers the importance of reusable REST APIs for enterprise mobile app development. Why are reusable APIs important, what are reusable APIs, and how do you use reusable APIs in practice. Ben gave this talk at the 2015 International PHP Conference in Berlin, Germany.
15. API Complexity
New APIs for every project
Tightly linked to data sources
Tightly linked to backend infrastructure
Poorly documented
Difficult to scale, not portable
Many security vulnerabilities
Server-side software development
Time consuming interface negotiation
18. • API Creation Tools
– Generates more complexity faster
• API Management Tools
– Introduces additional proxy endpoint
– Increases overall complexity of the system
– Still writing one-off APIs!
• Mobile Device Management
– Control the data, not the devices
Complexity Band-Aids
24. Reusable APIs for any new project
Customization for special cases
Focus on front-end app development
Decouple client-side from server-side
Flexible backend infrastructure
Flexible backend data sources
Automatically documented
Scalable, reliable, portable, secure
Reusable API Approach
25. Reusable APIs are a good thing!
Documented
Secure
Portable
Much less integration
Much less testing
43. ?filter = CreateDate = '2015-05-03’ and Archive = FALSE
and ProjectName like ‘Next%’
Complex Filters
Find active
projects
from
yesterday
where the
name starts
with “next”
Now you want to build a new app.
You didn’t know what app 2 was going to be when you built 1
Now, app 1 is in production. Don’t touch it!
Also app 2 might be built by a totally different team of engineers!
Interface negotiation is slow and difficult
Had to build all this server-side software
Results were bad
And you can’t re-use the backend software for other apps in your company
API Management Tools are not architected for transactional mobile use case.