Introduction to the WSO2 Carbon
CTO & CO Founder, 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
• Business model is to sell comprehensive support & maintenance
for our products
• Technology OEM’d by IBM, Progress, Software AG, Alcatel, EMC,
• 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.
What is Carbon?
Carbon is a modular server runtime based on Java
Built on top of Carbon are a set of middleware
servers (App Server, ESB, Identity, API
Carbon includes a set of re-usable core
• Clustering, User Management, Logging, JMX, ...
When WSO2 had four products:
Web Services App Server
Each was written by different teams
Not enough re-use
Needed a proper modular framework
What motivated this?
Benefits to WSO2 development
• Small product teams focus on their own area
• Re-use core
• 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
Benefits to customers
Flexible deployment and architecture
• Fit to your architecture
• Proven at high scale
Easy to extend
• Well defined approach to create Carbon components
(first class extensions)
• The same CAR files work on-prem, cloud images and
Consistent Management and Operations
• Adding new servers and function is smooth
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
Provides a module system for Java:
• Better control than packages
• Dynamic loading
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
o Product is merely a set of components/features which runs on the
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.
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
• Same theory applies to the web-
based management console as
Image credit (c) Adam Fremantle 1961
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
• 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
• E.g. A single API Manager distribution can play
• One download, multiple servers.
e.g. sh wso2carbon.sh -Dprofile=profile_name