BPM Time

Selecting BPM Solutions: Essential Factors, and how the Jmix Framework simplifies process automation for businesses.

Jmix 2 Bookstore Demo Overview

Discover Jmix's capabilities through a real-world B2B web-application modeled after the well-known Nordwind Bookstore, showcasing such functionalities and add-ons as custom filtering, BPM, Maps, and more.

Jmix Positioning Recap 2022

We were hard at work finalizing our product backlog scheduled for 2022 and finalizing marketing positioning, shaping a Less-Code platform concept. In this blog post, we will uncover the details of our recap the product positioning changes.

Engage with your users through in-app Chat Support

Take a look at how to enrich your Jmix application with the ability to directly interact with your users via chat. Get a very direct connection to your users, understand how they use the software, and see problems/questions that arise during the usage.

Jmix 1.1 is released!

The next version of Jmix – 1.1 - is available for download.
In this version, we introduce several major features:

  1. Migration from CUBA projects
  2. Kotlin support
  3. Full Java 17 support

Jmix Studio was updated too to support all these features.

Jmix 1.0 is Released!

We have released a stable version - 1.0 of the Jmix framework. We’ve spent most efforts on bugfixes and code stabilization to deliver the production-ready framework. But that is not all.

Database Lifecycle in Jmix

Jmix is a framework for data-centric application creation. Hence, data model and data access layer play one of the major roles in the framework. We use relational databases and JPA for data access in Jmix.

Jmix Roadmap 2021-2022

First of all, let me wish all of you a Happy New Year and congratulate that 2020 is finally over! It has been a rough year for the world, and I hope that 2021 will bring us more positive news.

Jmix - the future of CUBA Platform

CUBA started its way back in 2008. Since then it went through a few very important stages. At first it was an internal framework with no documentation and even less API. It was a company-wide thing that allowed Haulmont to develop Business Applications faster.

To Delete or to Soft Delete, That is the Question!

Soft deletion is a widely used pattern applied for business applications. It allows you to mark some records as deleted without actual erasure from the database. Effectively, you prevent a soft-deleted record from being selected, meanwhile all old records can still refer to it.

UTF-8 in HTTP headers

HTTP 1.1 is a well-known hypertext protocol for data transfer. HTTP messages are encoded with ISO-8859-1 (which can be nominally considered as an enhanced ASCII version, containing umlauts, diacritic and other characters of West European languages).

Code Generation in CUBA: What makes the magic

Code generation is a common thing in modern frameworks. Like every technology, code generation has application areas and limitations. In this article, we will have a look at code generation usage in CUBA Framework nowadays and discuss the future development of this technique.

Multitenancy in CUBA with Citus

Multitenancy is a reference to the mode of operation of software where multiple independent instances of one or multiple applications operate in a shared environment. The instances (tenants) are logically isolated, but physically integrated.

Helium - New Theme for CUBA Applications

We are happy to present our new visual theme - Helium! Helium is much cleaner and brighter with less visual noise comparing to its predecessors. Theme comes with editor which allows to rapidly create custom color presets.

CUBA Platform Italian

CUBA website in Italian launched! All the commercial services including consultancy & support, training and custom development are now available in Italian.

CUBA: Getting Ready for Production

“It works on my local machine!” Nowadays it sounds like a meme, but the problem “development environment vs production environment” still exists. As a developer, you should always keep in mind that your application will start working in the production environment one day. In this article, we will talk about some CUBA-specific things that will help you to avoid problems when your application will go to production.

What is Rapid Application Development

Rapid application development (RAD) model was formalized by James Martin in 1991 as an alternative to the rigid waterfall processes. The classic waterfall approach works perfectly in construction and many other industries where scope changes are rare and expensive. If you started building a bridge, it is unlikely that you would swap it for a ferry halfway through the process.

CUBA 7.2 - what's new?

The seventh version of the CUBA platform was a big step forward. Internal architecture improvements and the new IDE built a great basis for further improvements. And we continue adding new features to make a developer’s life easier and their work more productive.

Low Code Platforms - a Dangerous Bet

The low code application platforms (LCAP) have emerged in response to the complexity and variety of the modern software development landscape. Mendix is one of the most prominent players in this space according to Gartner, so let me use it as a reference in this article. However, similar conclusions would apply to Outsystems, Appian, Kony, Betty Blocks and many other platforms.

New Maps for CUBA

Working with spatial data and displaying maps is an inalienable part of many business apps. It can be city or regional information systems, oil-and-gas industry applications, transport infrastructure management systems, as well as delivery services and many more.

Fetching data with ORM is easy! Is it?

Almost any system operates with external data stores in some way. In most of the cases, it is a relational database and very often data fetching is delegated to some ORM implementation. ORM covers a lot of routine and brings along a few new abstractions in return.

Analyzing the Code of CUBA Platform with PVS-Studio

Java developers have access to a number of useful tools that help to write high-quality code such as the powerful IDE IntelliJ IDEA, free analyzers SpotBugs, PMD, and the like. The developers working on CUBA Platform have already been using all of these, and this review will show how the project can benefit even more from the use of the static code analyzer PVS-Studio.

CUBA 7: the New Chapter

The word “major” in the upcoming releases of CUBA and Studio is well deserved. It is the most important release for the last 3 years, based on thorough analysis of the community feedback on the forum, conferences and Java User Groups. However, it comes with even more changes!

What's new in CUBA 7

Three years ago we announced the second publicly available major version of the framework. CUBA 6 was the game changing version - the licensing was turned from proprietary to Apache 2.0. Those days we couldn't even guess where it was going to bring the framework in long term.

Spring Query Interfaces in CUBA

Developers usually don’t like to change their coding habits. When I started working with CUBA, I didn’t need to learn a lot of new things, creating applications was a pretty smooth process. One of the things that I ought to rediscover was working with data.

J2CL - Better late than never

Last week the Google team has finally published the source code of J2CL framework, which has been discussed since 2015. The idea of translating Java to JavaScript is not new at all, and everyone has had a hard time with Google Web Toolkit long before, yet this product was on the watch of the community like no other - it was discussed and became the topic of talks on conferences, but nobody’s seen it.

Off the Rails: getting RADical with CUBA

In the developer's life it happens to change one framework to another. The article is exactly about this, it shows the impressions of an experienced RoR developer moving to CUBA Platform. What is similar and what is perpendicular, what is more productive and what is easier to understand - read more in the article!

Marketplace: Updates Summary

It’s been half a year since the launch of the Marketplace. Within this period we’ve carried out a number of improvements, such as new components publications and creating of a special forum category. Our community have done its bit for the Marketplace progress, and we expect to keep the same pace of our community and services development.

CUBA WebDAV Addon Published

The CUBA WebDAV Addon has been published on the Marketplace! The Addon provides your CUBA application with powerful functionality for collaborative work on documents in various formats. Automated migration from the standard CUBA file storage simplifies adding WebDAV support to existing projects.

Meet CLI for CUBA Platform

There is no secret, that the world of software developers, especially Java developers, is full of keyboard maniacs who’d better type 10-15 letters over one mouse click. And our community is not an exception, therefore we've been frequently asked questions like "How can I start a project without CUBA Studio?" or "Is there light-weight free command line alternative to CUBA Studio?". So, good news everyone!

CUBA - a big shift from Spring?

Reading requirements for yet another web project for internal corporate use you (at least myself) usually see a pretty common set: well-defined data storage structure (or sometimes it’s an existing legacy DB), lots of forms for data entry, quite complex business logic, reporting and integrations with lots of existing corporate systems from accounting to supply management, thousands of concurrent users. What are your first thoughts?

Web application security: fighting yourself or finding the edge of sanity

How secure a web application should be? Well, for many of us, web-developers, the question doesn't make much sense. "An application must be as secure, as it is possible. The more secure it is, the better". But it is not a definite answer. It doesn't help to form a security policy of a project. Moreover, sticking to just this single directive ("The more secure it is, the better") may prove to be an ill service. Why? That's what I'm going to discuss in this article.

Marketplace Goes Live!

These days we are starting the Marketplace - an all-new ecosystem around CUBA platform. From now and on developers can pick & choose new features from an add-on catalog on our website to enrich their apps with no hassle. The catalog consists of the add-ons which were developed either by Haulmont or by CUBA community. Both free and paid components can be found there.

CUBA Platform Roadmap 2018

As promised in my last post, we would like to announce our development plan for the year ahead. Of course, it contains only major features, with 100s of smaller improvements to come as well.

Leveraging the power of web UI for desktop front-ends

No doubts, that web technologies and tooling for creating UIs are way more advanced than what we see in the desktop side. JavaFX is borrowing more and more CSS, but still far from being ideal; JNLP is officially deprecated in Java 9. This situation makes us think using web tech for desktop clients. So, is it achievable? And if yes, then how?

Classification of Development Frameworks for Enterprise Applications

If you google "best java framework", most probably, you will stumble on this article: https://zeroturnaround.com/rebellabs/java-web-frameworks-index-by-rebellabs/, which gives a great overview about the landscape in the Java Enterprise world. However, from my point of view it lacks a very important thing - classification of the mentioned frameworks. Let's have a look at another angle at this ecosystem and go beyond the Java world.

New Website Is On!

Over the last months we were working tirelessly to bring our new website into life. Starting from the last week, frequent visitors could have noticed that almost every other page has been changed to provide more clarity to the content.

Kotlin DSL: from Theory to Practice

SQL, RegExp, Gradle — what do they have in common? All of them represent an example of using domain-specific languages, or DSL. Languages of this type aim to solve a specific problem, such as database querying, finding matches in the text, or build process description. Kotlin language offers a large amount of features for building your own domain-specific language. In this article we’ll discover the developer’s toolkit and implement a DSL for a real-world domain.

Scheduled Tasks at Design Time

The article introduces a CUBA application component that allows developers to move the definition of Scheduled Tasks to design time using annotations. It explains when and why this approach brings advantages over the standard way of defining scheduled tasks at runtime. Also, this article touches some technical aspects of how this application component is implemented.

What's New in CUBA Platform 6.6

A few weeks ago we published the new minor release of CUBA platform and Studio. As always, it brings some very awaited features and improvements, making development process more straightforward, transparent and fast.

Pull Requests Wanted!

Since CUBA Platform was published as an open-source solution we are constantly moving towards increasing transparency. About a year ago we made CUBA issue tracker accessible, followed by publishing the platform roadmap. Finally, now we encourage everyone to contribute the code and influence CUBA Platform development.

What's New in CUBA Platform 6.5

As you already might have noticed we have published the new minor release of CUBA platform and Studio. The new version introduces mostly enhancements of the existing functionality, however, there are a few useful features have been included in 6.5.

This article covers major enhancements of Platform and Studio. The full list of changes is available in the corresponding release notes:

platform-6.5-release
studio-6.5-release

What's New in CUBA Platform 6.4

The new release of CUBA Platform and CUBA Studio has recently been published. While in version 6.3 we focused on architectural and technical improvements, this release introduces a number of features, that make development faster and more convenient for developers. The new version brings new visual components for the generic user interface, a new mainstream validation mechanism, an engine for an alternative JavaScript front-end generation and other important improvements.

This article covers major enhancements of Platform and Studio. The full list of changes is available in the corresponding release notes:
platform-6.4-release
studio-6.4-release

Migrating a Legacy Application to CUBA Platform

What if you got to the point when your legacy application should be migrated? We decided to provide a step by step guide and show how to migrate a legacy application to CUBA with minimum efforts, taking the official sample for the LightSwitch platform as an example.

Fast Track from Kick-Off to Production With CUBA Platform and Jelastic

As you may know, CUBA Platform is all about fast web enterprise applications development - achieving this via a combination of pre-built features, extensive scaffolding and visual UI design. However, development is only one part of the project lifecycle, so the platform team took one step further and provided developers with a fully scalable automatic deployment feature.

How Extensible Is Your Framework?

Attending conferences we always get to meet highly qualified decision makers, who frequently ask the same question: ‘How open is your framework and what if I need more than you offer out-of-the-box?‘. The question is very reasonable, as they simply don’t want to be stuck right in the middle of the development curve, then realise that the framework just doesn’t allow implementing some features or, likely, if you use open source product, it requires an unpredictably long time to dig deeper to poorly documented parts of the framework.

In this article I will illustrate how you can integrate 3rd party visual components into the CUBA Platform.

CUBA Platform is Going Open Source

The long-awaited moment has come, and now we are happy to announce that the CUBA Platform has finally joined the free software community! From now on, all the runtime part of the platform is open source and distributed under the Apache 2.0 license. This means that you will be able to create and distribute your applications absolutely for free! So, go ahead and start your CUBA application right now!

In this post, I would like to highlight why and how we have changed the licensing track.

What's New in CUBA Platform 6.1 and Studio 2.1

We are proud to announce the general availability of new versions of the CUBA Platform and Studio. The most radical change is licensing - since 6.1 version CUBA is distributed under the Apache 2.0 License. Also, as usual, the new version of the CUBA platform brings in several major new features, along with improvements and bug fixes.

CUBA Studio — How we use Vaadin for our Web Development Tool

When we started the development of CUBA Studio, we already had built up a large quantity of experience with Vaadin in CUBA Platform, because the generic UI of the platform is also built over this framework. So, why did we choose Vaadin? In this post I will highlight the most valuable features and interesting use cases.

Our Impression of JavaOne 2015

After an incredibly busy few weeks, we’ve now had time to reflect on the exciting week we spent at JavaOne Conference in San-Francisco. The conference gave insights on where Java community is heading, sparked many ideas for the CUBA Platform and allowed us to meet some outstanding guys, so I decided to share our impressions on the event.

CUBA Platform at the Gartner Symposium

Haulmont Technology has been selected by Gartner to exhibit as an ‘Emerging Technologies Exhibitor’ at the Gartner Symposium, the world's most important gathering of CIOs and senior IT executives, taking place 8th - 12th November in Barcelona.

Yet Another Report Generator?

If you have experience of business application development, then most likely you will have encountered a requirement for the application to have a flexible reporting mechanism. The company I work for is mainly focused on developing business solutions and reporting is an essential, indeed, must have aspect of all the enterprise systems we develop. To enable flexible reporting in our systems, we have developed our own open-source (distributed under Apache 2.0 license) report generator - YARG (Yet Another Report Generator).

CUBA Platform at JavaOne 25-29 Oct

We are happy to announce that CUBA Platform will be attending JavaOne - the world’s most prestigious Java event in the heart of Silicon Valley! You are most welcome to meet the CUBA team on our stand and discover more or share your ideas about the platform.

How to Develop a Highly Customizable Product

How can the product be kept a step away from the potentially dangerous ideas of your customers, yet still satisfy them? How can it be possible to maintain the highest levels of performance for a product technically designed to function in a particular way, but now with a layer of numerous add-ins? How much of a challenge will be created by the fundamental need to provide unfailing and outstanding support to the developed solution?

The Philosophy of the CUBA Platform

A huge amount has happened recently. Following the official launch of CUBA on 1st of June, we have rolled out a new release, published our first article on a few Java sites and presented the platform at the Devoxx UK сonference in London. But before the rush continues, about it is an apt time to articulate the philosophy behind CUBA.

What's New in CUBA Platform 5.4 and Studio 1.4

CUBA Platform 5.4 has now been released, bringing new features, as well as a number of bug fixes and improvements. This is also the first release available on the English version of our website.

As usual, we have released a new version of Studio, supporting projects based on the Platform 5.4. Besides the automatic migration to the new platform version, this Studio release offers some useful new features