If you have plenty of money and time Spring Boot + React is a good fit, otherwise have a look at OpenXava.
Write just the domain classes in plain Java. Get a business application ready for production.
"I think OpenXava is an extraordinary tool, it makes reality a fantasy, that is MDD and at the same time works like a RAD, all this using Java."
"I've been developing software for close to 40 years and I am very impressed with OpenXava, not only with the ease in which I have rapidly developed a functional app, but with the extensive customizations that can be applied to achieve more complex behavior and desired look."
"I have worked before on Low-Code platforms like Mendix, Pega, OutSystems, etc. It seems easier to work without code only drag and drop and set properties, but still it is easier to work with OpenXava."
"The real catch about our experience while developing with OpenXava was the speed of development without compromising the quality."
"I must say: my compliments! ... I have actually quite a lot of experience in UI automation. So it takes a lot to impress me. And I am impressed."
"I've been able to put together more functionality in my initial 6 days of starting to learn OpenXava (and I know nothing about Java itself - yet) than I was able to accomplish in several weeks of either RoR or Laravel, and I know a bit of Ruby and PHP."
"I have been looking for a logical, understandable, simple approach to web tools for years now and OpenXava is the first thing I have found that fits that bill. Most tools like VisualStudio Web App are so extremely confusing and so many moving part that the learning curve is insurmountable."
"Openxava is brilliant. I used Wavemaker as a UI before, and that was really hard work."
"OpenXava for me is an exceptional tool, saving us time, made it standard interfaces, imposed a criterion of unique development in the organization."
"I am using OpenXava and finding it wonderfully refreshing, as someone who needs to program in Java with no Java knowledge it is a wonderful tool so thanks!"
If you know basic Java and JPA you're already an OpenXava developer, you don't need any more to create complete applications. The OpenXava bundle is prepared for a rapid startup.
Modern web Single-Page Applications (SPA). List mode with paging, ordering, filtering, adding / removing / moving columns, PDF reports, export/import to Excel, cards format, charts, etc. Detail mode with tabs, frames, dialogs, editors for references and collections, responsive layout, maps, discussion threads, photo gallery, file upload, etc.
In addition to the classic web user interface for desktop you can get a mobile user interface for your application from the same code.
Browsers: Chrome, Firefox, Edge and Safari. Databases: Any supported by Hibernate, that is Oracle, DB2, AS/400, Informix, PostgreSQL, MySQL, MS SQL Server and practically all relational databases. Operating systems: Any with Java 8 (or better) support, that is Windows, Linux, Mac, Unix, AS/400, z/OS, etc. Application servers: Any with support for Servlets 3.1 (or better), including Tomcat, JBoss, WebSphere, Glassfish, WebLogic, etc.
The first production applications developed with OpenXava were for AS/400, using the AS/400 as the database with the application server in Linux or Windows, or even running the OpenXava applications inside the AS/400 (using WebSphere). In all cases the OpenXava applications used the tables designed by the RPG programmers as is, so the RPG programs still could work against the same data. Currently, many public administrations and banks around the world use OpenXava applications against AS/400 in production. It means that OpenXava is optimized to work nicely against the AS/400, moreover the team behind OpenXava has the know-how to face mapping AS/400 databases with Java technology, not so easy because RPG programmers do not use foreign keys, nulls, they use overlapped fields to chain different tables, fixed-length fields, and many other non-relational style practiques.
LGPL license that allows you to develop commercial applications without paying any fees.
The standard labels and messages included in OpenXava are in English, Spanish, German, French, Chinese, Russian, Japanese, Portuguese, Catalan, Indonesian, Italian, Polish, Serbian and Swedish. Moreover, it's pretty easy to add a new language.
250,000 downloads. 60 authors. Thousands of threads in the forums. Hundreds of applications developed. Hundreds of professionals in LinkedIn with OpenXava experience.
Complete Reference Guide in English and Spanish. Free online course in English, Spanish and Chinese where an invoicing application is developed from scratch. Book in English and Spanish available from Amazon. Video-course in English and Spanish on YouTube.
Free support in community forums, though they have thousands of threads all questions are answered. Moreover, there is professional support available.
Thus you can migrate your current Java code easily to OpenXava, and vice versa. You can use any Java tool for OpenXava. Your Java developers are already OpenXava developers. OpenXava projects are Maven-based. You can use IntelliJ, NetBeans, Eclipse or Visual Studio Code as IDE. OpenXava works nicely with Java 8, 11 and 17. OpenXava is based on Java Persistence API (JPA), Dependency Injection for Java and Bean Validation standards. OpenXava supports: JSR-338, JSR-317, JSR-303, JSR-330, JSR-220, JSR-153, JSR-311, JSR-339 and JSR-370.
Many developers have integrated their OpenXava applications with other enterprise technologies and tools such as Talend, Bonita Open Solution, Ehcache, Spring Framework, Spring Security, Spring Scheluding, Quartz, Groovy, IntelliJ, Grafana, Pentaho, Docker, etc.
6 releases/year, half of them maintenance releases (just with bug fixes). Since 2005.
June 5, 2023
OpenXava 7.1.1 released
This is a maintenance version with many bug fixes and some small improvements.
To update edit the pom.xml file in your project and change the value of the openxava.version property, in this way:
<properties> <openxava.version>7.1.1</openxava.version> ... </properties>
Then rebuild your project:
Look at the migration instructions.