Implementing API Facade using WSO2 API Management Platform
1. 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
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
-
-
2
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
3. What
we
do:
WSO2
can
help
any
business
wherever
they
are
and
take
them
where
they
want
to
go.
A
pp
3rd
Party
Apps
API
Business
=
{People,
Processes,
Data}
Business
(WSO2
Carbon
middleware)
Business
=
{People,
Processes,
Data}
3rd
Party
Apps
API
A
pp
A
pp
PaaS
for
Managed
3rd
Party
Apps
API
Business
=
{People,
Processes,
Data}
Business
with
APIs
Connected
Business
(WSO2
API
Manager)
(WSO2
App
Factory)
6. 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?
7. 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
8. Demand
for
APIs
Picture Credit : http://www.newscientist.com/blogs/onepercent/2012/01/letting-gamers-experience-the.html
11. API
Façade
Pahern
–
cont..
External Format (Demand)
Façade
Mediation
Backend Services
12. API
Façade
Pahern
–
Generic
Pahern
External Format (Demand)
Façade
Façade + Mediation
Mediation
Backend Services
13. 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
14. WSO2’s
API
Management
Vision
- 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
API
Management
PlaDorm
15. 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
16. API
Façade
Pahern
–
WSO2
recommended
architecture
External Format (Demand)
Façade
Mediation
Mediation
Backend Services
17. API
Façade
Pahern
–
WSO2
ImplementaLon
External Format (Demand)
Façade
Mediation
Backend Services
18. API
Façade
Pahern
–
WSO2
ImplementaLon
extended
Mediation /
Service Virtualization /
Orchestration
Service
Platforms
Other Service
Containers
Ext API
(Demand)
API Façade
20. 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/
21. API-‐centric
SOA
“API
Management,
the
missing
link
for
SOA
success.”
–
Sanjiva
Weerawarana
26. Use-‐case
cont..
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
26
27. 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