An Introduction To The Cuba Platform: The High Level Open Source Java Web Framework

At present, Java is being used widely by developers for building a variety of enterprise applications. But the developers have to focus on many things to deliver a robust enterprise application that meets all business requirements and provides the required functionalities. Hence, they need a variety of Java frameworks and tools to build custom web applications within a short amount of time. The developers also have option to choose from a wide range of open-source and commercial Java web frameworks according to specific needs of the project.

Cuba is an open source web framework for Java. But it is a high level web framework, and comes with features to simplify custom enterprise application development. Unlike other Java frameworks, the Cuba Platform enables programmers to build user interfaces with XML. Hence, the developers can easily build a variety of web user interfaces by using XML instead of HTML, CSS and JavaScript. At the same time, they can further avail the features and tools provided by the Cuba Platform to simplify and accelerate development of varying custom enterprise applications.

Overview of Important Features and Tools Provided by the Cuba Platform

Data Aware Visual Components

Cuba Platform enables developers to build user interfaces with XML. Also, it makes it easier for developers to create custom user interfaces by providing visual components like buttons, popup button, link button, label, textfield, textarea, passwordfield, maskedfield, checkbox, optionlist, table, fileuploadtable, and calendar. Each of these data components are data aware, and can be generated dynamically. Also, the developers can easily make the user interface more appealing by using standard UI themes and customizing UI elements.

Option to Reuse and Filter Data

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

User Management

The Cuba Platform is designed with a built-in user management interface. The interface makes it easier for administrators to accomplish common user management tasks like capturing user details, applying password policies, toggling activities, and assigning security roles. The administrator can avoid password sharing and preserve audit trial by setting delegation rules. He can further monitor and audit user actions based on attributes or object graph snapshots.

Data Access

The web framework enables programmers to avail robust date management tools at runtime. The developers can take advantage of the data management tools to configure CRUD permissions for entities, attributes, screen components, and menu items. Also, they can define custom access restrictions and restricts unauthorized users from viewing specific data entries.

Business Process Management

The Cuba Platform is designed with features to simplify business process creation. The programmers can use a specific premium add-on to create business processes and manage business process lifecycles through an integrated visual editor. They also have option to present the task assigned to individual users through folders panel components.

Extensions Feature

The open source web framework makes it easier for programmers to customize enterprise applications according to varying business requirement by providing extensions feature. The programmers can take advantage of the feature to make changes to the user interface, business logic and data model without putting extra 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. The developers can take advantage of HSQLDB to prototype the web applications efficiently. But the high-level web framework is database-agnostic. Hence, the developers have option to work with a number of databases – MySQL, MS SQL Server, PostgreSQL and Oracle – to store data during the development and deployment phase of the project.

Generic REST API

Often Java web developers have to integrate an enterprise application with various external systems to enhance its accessibility and functionality. The Cuba Platform enables programmers to integrate the web application smoothly 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.

Deployment Options

The Cuba Platform allows developers to deploy enterprise applications in a number of ways. The developers can deploy the enterprise application on a popular Java EE Web Profile server like Tomcat, Jetty, Glassfish or WebSphere. At the same time, they can use Cuba Studio to deploy the enterprise applications in the cloud, and run them smoothly on several Platform as a Service (PaaS) clouds including IBM Bluemix, RedHat OpenShift, and Pivotal Cloud Foundry.

On the whole, the Cuba Platform is an open source and high level web framework for Java. It comes with features and tools to simplify and speedup custom enterprise application development. But all features of the web framework are not free. The users have to incur additional expenses to avail various commercial features of the Cuba Platform like built-in reporting engine, interactive charts and Google Maps integration, full-text search, and business process management.