Using the Carbon Architecture
to build a

Fit-for-Purpose Platform

Sameera Jayasoma
Architect @ WSO2
WSO2 Carbon
● Tag cloud
WSO2 Carbon Platform
● WSO2 Carbon is a
○ lean,
○ modular,
○ enterprise-class middleware platform.
● All WSO2 middleware products are build on top of
Carbon
■

Application Server, Enterprise Service Bus, Identity Server, Business
Process Server, API Manager..

● Offers a wide-range of reusable core components to
middleware products.
■

Security, Clustering, Caching, Logging, Monitoring, User management..
What is Carbon?
Carbon Kernel Runtime
● Modular server development framework
○
○
○

Defines how to develop modules/components in Carbon
Defines how these modules collaborate at runtime.
Provides a provisioning solution for the Carbon platform.

● Provides a minimal runtime for any WSO2 middleware
product.
○ A WSO2 middleware product can be considered as a collection of
related modules/components running on this minimal runtime.
Under the covers: OSGi, P2
● OSGi as the fundamental modularization technology in
WSO2 Carbon.
● OSGi provides a better module system for Java:
■
■
■

Better control than packages
Versioning
Dynamic loading

● Carbon Relies on Eclipse’ open source
implementation of OSGi - Equinox.
● Provisioning solution based on Equinox P2
○

P2 is generic provisioning solution for OSGi based systems.
Feature Provisioning in Carbon
Benefits of WSO2 Carbon
● WSO2 technology as well our customers have
benefitted from this componentized middleware
platform.
● Enables agile development
○
○

Small teams focusing on their own features
Time to market factor for product teams.

● Best of breed
○

Each product brings enhancements to the core.

● No Internal integration challenges.
○
○

Eliminated these challenges by sharing cross-cutting features
across all the middleware products
e.g. Security, User mgt, Clustering, Multi-tenancy, Logging
Consistency in usability
● User experience is same
across all the products.
● Reduced learning curve.
● Any Carbon based product
will have this directory
hierarchy.
● If you are familiar with
installing, configuring and
operating Application server,
same applies all the other
products.
Composite Application model (CApp)
● Improved definition of “enterprise project”.
● WSO2 developer studio allows to package config and
code of an enterprise project into a single archive. (a
“car” file)
● A CAR file can be deployed to different runtimes.
● Each runtime will only deploy the artefacts which match
with the role that the runtime is playing.
■

e.g. ESB runtime will not deploy a data service in the CAR file
unless otherwise the default configuration is altered.
Deployment Synchronization
Deployment Choices
Stratos
Private
PaaS

StratosLive
Public
PaaS
C-App

Carbon
On-Premise
Server Profiles
● Enables a product to run in multiple modes/profiles
● A profile of a product describes the runtime behaviour.
● Each ale 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
Unprecedented Extensibility
● Extensibility is provided from the heart of the Carbon
platform.
● Componentized architecture allows you to enrich the
rich set of features of Carbon platform.
● Certain Extensions are treated as first class citizens of
the platform.
Core Platform Components
● User Manager
○
○

User provisioning and access model
APIs to integrate third party user stores

● Registry
○

Provides repository API to store any type of data of metadata.

● Distributed Caching and Clustering
○

Based use Hazelcast

● Deployment Engine
○
○

Ghost deployment
Deployment Synchronization and APIs to plugin any repository.

● UI framework
○

Based on Apache Tiles, it provides clean API to plugin your custom UI
components.

● Data sources
WSO2 Platform Adaptability
What Carbon Platform means for
your Business
● Simpler, speedier projects.
● Reduced risk of failure
● Required only few specialized consultants
● Platform evolution.
WSO2 Carbon 5 (C5)
● Next generation of the Carbon platform.
● Still at the milestone 1 level.
● Planning to release in 6 months.
Q&A ???
Thank You!!!

Using the Carbon Architecture to Build a Fit-for-Purpose Platform

  • 1.
    Using the CarbonArchitecture to build a Fit-for-Purpose Platform Sameera Jayasoma Architect @ WSO2
  • 2.
  • 3.
    WSO2 Carbon Platform ●WSO2 Carbon is a ○ lean, ○ modular, ○ enterprise-class middleware platform. ● All WSO2 middleware products are build on top of Carbon ■ Application Server, Enterprise Service Bus, Identity Server, Business Process Server, API Manager.. ● Offers a wide-range of reusable core components to middleware products. ■ Security, Clustering, Caching, Logging, Monitoring, User management..
  • 4.
  • 5.
    Carbon Kernel Runtime ●Modular server development framework ○ ○ ○ Defines how to develop modules/components in Carbon Defines how these modules collaborate at runtime. Provides a provisioning solution for the Carbon platform. ● Provides a minimal runtime for any WSO2 middleware product. ○ A WSO2 middleware product can be considered as a collection of related modules/components running on this minimal runtime.
  • 6.
    Under the covers:OSGi, P2 ● OSGi as the fundamental modularization technology in WSO2 Carbon. ● OSGi provides a better module system for Java: ■ ■ ■ Better control than packages Versioning Dynamic loading ● Carbon Relies on Eclipse’ open source implementation of OSGi - Equinox. ● Provisioning solution based on Equinox P2 ○ P2 is generic provisioning solution for OSGi based systems.
  • 7.
  • 8.
    Benefits of WSO2Carbon ● WSO2 technology as well our customers have benefitted from this componentized middleware platform. ● Enables agile development ○ ○ Small teams focusing on their own features Time to market factor for product teams. ● Best of breed ○ Each product brings enhancements to the core. ● No Internal integration challenges. ○ ○ Eliminated these challenges by sharing cross-cutting features across all the middleware products e.g. Security, User mgt, Clustering, Multi-tenancy, Logging
  • 9.
    Consistency in usability ●User experience is same across all the products. ● Reduced learning curve. ● Any Carbon based product will have this directory hierarchy. ● If you are familiar with installing, configuring and operating Application server, same applies all the other products.
  • 10.
    Composite Application model(CApp) ● Improved definition of “enterprise project”. ● WSO2 developer studio allows to package config and code of an enterprise project into a single archive. (a “car” file) ● A CAR file can be deployed to different runtimes. ● Each runtime will only deploy the artefacts which match with the role that the runtime is playing. ■ e.g. ESB runtime will not deploy a data service in the CAR file unless otherwise the default configuration is altered.
  • 11.
  • 12.
  • 13.
    Server Profiles ● Enablesa product to run in multiple modes/profiles ● A profile of a product describes the runtime behaviour. ● Each ale 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
  • 14.
    Unprecedented Extensibility ● Extensibilityis provided from the heart of the Carbon platform. ● Componentized architecture allows you to enrich the rich set of features of Carbon platform. ● Certain Extensions are treated as first class citizens of the platform.
  • 15.
    Core Platform Components ●User Manager ○ ○ User provisioning and access model APIs to integrate third party user stores ● Registry ○ Provides repository API to store any type of data of metadata. ● Distributed Caching and Clustering ○ Based use Hazelcast ● Deployment Engine ○ ○ Ghost deployment Deployment Synchronization and APIs to plugin any repository. ● UI framework ○ Based on Apache Tiles, it provides clean API to plugin your custom UI components. ● Data sources
  • 16.
  • 17.
    What Carbon Platformmeans for your Business ● Simpler, speedier projects. ● Reduced risk of failure ● Required only few specialized consultants ● Platform evolution.
  • 19.
    WSO2 Carbon 5(C5) ● Next generation of the Carbon platform. ● Still at the milestone 1 level. ● Planning to release in 6 months.
  • 20.
  • 21.