WSO2 Use Case - API Facade Pattern

Preview:

Citation preview

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: bizdev@wso2.com

Asanka Abeysinghe

Blog : http://asanka.abeysinghe.org

Twitter : @asankama

33

lean . enterprise . middleware

Recommended