Next training October 24. Next free webinar October 17.

Overview

CUBA Platform is a high level open source Java web framework for the rapid development of enterprise applications with rich web interfaces. The platform abstracts developers from underlying technologies so they can focus on the business tasks, whilst retaining full flexibility by providing unrestricted access to low level code.

Applications are developed in Java, with the user interface declared in XML. There is no need for HTML, CSS or JavaScript to create standard web interfaces. A rich set of features covers most typical project requirements and development tools reduce boilerplate code and facilitate truly rapid development.

The unique Extensions concept enables developers to customise a distributable product to individual client requirements whilst retaining the benefits of all platform features and future updates - delivering bespoke products without branching.

CUBA Platform is available under the open source Apache 2.0 license, which ensures the freedom to use the platform and your applications for any purpose.

The easiest way to get started:

  • 1Install CUBA Studio
  • 2Create a new project
  • 3Studio will automatically configure dependencies and download CUBA Platform artifacts and source code.

The source code of the platform is also available on GitHub. We encourage developers to submit pull requests to contribute to the CUBA Platform development.

  • Product customization

    Adapt your product to meet individual customers’ needs with the unique Extensions feature. Modify data model, UI and business logic of the base product, without modifying its source code. Keeping all changes in a client-specific extension enables seamless upgrades of the base product versions.

    Use the same approach to tailor platform functionality to your project requirements.

    Documentation In the blog

  • Create business processes with an integrated visual designer and manage their lifecycle. Present assigned tasks to the users via the “Folders Panel” component.

    BPM is part of the Premium Add-ons.

    Documentation Folders Panel

  • Let users extend your data model on the fly or store sparse data efficiently thanks to the full support of the Entity-Attribute-Value model in addition to the classic relational database schema.

    Documentation

  • Enable full-text search within entity attributes and stored files content, globally or within a specific browser screen. Search results allow viewing the related object graph and are subject to security constraints.

    Full-text search is part of the Premium Add-ons.

    Documentation

  • Make sure no email will be lost with status tracking, logs and automatic retries.

    Documentation

  • Display dates in current user's timezone where required.

    Documentation

“There are many pretenders for a suitable application generation framework but few reduce the effort needed to deliver a working application. The CUBA Platform does and provides enough out-of-the-box capability to be truly productive. The architecture suits a continuous-integration ‘DevOps' strategy. The inclusion of components such as row-level security, BPM, self-service reporting and full text search is significant and provide enterprise-class features without heavy lifting.”

Simon Lewis, Senior Technologist, Pursuit Projects Limited
Simon Lewis
Senior Technologist, Pursuit Projects Limited

Technologies

Vaadin framework is used in the web client to display the generic user interface. Vaadin offers a comprehensive set of extensible components and supports SCSS for UI customization. At the same time its server-based implementation model improves security and allows to unify the UI code between web and desktop clients.

Spring container provides core infrastructure for the middle tier and the application’s client blocks. The framework is also used to establish remote interaction between blocks and for web services implementation.

EclipseLink framework is used as ORM implementation to model the domain in accordance with JPA standards and perform complex object-oriented queries. Regular SQL can also be used via JDBC or MyBatis.

Projects are built with the popular Gradle tool. It enables encapsulating the specifics of building CUBA applications in plug-ins and at the same time offers unlimited capabilities for customization of Groovy build scripts.

CUBA Platform's BPM module is based on Activiti and provides tools to design, execute and manage business processes, supporting BPMN 2.0 standard.

The FTS (full-text search) module utilizes the Apache Lucene framework, which is a de facto implementation standard for full-text search.