wso2 carbon kernel design and architecture

16
WSO2 Carbon 4.0.0 Kernel Design and Architecture Sameera Jayasoma Senior Technical Lead WSO2 Inc.

Upload: sameera-jayasoma

Post on 14-Dec-2014

604 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: WSO2 Carbon Kernel Design and Architecture

WSO2 Carbon 4.0.0 Kernel Design and Architecture

Sameera JayasomaSenior Technical LeadWSO2 Inc.

Page 2: WSO2 Carbon Kernel Design and Architecture

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.

Page 3: WSO2 Carbon Kernel Design and Architecture

Design Objectives

To build a solid base/core for a,● Lean,● Modular,● Enterprise-class● Middleware platform.

Page 4: WSO2 Carbon Kernel Design and Architecture

OSGi to the Rescue!!!● OSGi framework is a dynamic module systemdynamic module system and services platformservices platform

for the Java programming language.

● OSGi defines a way build modules, their lifecycle and runtime collaboration via services(Java Objects). In-VM SOAIn-VM SOA.

● Carbon Kernel has achieved modularity and dynamism through the concepts defined in OSGi framework.

● Everything in Carbon is a bundle bundle at compile time as well as at runtime.

Page 5: WSO2 Carbon Kernel Design and Architecture

Compile time Vs Runtime● Typical Java application

Compile time Runtime

Page 6: WSO2 Carbon Kernel Design and Architecture

Compile time Vs Runtime● OSGi based Java application

Compile time Runtime

Page 7: WSO2 Carbon Kernel Design and Architecture

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 theseCarbon is the framework, the foundation, the model behind all of these. ”

“Carbon is a composable server architecturecomposable server architecture. Efectively our products are now sets of components 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

Page 8: WSO2 Carbon Kernel Design and Architecture

Modular Architecture of Carbon Kernel

Page 9: WSO2 Carbon Kernel Design and Architecture

Composable Server Architecture

Page 10: WSO2 Carbon Kernel Design and Architecture

Ghost Deployment

Page 11: WSO2 Carbon Kernel Design and Architecture

Multi-tenancy● Multi-tenancy is provided from the Carbon kernel level.

● Tenant level isolationTenant level isolation is enforced by using separate classloaders, code signing and Java security policies.

● Lazy loadingLazy 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..

Page 12: WSO2 Carbon Kernel Design and Architecture

Feature Manager

Page 13: WSO2 Carbon Kernel Design and Architecture

Carbon Kernel: Down the memory lane...

Page 14: WSO2 Carbon Kernel Design and Architecture

Future of Carbon Kernel

Trainee Team LeadSeniorSoftwareEngineer

SoftwareEngineer

Project Lead

ProjectManager

CEO(WSO2)

Page 15: WSO2 Carbon Kernel Design and Architecture

Carbon 5● Complete redesignredesign of the existing Carbon platform.

● Carbon kernel as a general purpose OSGi containergeneral purpose OSGi container.

● Carbon kernel is lean, but it will get leaner than what we have now.

● Enhanced REST Services support through a generic message generic message representation modelrepresentation model.

● Await for more!!!

Page 16: WSO2 Carbon Kernel Design and Architecture

Thank you!!!