The document summarizes the design and architecture of WSO2 Carbon 4.0.0 Kernel. It discusses how Carbon achieved modularity and dynamism through OSGi concepts, with everything compiled and run as bundles. This provided a solid foundation for a lean, modular, enterprise-class middleware platform. Carbon created a composable server architecture with products as sets of independently installable components running on the shared Carbon framework. It also discusses features like multi-tenancy, lazy loading of tenants, and a feature manager.
IAC 2024 - IA Fast Track to Search Focused AI Solutions
WSO2 Carbon 4.0.0 Kernel Design and Architecture
1. WSO2 Carbon 4.0.0 Kernel Design and
Architecture
Sameera Jayasoma
Senior Technical Lead
WSO2 Inc.
2. The “Problem”
●
What we had in pre-Carbon era.
●
Three products
●
Three code bases
●
Three separate teams
●
Same features across products, but NO shared code,
modules
●
This model wasn't scalable.
3. Design Objectives
To build a solid base/core for a,
●
Lean,
●
Modular,
●
Enterprise-class
●
Middleware platform.
4. OSGi to the Rescue!!!
●
OSGi framework is a dynamic module system and services platform
for the Java programming language.
●
OSGi defines a way build modules, their lifecycle and runtime
collaboration via services(Java Objects). In-VM SOA.
SOA
●
Carbon Kernel has achieved modularity and dynamism through the
concepts defined in OSGi framework.
●
Everything in Carbon is a bundle at compile time as well as at runtime.
5. Compile time Vs Runtime
●
Typical Java application
Compile time Runtime
6. Compile time Vs Runtime
●
OSGi based Java application
Compile time Runtime
7. WSO2 Carbon Kernel
“Firstly, Carbon isn't a "product". We already have a set of products, and we are launching new Carbon-
based revisions of some of those:
●
WSO2 Web Services Application Server v3.0
●
WSO2 Enterprise Service Bus 2.0
●
WSO2 Registry 2.0
Carbon is the framework, the foundation, the model behind all of these.
these ”
“Carbon is a composable server architecture. Efectively our products are now sets of components
architecture
running on the core framework, and you get to choose which ones you want and need. For
example, if you want to add BPEL support to the ESB, simply download the BPS component and
”
install into your existing ESB.
Paul Fremantle
Feb, 2009
11. Multi-tenancy
●
Multi-tenancy is provided from the Carbon kernel level.
●
Tenant level isolation is enforced by using separate classloaders,
code signing and Java security policies.
●
Lazy loading of tenants. Only active tenants will be loaded, once they
become inactive, they will be unloaded.
●
Lazy loading happens, when
●
First request Received,
●
Tenant mgt console is loaded,
●
A scheduled tenant task is load..
14. Future of Carbon Kernel
Trainee Software Senior Team Lead Project Project CEO
Engineer Software Lead Manager (WSO2)
Engineer
15. Carbon 5
●
Complete redesign of the existing Carbon platform.
●
Carbon kernel as a general purpose OSGi container.
container
●
Carbon kernel is lean, but it will get leaner than what we have now.
●
Enhanced REST Services support through a generic message
representation model.
model
●
Await for more!!!