openxava

The best time-to-market for Java.

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."

Andrés Carranza Moreno

"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."

Vince Adamo

"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."

Okbah Mushaweh

"The real catch about our experience while developing with OpenXava was the speed of development without compromising the quality."

Kazeem Akinrinde

"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."

Val Huber

"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."

Gerry Gilmoer

"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."

Dennis Kikendall

"Openxava is brilliant. I used Wavemaker as a UI before, and that was really hard work."

Colin Whyles

"OpenXava for me is an exceptional tool, saving us time, made it standard interfaces, imposed a criterion of unique development in the organization."

Andrea Passoti

"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!"

M R Waring

High productivity

You only write the code for your data structure and business logic with Java. You do not write HTML, JavaScript, CSS, SQL, etc. The user interface and the database logic are automatically provided.

Short learning curve

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.

Full-featured applications

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.

Flexibility

Flexible enough to solve any case you'll face developing a business application. For the user interface OpenXava has a bunch of annotations to define the layout of the view in a high abstraction level, this is enough for most cases. For the behavior it has a controller framework to define your own behavior for a certain part of the application, or even for overwriting the standard behavior of the whole application. Moreover, you can modify the way any part of the user interface is generated by defining your own editors for certain types or properties. Finally, you can program by hand the user interface of any module of your application using JSP, HTML or JavaScript.

Mobile user interface

In addition to the classic web user interface for desktop you can get a mobile user interface for your application from the same code.

Use your favorite platform

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.0 (or better), including Tomcat, JBoss, WebSphere, Glassfish, WebLogic, etc. Enterprise portals: Any with JSR-168 or JSR-286 support including WebSphere Portal and Liferay.

First class IBM i (AS/400) support

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.

Open source

LGPL license that allows you to develop commercial applications without paying any fees.

Multilingual

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.

The most used Java domain-driven framework

250,000 downloads. 60 authors. Thousands of threads in the forums. Hundreds of applications developed. Hundreds of professionals in LinkedIn with OpenXava experience.

Exhaustive documentation

Complete Reference Guide in English, French, Russian, Chinese and Spanish. Free online course in English and Spanish where an invoicing application is developed from scratch. Book in English and Spanish available from Amazon. Hundreds of videos on YouTube.

Quality support

Free support in community forums, though they have thousands of threads all questions are answered. Moreover, there is professional support available.

Based on Java standards

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 supports: JSR-338, JSR-317, JSR-303, JSR-330, JSR-220, JSR-153, JSR-311, JSR-339, JSR-370, JSR-168 and JSR-286.

Integration

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, Maven, Grafana, Pentaho, Docker, etc.

Active project

6 releases/year, half of them maintenance releases (just with bug fixes). Since 2005.

August 2, 2022

Video for lesson 18 of OpenXava course

In this new lesson of our course we're going to start the part of the course devoted to validations, that is how to verify that the data the user enters is correct. We'll start with the @EntityValidator annotation to add validations at entity level.  Watch the video.

Español - 中文