Java Web Application Development
Java
Java EE / Jakarta EE (Java EE 9+) is the java specification for developing web applications and services. Currently, all CLASSE productaion application servers are running Java 11.
Java Server Faces (JSF) is the initial java specification for web-based user interfaces, but is now considered somewhat dated. However, its age also means that many answeres to questions and examples can be found online.
If you use JSF it is highly recommended that you implement the JSF libraries PrimeFaces (UI component library) and OmniFaces (utility library).
Other options for UI libraries are Angular and React. Primefaces has UI component libraries that will make it easier to integrate these libraries into your application.
Apache NetBeans IDE
Netbeans is our recommended IDE, and allows you to develop and test Java EE applications with a local Payara server. Please see
ApacheNetBeans for more information.
Gradle
We recommend using Gradle (installed with netbeans) for building your applications and managing dependencies. Information on updating to Java 11 are at
https://docs.gradle.org/current/userguide/toolchains.html
Maven is another popular option. The big difference between the two is that Maven requires editing XML files while Gradle's syntax is similar to JSON.
Payara
Payara is the java application server used to deploy java applications. Please see
PayaraServer for more information.
MySQL / MariaDB
CLASSE supports central MariaDB, PostgreSQL, and MongoDB servers, but in most cases MariaDB is selected. Please see
DatabaseSupport for more information.
For development, you may choose to install a local Maria DB server on your devopment computer. Note that to connect to the central CLASSE database servers from offsite, you will need to first connect to the
ClasseVPN.
We recommend using
GitLab for version control, issue tracking, and continuous integration for automated testing of your applications and deployment from the test to the production environment. Please see
GitLab for more information.