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 wasnt scalable.
Design ObjectivesTo build a solid base/core for a, ● Lean, ● Modular, ● Enterprise-class ● Middleware platform.
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.
Compile time Vs Runtime● Typical Java application Compile time Runtime
Compile time Vs Runtime● OSGi based Java application Compile time Runtime
WSO2 Carbon Kernel“Firstly, Carbon isnt 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.0Carbon 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
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..
Future of Carbon KernelTrainee Software Senior Team Lead Project Project CEO Engineer Software Lead Manager (WSO2) Engineer
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!!!