15. Where do APIs fit in?
?
HTTP
API
Browser
UI
CC-BY-SA
App Server
Page Templates
Business Logic
Services
Customers
Orders
16. Governance?
Scope of SOA Governance
HTTP
API
Browser
UI
CC-BY-SA
App Server
Page Templates
Business Logic
Services
Customers
Orders
17. What about Apps?
Scope of SOA Governance
?
API
App
UI
Interaction Logic
Business Logic
CC-BY-SA
API
App Server
Service Facades
Business Logic
Services
Customers
Orders
18. Apps Need API Tier
Scope of API Governance
API
App
UI
Interaction Logic
Business Logic
CC-BY-SA
Scope of SOA Governance
API
App Server
Service Facades
Business Logic
App Server
Service Facades
Business Logic
19. Who builds the API Tier?
API Team?
App Team?
SOA Team?
CC-BY-SA
20. Who builds the API Tier?
API Team?
App Team?
SOA Team?
CC-BY-SA
21. Who builds the API Tier?
API Team?
App Team?
SOA Team?
All of the above
CC-BY-SA
22. What does API Tier do?
API exposure
- loosely coupled
App-specific consumption
- tightly coupled
CC-BY-SA
23. API Tier
App Consumption
API Exposure
• API adaptations needed for apps
• APIs architected for abstraction
• Enable developers for business
• Enable developers for API use
• Security for app-to-API
• Security for API-to-backend
API
App
CC-BY-SA
API
App Server
Services
30. API Mass Customization
App “A”
App “B”
App “C”
API “A”
API “B”
API “C”
API Tier
App
Servers
CC-BY-SA
ESB
Backend
Services
31. API Tier Analytics
All Channels
Correlations
Cohorts
All Interactions
API Tier
Conversions
Segmentation
A/B & Multivariate
Analytics
All Backends
CC-BY-SA
32. API Tier with Analytics
App Consumption
•
•
•
•
API Exposure
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
Analytics
API
App
CC-BY-SA
API
App Server
Services
34. APIs are not SOA++
APIs are built for both exposure and app-specific usage
APIs are a channel strategy as much or more so than an
integration strategy
Web-tier is now built against the same set of APIs as the
mobile tier
All interactions across mobile, web, social, and partners are
observable
API Tier is the last stop before mobile
CC-BY-SA
The idea behind pace-layering is that applications and the toolsets used for creating, managing and governing these apps depends on the need for business change, differentiation and innovation needs. Look at the pace of innovation of the platforms where apps are delivered to users. Innovation, differentiation, business value requires that enterprise app evolve at that pace. When it comes to backend systems stability, standardization and security are key. This essentially creates an impedance mismatch between the existing enterprise systems and the myriad of apps that consume them.
The concept of pace layers as developed in a book titled, "How Buildings Learn” by Stewart Brand. He was addressing the challenge of designing a building that would have a long and useful life, be resilient to change, and be able to accommodate the needs of various owners and occupants. His technique was to identify a series of layers, ranging from the building site, which never changes, to the "stuff," such as chairs, lamps and pictures, that might move around on a daily or weekly basis. In between are layers, like the building structure, which could last 100 years; the skin or exterior surface, which might be redone every 20 years; and the services, such as plumbing; heating, ventilation and air-conditioning (HVAC) or electrical wiring, which are often replaced or updated in seven to 15 years. These architectural layers have very different paces of change, but they must be designed to work together for the building to function effectively. We believe this same idea of pace layers can be used to build a business application strategy that delivers a faster response and a better ROI, without sacrificing integration, integrity and/or governance.
E: So, things get interesting when we add mobile into the mix
D: There are two APIs
E: Right, this is where we get the revenge of client/server, we have an app talking over an API to an App Server and the App Server talking via an API to the rest of your services
E: For a lot of enterprises, they have hundreds of these APIs on the left that they’re completely unaware of
D: This is like the proliferation of Sharepoint