Download - WSO2 Use Case - API Facade Pattern
WSO2 API Management Platform Webinar
API Façade Pattern
© WSO2 2012. Not for redistribution. Commercial in Confidence.
Asanka Abeysinghe - Director, Solutions Architecture, WSO2
API Management Platform Webinar Series
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?
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
Demand for APIs
Picture Credit : http://www.newscientist.com/blogs/onepercent/2012/01/letting-gamers-experience-the.html
Demand for APIs – cont..
Façade Pattern
Picture Credit : http://hypebeast.com/2009/11/nike-harajuku-store-opening/
API Façade Pattern – cont..
External Format (Demand)
Façade
Mediation
Backend Services
API Façade Pattern – Generic Pattern
External Format (Demand)
Façade
Mediation
Backend Services
Façade + Mediation
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
- Create APIs
- WSO2 ESB, Application Server, Data Services
Server and BPS
- Find and subscribe/buy APIs
- API Store and Governance
- Manage, secure and protect APIs
- API Management and Gateway
- 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
WSO2’s API Management Vision
WSO2 API
Management
Platform
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
API Façade Pattern – WSO2 recommended architecture
External Format (Demand)
Façade
Mediation
Backend Services
Façade
Mediation
API Façade Pattern – WSO2 Implementation
External Format (Demand)
Backend Services
Façade
Mediation
Oth
er
Serv
ice
Conta
iners
Ext API
(Demand)
API Façade
Mediation /
Service Virtualization /
Orchestration
Service
Platforms
API Façade Pattern – WSO2 Implementation extended
API Façade Pattern – WSO2 Implementation BIG PICTURE
API Gateway
API Store
API Publisher
API Auth Server
API Analytics
Platform
RDBMS
(G-Reg +Analytics)2.0
BAM-2.0 Data Collector
BAM-2.0 Analytics + Dashboard
BAM-2.0 Data Store
Load Balancer
Ext LB
Ext
Analytics2.0
WSO2 API Manager Platform – Component Architecture
Ext Auth
Map API Façade to the Component Architecture
- Invoke the API: API Gateway
- Look-up, Subscribe : API Store
- Govern, LCM : Publisher
API Publisher : LCM
API Publisher : Analytics
API Store : look-up/subscribe
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/
Capacity Planning How to Scale
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
Deployment Pattern : Minimum with internal store
Deployment Pattern : Minimum with external store
Deployment Pattern : Extend to scale
Deployment Pattern : as an internal API solution
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
Future webinars on API Management
WSO2Con 2013
More Info
Corporate website: http://wso2.com
Solution Architecture Blog: http://wso2.com/blogs/architecture/
Business development team: [email protected]
Asanka Abeysinghe
Blog : http://asanka.abeysinghe.org
Twitter : @asankama
33
lean . enterprise . middleware