2. *
About WSO2
๏ Global enterprise, founded in 2005 by
acknowledged leaders in XML, web
services technologies, standards and
open source
๏ Provides only open source platform-as-a-
service for private, public and hybrid
cloud deployments
๏ All WSO2 products are 100% open
source and released under the Apache
License Version 2.0.
๏ Is an Active Member of OASIS, Cloud
Security Alliance, OSGi Alliance, AMQP
Working Group, OpenID Foundation
and W3C.
๏ Driven by Innovation
๏ Launched first open source API
Management solution in 2012
๏ Launched App Factory in 2Q 2013
๏ Launched Enterprise Store and
first open source Mobile solution
in 4Q 2013
4. What is Carbon?
o Enterprise middleware platform.
o Modular/Componentized platform that can adapt to any enterprise architecture.
o Runs on premise or in the cloud.
o Based on OSGi technology.
o Built using the module system and services platform concepts in OSGi.
o 100% open source and open standards based.
9. WSO2 Carbon based products
o Product is a distribution artifact which combines Carbon kernel and a set of logically related
features.
WSO2 Carbon
based products
WSO2 Carbon
Kernel
o Following is a list of products offered by WSO2.
Set of features
10. WSO2 Carbon 4.3
o Next major release after the Carbon 4.2
o New VCS and Continuous Integration
o Feature rich downstream products planned including AS 6.0, ESB 4.9, and MB 3.0.
11. WSO2 Carbon 4.3 - New VCS
o We are in GIT !!
o GitHub to be exact.
https://github.com/wso2
12. WSO2 Carbon 4.3 - Continuous
Integration
o We have streamlined the build process with Jenkins.
o Do snapshot download
o Do check build status
https://wso2.org/jenkins/
13. WSO2 Carbon 4.3 - New Features
o Carbon Clustering stabilization improvements
o SVN-based Deployment Synchronizer improvements
o Pluggable log providers for LogViewer UI
o Tenant deletion support
o Using Java Security Manager with Carbon multi-tenancy
o CApp and artifact ghost deployment improvements
o Global cluster cache invalidation on remote Greg mounts
14. Carbon 4.3 - Carbon Clustering
improvements
o Distributed caching and clustering with Enterprise-grade software, Hazelcast.
o Introduced with Carbon 4.2
o Upgraded to Hazelcast version - 3.2.6
o Stabilization
“... the WSO2 Carbon core adds new distributed caching and
clustering implementations that are based on Hazelcast...
Hazelcast combines distributed data structures, distributed
caching capabilities, elasticity, memcache support, and
integration with Spring and Hibernate. These capabilities
bring several benefits to enterprise deployments, including
the ability to handle thousands of operations per second,
prevent the loss of data after crashes, and dynamically
scale as new servers are added.“ - Hazelcast
Source: http://hazelcast.org/use-cases/application-scaling/
15. Carbon 4.3 - Deployment Synchronizer
o Vastly improved SVN-based Deployment Synchronizer support
o Now supports Subversion 1.7 and 1.8 as the working copy format
o Stabilization, and improved recovery from intermittent failures
17. Carbon 4.3 - Pluggable Log Providers for
LogViewer UI
o The log view ui -
18. Carbon 4.3 - Pluggable Log Providers for
LogViewer UI
o View logs from several log storages
o File system / In memory log appender
o Cassandra as a log storage
o An SQL Server as a log storage
o A Centralized Log Viewer across the cluster
o Download archived logs
19. Add a new Log Provider
o To view logs from a custom log storage, say, Cassandra.
o Implement the interface org.wso2.carbon.logging.service.provider.api.
LogProvider
o Register it as a log provider via $CARBON_HOME/repository/conf/etc/logging-config.
xml
<loggingConfig xmlns="http://wso2.org/projects/carbon/carbon.xml">
<!-- Default log provider -->
<logProviderConfig class="org.wso2.carbon.logging.service.provider.InMemoryLogProvider">
<properties/>
</logProviderConfig>
<!-- Default log file provider -->
<logFileProviderConfig class="org.wso2.carbon.logging.service.provider.FileLogProvider">
<properties/>
</logFileProviderConfig>
</loggingConfig>
20. Add a new Log File Provider
o To download archived logs from a custom log storage, say, Cassandra.
o Implement the interface org.wso2.carbon.logging.service.provider.api.
LogFileProvider
o Register it as a log provider via $CARBON_HOME/repository/conf/etc/logging-config.
xml
<loggingConfig xmlns="http://wso2.org/projects/carbon/carbon.xml">
<!-- Default log provider -->
<logProviderConfig class="org.wso2.carbon.logging.service.provider.InMemoryLogProvider">
<properties/>
</logProviderConfig>
<!-- Default log file provider -->
<logFileProviderConfig class="org.wso2.carbon.logging.service.provider.FileLogProvider">
<properties/>
</logFileProviderConfig>
</loggingConfig>
21. Carbon 4.3 - Tenant Deletion Support
o Previously, WSO2 Carbon only supported tenant ‘Deactivation’
o We have added tenant deletion support as well in Carbon 4.3
22. Carbon 4.3 - Java Security Manager with
Carbon
o Why use JSM with Carbon?
o How to get it to work?
o Sign all the jars inside following folders with jarsigner
o $CARBON_HOME/repository/components/plugins/
o $CARBON_HOME/repository/components/lib/
o $CARBON_HOME/lib/
o Add the following system properties to bin/wso2server.sh
-Djava.security.manager=org.wso2.carbon.bootstrap.CarbonSecurityManager
-Djava.security.policy=$CARBON_HOME/repository/conf/sec.policy
-Drestricted.packages=sun.,com.sun.xml.internal.ws.,com.sun.xml.internal.bind.,com.sun.imageio.,org.wso2.carbon.
-Ddenied.system.properties=javax.net.ssl.trustStore,javax.net.ssl.trustStorePassword,denied.system.properties
o Place the security policy file at repository/conf/sec.policy
27. Carbon 4.3 - CApp and Ghost
Deployment
o Support Ghost Deployment for artifacts that come from CApps.
28. Key Features of Carbon
o User Manager
o Registry/Repository
o Caching
o Clustering
o Task, Coordination
o Management & Worker Node Separation
o Transports
o Deployment Engine
o Ghost Deployer
o Artifact Synchronization
o UI Framework
o Carbon API