Features
Under the Hood: Scalable Multitenant Cloud

Rollbase consists of a number of multitenant components that can be spread across multiple physical or virtual servers for scaling purposes or consolidated on the same server for smaller loads. The following table briefly describes each type of Rollbase component that makes up a full Rollbase instance. Each component can be isoldated on its own server or combined with any other group of components on a shared server:

Rollbase Components

 MasterSystem monitoring, tenant provisioning, subscriber management, published application management, etc.
 Production1-N production servers; tenants are dynamically loaded onto the production server with the least load.
 Database1-N database servers; MySQL, Oracle or SQL Server; each tenant's data resides in a shared database.
 WorkflowManages all scheduled workflow event processes and automation.
 RouterManages all user authentication and routing of requests to the appropriate production server.
 SearchA Lucene-based search engine that manages all indexing and search activity.
 StorageManages all document and file storage either directly or via Amazon S3.
 SOAPManages all SOAP API requests.
 RESTManages all REST API requests.
 RSSManages all RSS feeds.

How It Works
While all of these components can, and by default do, run on the same physical or virtual server, a unique advantage of Rollbase is that any one of them can be moved to its own dedicated physical or virtual server for scalability purposes with a minimum amount of configuration changes and minimal interruption to the Rollbase runtime. All Rollbase components communicate with each other via streamlined XML messaging. The Master component monitors the current status of all other components and can raise alerts when issues arise.

Add Multitenant App Servers as Needed
Rollbase supports an arbitrary number of production components (i.e. app servers) allowing customers to scale to support as many concurrent users and tenants (i.e. customers) as needed. Tenants are not assigned to any particular production component. Rather, Rollbase dynamically loads tenants onto the available production component with the lowest current resource utilization and load balances users across all available production components. Tenants are dynamically unloaded from production components after a configurable period of inactivity to minimize resource consumption. The dynamic tenant loading process consistently clocks in at sub-second times on the order of 700ms.

Add Multitenant Databases as Needed
Rollbase also supports multiple databases allowing the infrastructure to scale as needed. Each tenant's data resides in a single shared or dedicated database and can be easily moved to another database instance using administrative tools in the Master component's user interface. In addition, tenants can be copied for testing and sandboxing purposes.

Application Publishing and Installation
Applications developed by tenants can be published in a proprietary XML format and stored in the Master component. Based on permissions, other tenants may install published applications into their own accounts. The application installation process involves parsing this XML and creating all of the appropriate application metadata and seed data in the tenant's account. All application components are tagged with unique identifiers allowing applications to intelligently receive updates as well as share components (such as object definitions) among multiple applications without causing conflicts or overwriting tenant-specific customizations.

100% Java and Open Source Stack. Database Neutral.
All Rollbase components are written in 100% Java and created by Rollbase Inc., with the exception of the Search component that is primarily powered by the open source Lucene engine. Rollbase.com Hosted Cloud is powered by a 100% open source stack consisting of Apache, Tomcat, MySQL and Java. Rollbase is database agnostic and Private Cloud customers can deploy Rollbase on Oracle and Microsoft SQL Server with no modifications.