3. Source for my Business APIs
Who is going to use my APIs ?
Can I change my business / business processes ?
Write new set of services ? What will happen to the old
services ?
Can I expose my services as it is?
4. Business Service Platforms
- Heterogeneous
- Styles
- SOAP
- RESTful
- Bindings
- SOAP/HTTP/s
- POX/HTTP/s
- POX/JMS
- JSON/HTTP/s
- File {CSV, EDA, COBOL}
- Development languages {Java, WCF, PHP, C/C++, JavaScript}
- Functionality {Focused on internal service consumers/ applications}
- Silos, owned by various BUs, no control
5. Demand for APIs
Picture Credit : http://www.newscientist.com/blogs/onepercent/2012/01/letting-gamers-experience-the.html
8. API Façade Pattern – cont..
External Format (Demand)
Façade
Mediation
Backend Services
9. API Façade Pattern – Generic Pattern
External Format (Demand)
Façade
Façade + Mediation
Mediation
Backend Services
10. Results
- Brining complexity to the Façade layer {outside the firewall}
- Writing wrapper service to shape the backend services
- Few protocols {HTTP/s, JMS} cannot solve the complexity
of integration
- Service virtualization, chaining, orchestration, complex
routing requirements
- Missing architecture decupling
- Limitations to scale
11. WSO2’s API Management Vision
- Create APIs
- WSO2 ESB, Application Server, Data Services
Server and BPS
- Find and subscribe/buy APIs
- API Store and Governance WSO2 API
- Manage, secure and protect APIs Management
- API Management and Gateway Platform
- Monitor and Monetize APIs
- API Monitoring and Analytics
- Develop, host and run API-based applications in a
Platform-as-a-Service
- WSO2 App Factory
- Domain Specific PaaS
12. Why? To be PRAGMATIC
- Gap between the demand and current service platforms
- Required to call multiple services to make a meaningful API method
/verb
- Required to call multiple data layers to build a resource / noune {MDM}
- Required to update multiple systems / sub-systems {MDM, transactions}
- Additional security due to external access {security bridging}
- Additional business rules due to external access
- Go to market
13. API Façade Pattern – WSO2 recommended architecture
External Format (Demand)
Façade
Mediation
Mediation
Backend Services
14. API Façade Pattern – WSO2 Implementation
External Format (Demand)
Façade
Mediation
Backend Services
15. API Façade Pattern – WSO2 Implementation extended
Ext API Mediation / Service
(Demand) Service Virtualization / Platforms
API Façade Orchestration
Other Service
Containers
17. WSO2 API Manager Platform – Component Architecture
API Gateway API Store API Publisher
API Ext Auth
Auth Server API Analytics
Ext Load Balancer
Ext LB
Analytics2.0
Platform
BAM-2.0 Data Collector
RDBMS
(G-Reg +Analytics)2.0 BAM-2.0 Analytics + Dashboard
BAM-2.0 Data Store
18. Map API Façade to the Component Architecture
- Invoke the API: API Gateway
- Look-up, Subscribe : API Store
- Govern, LCM : Publisher
22. Under the hood of API Manager
You can combine the
Façade and
Mediation layers (if
required) and run as a
single architecture
layer.
Picture Credit : http://green.autoblog.com/2011/07/28/four-cylinder-engines-dominate-in-u-s/
24. Capacity Planning – Facts Matrix
Component Capacity Planning Guidelines
API Gateway Peak load of the API calls
Auth Server Peak load of the API calls
API Store Peak load of the subscriptions and browsing
API Publisher Peak load of the API publishing and LCM tasks
Analytics System load of the API calls
29. Summary
- Clean architecture by separating the concerns
- Have a clear separation of internal and external processing of an API
call
- Ability to scale based on the usage of each layer
- Avoid implementing new services or building wrapper service layers
- Leverage SOA principles with the new WEB API architecture
- Utilize the middleware and go to market quickly