An Introduction to the Cuba Platform: The High-Level Open Source Java Web Framework


Java is widely used by developers today to create a variety of business applications. But the developers have to focus on many things to deliver a robust business application that meets all the business requirements and provides the required functionalities. Therefore, they need a variety of Java frameworks and tools to build custom web applications in a short period of time. Developers also have the option to choose from a wide range of open source and commercial Java web frameworks depending on the specific needs of the project.

Cuba is an open source web framework for Java. But it is a high-level web framework and it comes with features to simplify the development of custom business applications. Unlike other Java frameworks, Cuba Platform allows programmers to create user interfaces with XML. Therefore, developers can easily create a variety of web user interfaces using XML instead of HTML, CSS, and JavaScript. At the same time, they can take further advantage of the features and tools provided by the Cuba Platform to simplify and accelerate the development of various custom business applications.

Overview of important functions and tools provided by the Cuba platform

Data-aware visual components

Cuba Platform allows developers to build user interfaces with XML. Also, it makes it easy for developers to create custom user interfaces by providing visual components like buttons, popup button, link button, label, text field, text area, password field, masked field, check box, list of options, table, file upload table and calendar. Each of these data components are data-aware and can be generated dynamically. Also, developers can easily make the user interface more attractive by using standard user interface themes and customizing user interface elements.

Option to reuse and filter data

Developers can easily edit reference data using the dynamic interface provided by the web framework. The dynamic interface allows programmers to modify the reference data dynamically without generating additional screens. At the same time, Cuba Platform provides a generic data filter to allow end users to create and reuse custom data search conditions.

User Management

The Cuba Platform is designed with an integrated user management interface. The interface makes it easy for administrators to perform common user management tasks, such as capturing user details, applying password policies, toggling activities, and assigning security roles. The administrator can prevent password sharing and preserve audit evidence by setting delegation rules. You can further monitor and audit user actions based on attributes or object graph snapshots.

data access

The web framework allows developers to take advantage of robust date management tools at runtime. Developers can take advantage of data management tools to set CRUD permissions for entities, attributes, screen components, and menu items. Additionally, they can define custom access restrictions and restrict unauthorized users from viewing specific data entries.

Business Process Management

The Cuba Platform is designed with features to simplify the creation of business processes. Developers can use a dedicated premium plugin to create business processes and manage business process lifecycles through a built-in visual editor. They also have the option to present the assigned task to individual users through the folder panel components.

plugins function

The open source web framework makes it easy for developers to customize business applications according to changing business requirements by providing the extensions feature. Developers can take advantage of the feature to make changes to the user interface, business logic, and data model without spending additional time and effort. They can further modify the base product without altering the source code.

database support

The Cuba platform is designed with built-in HSQLDB. Developers can leverage HSQLDB to efficiently prototype web applications. But the high-level web framework is independent of the database. Therefore, developers have the option to work with various databases (MySQL, MS SQL Server, PostgreSQL and Oracle) to store data during the development and implementation phase of the project.

Generic REST API

Java web developers often need to integrate an enterprise application with various external systems to improve its accessibility and functionality. The Cuba Platform allows programmers to seamlessly integrate the web application with external systems through a generic REST API. The user can use the API to invoke middleware services and load domain entity graphs in XML or JSON format.

Implementation Options

Cuba Platform allows developers to implement business applications in various ways. Developers can deploy the business application on a popular Java EE Web Profile server such as Tomcat, Jetty, Glassfish, or WebSphere. At the same time, they can use Cuba Studio to deploy enterprise applications in the cloud and run them seamlessly across multiple platform-as-a-service (PaaS) clouds, including IBM Bluemix, RedHat OpenShift, and Pivotal Cloud Foundry.

In general, Cuba Platform is a high level, open source web framework for Java. It comes with features and tools to simplify and speed up the development of custom business applications. But all the features of the web framework are not free. Users have to incur additional charges to take advantage of various business features of the Cuba Platform, such as the built-in reporting engine, interactive charts and Google Maps integration, full-text search, and business process management.