1. Introduction to the WSO2 Carbon
Platform
Paul Fremantle
CTO & CO Founder, WSO2
Sameera Jayasoma
Architect, WSO2
2. WSO2
• Founded in 2005 by acknowledged leaders in XML, Web Services
Technologies & Standards and Open Source. Primary contributors
to Apache Web Services projects started in 2001
• Producing entire middleware platform 100% open source under
Apache license
• Business model is to sell comprehensive support & maintenance
for our products
• Technology OEM’d by IBM, Progress, Software AG, Alcatel, EMC,
and CA
• Venture funded by Intel Capital and Quest Software.
• Global corporation with offices in Palo Alto, USA Portsmouth, UK &
Colombo, Sri Lanka
• 250+ employees and growing.
4. What is Carbon?
Carbon is a modular server runtime based on Java
and OSGi
Built on top of Carbon are a set of middleware
servers (App Server, ESB, Identity, API
Manager, etc)
Carbon includes a set of re-usable core
components:
• Clustering, User Management, Logging, JMX, ...
5. When WSO2 had four products:
Web Services App Server
ESB
BPS
Data Services
Each was written by different teams
Not enough re-use
Needed a proper modular framework
What motivated this?
6. Benefits to WSO2 development
Agile Development
• Small product teams focus on their own area
• Re-use core
Cloud-enablement
• All the products get the same cloud
enablement, multi-tenancy, clustering, etc
• Same code runs on the cloud as on-prem
Best of Breed
• Each product gets enhancements to the core
7. Benefits to customers
Flexible deployment and architecture
• Fit to your architecture
Robust architecture
• Proven at high scale
Easy to extend
• Well defined approach to create Carbon components
(first class extensions)
Consistent deployment
• The same CAR files work on-prem, cloud images and
on StratosLive
Consistent Management and Operations
• Adding new servers and function is smooth
8. OSGi
Originally created in 1999 to create a
component runtime for Java in embedded
devices (e.g. in-car)
In 2003 Eclipse chose OSGi to manage
components
Provides a module system for Java:
• Better control than packages
• Versioning
• Dynamic loading
10. Eclipse p2
• Manages the packaging of OSGi bundles
into features
• Supports deploying, undeploying,
checkpoints
• Advanced features included shared
repositories
14. WSO2 Carbon Kernel
• Carbon kernel is the framework, foundation, the model
behind the Carbon platform.
• Carbon kernel has introduced a composable server
architecture through which we have composed a number of
products.
o Product is merely a set of components/features which runs on the
Carbon kernel.
o You get to mix and match these components and build your own
product that matches with your requirements
o If you require data service feature in your ESB, connect to our online
feature repository and install the data services feature.
16. Consistency of config / operations
• Any Carbon based product will
have this directory structure.
• If you are familiar with installing,
configuring and operating
Application Server, same
knowledge applies to other
products.
• Same theory applies to the web-
based management console as
well.
21. Iden%ty
Server
minified
• Requirement:
run
WSO2
IS
on
exis4ng
hardware
in-‐store
• 1Gb
machine
with
less
than
256Mb
free
• Minified
deployment
• Used
Carbon/OSGi
to
remove
unnecessary
services
• Ran
all
scenarios
in
96Mb
heap
• Met
customer
requirements
with
just
128Mb
heap!
Scenario 96Mb 256Mb
Deployment Std Min Std Min
STS OOM 166 147 185
SAML2 OOM 499 140 609
OAuth OOM 786 OOM 827
XACML OOM 874 305 929
22. Raspberry
Pi
Cluster
WSO2
Con
London
2013
• Eben
Upton
keynote
• Decided
to
run
our
mobile
app
on
a
Pi
Cluster
• Each
Pi
has:
• 700Mhz
ARM
• 512Mb
RAM
• For
WSO2Con
we
ran
an
8-‐Pi
cluster
• Using
minified
Carbon
• 256Mb
heap
size
• 350
tps
across
8
Pis
• ~
44
tps
/
Pi
24. Server Profiles
• Enables a product to run in multiple modes/profiles
• A profiles of a product describes the runtime behaviour.
• Each profile contains only the required set of
components
• E.g. A single API Manager distribution can play
following roles.
API Publisher
API Subscriber
API Gateway
Auth Server
• One download, multiple servers.
e.g. sh wso2carbon.sh -Dprofile=profile_name
28. WSO2 engagement model
QuickStart
Development Support
Development Services
Production Support
Turnkey Solutions
WSO2 Mobile Services Solution
WSO2 FIX Gateway Solution
WSO2 SAP Gateway Solution