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.
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..
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.
8. 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
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.
13. 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
14. 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.
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
17. What Carbon Platform means for
your Business
● Simpler, speedier projects.
● Reduced risk of failure
● Required only few specialized consultants
● Platform evolution.
18.
19. WSO2 Carbon 5 (C5)
● Next generation of the Carbon platform.
● Still at the milestone 1 level.
● Planning to release in 6 months.