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

Post on 22-Nov-2014

391 views 6 download

description

This is the slide-deck of the talk that I did for the WSO2Con 2013 US version which was held in San Francisco, CA. My goal was to talk about WSO2 Carbon platform, its architecture and how you can leverage this modular architecture to build a fit-for-purpose platform.

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

Using the Carbon Architecture to build a

Fit-for-Purpose Platform

Sameera JayasomaArchitect @ 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 (C-App)

● 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

StratosPrivatePaaS

StratosLivePublicPaaS

CarbonOn-Premise

C-App

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 PublisherAPI SubscriberAPI GatewayAuth 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!!!