Payara Server Is Jakarta EE 8 Compatible!

Payara Server 5.193.1 is now Jakarta EE 8 Full Profile compatible!

We are very happy to report that we've successfully passed all of nearly 50,000 test suites of Jakarta EE 8 TCK, and Payara Server 5.193.1 is Jakarta EE 8 Full Profile compatible!

You may also like: Jakarta EE and Beyond!

The Payara team is extremely proud to be among the first to achieve Jakarta EE 8 Full Platform Compatibility, starting with Payara Platform 5.193.1. This is a significant milestone for Payara, and the team has done a huge amount of work to get this done. I think this is a great adoption story for Jakarta EE, in general, as Payara Server is not a Java EE 8 implementation. Furthermore, this shows that Jakarta EE is an open standard and can bring in new organizations and implementations.

How to Install Payara 5 With NGINX and Let’s Encrypt Over Oracle Linux 7.x

From field experience, I must affirm that one of the greatest and stable combinations I've seen is Java Application Servers + Reverse Proxies. Although some of the functionality is a clear overlap, I tend to put reverse proxies in front of application servers for the following reasons (please see this NGINX page for more details):

  • Load balancing: The reverse proxy acts as a traffic cop and could be used as an API gateway for clustered instances/backing services
  • Web acceleration: Most of our modern applications use SPA frameworks, hence it is worth caching all the JS/CSS/HTML files and freeing the application server from that responsibility
  • Security: Most HTTP requests could be intercepted by the reverse proxy before any attempt against the application server, increasing the opportunity to define rules
  • SSL Management: It is easier to install/manage/deploy OpenSSL certificates in Apache/NGINX compared to Java KeyStores. Besides this, Let's Encrypt officially supports NGINX with plugins.

Requirements

To demonstrate this functionality, this tutorial combines the following stack in a classic (non-Docker) way, though most of the concepts could be useful for Docker deployments: