Post on 22-Nov-2014
description
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!!!