Posts

JakartaOne Livestream on 7 Dec 2021

Image
Happy to announce I'll be speaking at the biggest Jakarta EE event of the year, which is the JakartaOne Livestream. Register now by using the following link: jakartaone.org/2021 and be sure not to miss out!

GlassFish now runs on JDK 16!

Image
GlassFish , an open source Jakarta EE Platform implementation, is a code base that goes back a long time, in essence all the way back to 1996. It's also a fairly large code base. Therefor it's not suprising perhaps that in all that time, it obtained some cruft between all those lines of code, which made it challenging to run on modern versions of the JDK. The last few months or so the GlassFish team has been working on removing this cruft, and making the release compatible with newer JDK versions. The primary target was to be able to compile the code with JDK 11 and be able to run it on that as well. A stretch goal was to have it compiling with- and running on JDK 16 too. As of PR 23446 we have now reached this goal: Note that it concerns a nightly of a not-yet merged PR, and that the official certification of the soon to be released GlassFish 6.1.0 will be done against JDK 11 only (since, for now, the Jakarta EE TCK only runs on JDK 11). The internal tests touch a

The CN4J profile as the common EE and MP profile - a proposal

Image
The Java EE platform was moved a while ago to become the Jakarta EE platform . At about the same time, a group of Java EE vendors split off and started MicroProfile; a platform that initially only contained a number of Java EE APIs, but was later on extended with APIs that were originally planned for Java EE 8 (such as Config, Health, and JWT). With MicroProfile and Jakarta EE now both at Eclipse, and both including approximately all of the same vendors again, there has been an increasing demand for somehow joining the efforts. We asked about this in our recent survey, where most repsondends would like to see them aligned . This begs the question of how to do this exactly. MicroProfile is already using Jakarta EE APIs, and there's a strong desire to use MicroProfile Config in Jakarta EE. This would result in a circular dependency though, which is, perhaps, not ideal. One option in software engineering to break circular dependencies is to factor out the common dependencies i

Jakarta EE Survey 2020/2021 - results

Image
Last September we conducted our survey about Jakarta EE. In this survey we asked several questions about Jakarta EE, what people use exactly, and what they would like to see next. The survey was promoted in October, after which we got about 500 responses. The survey was left alone for the next months, until a little promotion was done in February, resulting in about 100 extra responses. In total we ended up with 684 respondents in total, which is down from the 1054 we got last time . Looking at the results we must keep in mind that surveys like this are by definition biased; the respondents are self-selected, and come from the pool of places that we (OmniFaces) reach. These are our own website , our Twitter account , the Jakarta EE news section , etc. The results may therefore be biased towards the more active OSS developer. Overview of questions Which versions of Java EE/Jakarta EE have you recently used? Which application servers have you recently used?

Jakarta EE 2020 Survey: which EE versions do people use?

Image
At OmniFaces we have a survey running about Jakarta EE . The first question is about which version of Java EE/Jakarta EE people use. While the final results are not yet in, let's take a sneak peek at the preliminary results. Which versions of Java EE/Jakarta EE have you recently used? (select all that apply) Java EE 8 is clearly taking the lead with Jakarta EE 8 in the second place. We see that J2EE 1.4 and Java EE 5 usage is very low, though there's still a sizeable amount of people using Java EE 6 (about 10%). When we zoom a little into the Java EE 6 figure, we learn that Java EE 6 users do for a large part use higher versions as well: As Java EE 8 and Jakarta EE 8 are functionally identical, and differ mainly by their license, it's perhaps interesting to look at how these two relate to each other. For that we looked at the results where people said to only use Java EE 8, only use Jakarta EE 8, or said to use both of them: As can be seen ab

Jakarta Security and Tomcat 10

Jakarta Security was introduceed as Java EE Security in Java EE 8. It facilitates portable application security that fully integrates with container security. This means that an application can provide an authentication mechanism, say for OATH2 or Auth0 and that mechanism is treated just like build-in container mechanisms like FORM. All existing security code, such as the container determining access to a URL based on web.xml constraints, and things like @RolesAllowed and HttpServletRequest.isUserInRole automatically work as expected. One of the compatible implementations of Jakarta Security is Soteria . Soteria has been designed as a standalone library, that can be integrated with multiple servers. It depends on CDI, and the lower level SPIs Jakarta Authentication and Jakarta Authorization . Soteria worked on Tomcat before , but there were some issues. For one, when adding a CDI implementation like Weld to Tomcat, the BeanManager ends up in the JNDI location java:comp/env/BeanM

Jakarta EE Survey 2020/2021

At OmniFaces we poll the community from time to time about Java EE (now Jakarta EE) and related technologies. With the transfer of Java EE to Jakarta EE now almost completed, people are now starting to think about Jakarta EE 10 , the first Jakarta EE release after Java EE 8 having new featues. As such it's a good time to poll the community again. In the 2020/2021 edition, there are 4 categories of questions again: Current usage of Java EE / Jakarta EE Servlet containers APIs related to Java EE / Jakarta EE The future of Jakarta EE Compared to 2018, we simplified some of the questions somewhat, omitting some of the less popular options to make it more manageable. We added questions about the future of Jakarta EE and MP together, the preferred Jakarta EE cadence, and generally updated the choices (such as adding Quarkus , which wasn't quite on the radar in 2018 and our own Piranha Cloud ). Jakarta EE provides the opportunity to revitalise and modernise Java EE,