implementing api facade using wso2 api management platform

28
API Façade Implemen’ng API Façade using WSO2 API Management Pla9orm Asanka Abeysinghe Vice President, Solu’ons Architecture @asankama, hBp://asanka.abeysinghe.org

Upload: wso2

Post on 15-Jan-2015

828 views

Category:

Technology


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Implementing API Facade using WSO2 API Management Platform

API  Façade    

Implemen'ng  API  Façade  using  WSO2  API  Management  Pla9orm  

Asanka  Abeysinghe  

Vice  President,  Solu'ons  Architecture  @asankama,  hBp://asanka.abeysinghe.org    

Page 2: Implementing API Facade using WSO2 API Management Platform

2  

About  WSO2  -  Global  enterprise,  founded  in  

2005  by  acknowledged  leaders  in  XML,  web  services    technologies,  standards    and  open  source  

-  Provides  only  open  source  plaDorm-­‐as-­‐a-­‐service  for  private,  public  and  hybrid  cloud  deployments  

-  All  WSO2  products  are  100%  open  source  and  released  under  the  Apache  License  Version  2.0.  

-  Is  an  AcLve  Member  of  OASIS,  Cloud  Security  Alliance,  OSGi  Alliance,  AMQP  Working  Group,  OpenID  FoundaLon  and  W3C.  

-  Driven  by  InnovaLon  

-  Launched  first  open  source  API  Management  soluLon  in  2012  

-  Launched  App  Factory  in  2Q  2013  

-  Launched  Enterprise  Store  and  first  open  source  Mobile  soluLon  in  4Q  2013  

Page 3: Implementing API Facade using WSO2 API Management Platform

What  we  do:  

WSO2  can  help  any  business  wherever  they  are    and  take  them  where  they  want  to  go.  

Business                Business  with  APIs  Connected  Business  (WSO2  Carbon  middleware)  (WSO2  API  Manager)  (WSO2  App  Factory)  

Business  =  {People,  Processes,  Data}  

3rd  Party  Apps  

API  

     

PaaS  for  Managed  3rd  Party  Apps  

 API  

App  

App  

App  

Business  =  {People,  Processes,  Data}  

3rd  Party  Apps  

API  

Business  =  {People,  Processes,  Data}  

Page 4: Implementing API Facade using WSO2 API Management Platform

4  

What  we  deliver  

Page 5: Implementing API Facade using WSO2 API Management Platform

5  

Business  Model  

Page 6: Implementing API Facade using WSO2 API Management Platform

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?  

Page 7: Implementing API Facade using WSO2 API Management Platform

Business  Service  PlaDorms  -  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}  

-  FuncLonality    {Focused  on  internal  service  consumers/  applicaLons}      

-  Silos,  owned  by  various  BUs,  no  control    

Page 8: Implementing API Facade using WSO2 API Management Platform

Demand  for  APIs  

Picture Credit : http://www.newscientist.com/blogs/onepercent/2012/01/letting-gamers-experience-the.html

Page 9: Implementing API Facade using WSO2 API Management Platform

Demand  for  APIs  –  cont..  

Page 10: Implementing API Facade using WSO2 API Management Platform

Façade  Pahern    

Picture Credit : http://hypebeast.com/2009/11/nike-harajuku-store-opening/

Page 11: Implementing API Facade using WSO2 API Management Platform

API  Façade  Pahern  –  cont..    

External Format (Demand)

Façade

Mediation

Backend Services

Page 12: Implementing API Facade using WSO2 API Management Platform

API  Façade  Pahern  –  Generic  Pahern  

External Format (Demand)

Façade

Mediation

Backend Services

Façade + Mediation

Page 13: Implementing API Facade using WSO2 API Management Platform

Results  

-  Brining  complexity  to  the  Façade  layer  {outside  the  firewall}    

-  WriLng  wrapper  service  to  shape  the  backend  services  

-  Few  protocols  {HTTP/s,  JMS}  cannot  solve  the  complexity  of  integraLon  

-  Service  virtualizaLon,  chaining,  orchestraLon,  complex  rouLng  requirements  

-  Missing  architecture  decupling  

-  LimitaLons  to  scale        

Page 14: Implementing API Facade using WSO2 API Management Platform

- Create  APIs  - WSO2  ESB,  ApplicaLon  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  MoneLze  APIs  - API  Monitoring  and  AnalyLcs  - Develop,  host  and  run  API-­‐based  applicaLons  in  a  PlaDorm-­‐as-­‐a-­‐Service  - WSO2  App  Factory  - Domain  Specific  PaaS  

WSO2’s  API  Management  Vision  

WSO2  API  Management  PlaDorm  

Page 15: Implementing API Facade using WSO2 API Management Platform

Why?  To  be  PRAGMATIC    -  Gap  between  the  demand  and  current  service  plaDorms  

-  Required  to  call  mulLple  services  to  make  a  meaningful  API  method  /verb  

-  Required  to  call  mulLple  data  layers  to  build  a  resource  /  noune  {MDM}    

-  Required  to  update  mulLple  systems  /  sub-­‐systems  {MDM,  transacLons}  

-  AddiLonal  security  due  to  external  access  {security  bridging}  

-  AddiLonal  business  rules  due  to  external  access  

-  Go  to  market  

Page 16: Implementing API Facade using WSO2 API Management Platform

API  Façade  Pahern  –  WSO2  recommended  architecture    

External Format (Demand)

Façade

Mediation

Backend Services

Façade

Mediation

Page 17: Implementing API Facade using WSO2 API Management Platform

API  Façade  Pahern  –  WSO2  ImplementaLon  

External Format (Demand)

Backend Services

Façade

Mediation

Page 18: Implementing API Facade using WSO2 API Management Platform

Oth

er S

ervi

ce

Con

tain

ers

Ext API (Demand)

API Façade

Mediation / Service Virtualization /

Orchestration

Service Platforms

API  Façade  Pahern  –  WSO2  ImplementaLon  extended  

Page 19: Implementing API Facade using WSO2 API Management Platform

API  Façade  Pahern  –  WSO2  ImplementaLon  BIG  PICTURE  

Page 20: Implementing API Facade using WSO2 API Management Platform

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/

Page 21: Implementing API Facade using WSO2 API Management Platform

API-­‐centric  SOA  

“API  Management,  the  missing  link  for  SOA  success.”  –  Sanjiva  Weerawarana  

Page 22: Implementing API Facade using WSO2 API Management Platform

API-­‐centric  SOA  cont…  

22  

BU-­‐1   BU-­‐2   BU-­‐3  

Services   Services   Services  

APIs  

API  Façade    

Page 23: Implementing API Facade using WSO2 API Management Platform

Façade  –  funcLonal  components  

-  Protocol  switching    -  Message  transformaLon    -  Service  chaining    -  Canonical  datamodels    -  Industry  standards    -  Security  bridging    -  Message  rouLng    -  Response  caching    

23  

Page 24: Implementing API Facade using WSO2 API Management Platform

Use-­‐case  

24  

Page 25: Implementing API Facade using WSO2 API Management Platform

Use-­‐case  cont..  

25  

Page 26: Implementing API Facade using WSO2 API Management Platform

Use-­‐case  cont..  

26  

More info: 1.  http://asanka.abeysinghe.org/2013/05/implementing-api-facade-with-wso2-api.html 2.  http://asanka.abeysinghe.org/2013/04/pragmatic-approach-to-api-facade-pattern.html

Page 27: Implementing API Facade using WSO2 API Management Platform

Summary  

-  Clean  architecture  by  separaLng  the  concerns    

-  Have  a  clear  separaLon  of  internal  and  external  processing  of  an  API  call  

-  Ability  to  scale  based  on  the  usage  of  each  layer    

-  Avoid  implemenLng  new  services  or  building  wrapper  service  layers  

-  Leverage  SOA  principles  with  the  new  WEB  API  architecture    

-  ULlize  the  middleware  and  go  to  market  quickly  

Page 28: Implementing API Facade using WSO2 API Management Platform

Contact us !