Jakarta EE Survey 2020/2021 - results

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?

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,

Hiring the right people

A company's resources are typically not unlimited. Deciding for what next role to hire can be a challenging process. Does a company need extra engineers, or does it need more people on marketing? With a limited budget, choices will have to be made. A good and competent boss will often consult with the staff to discover where the need is most pressing. (click on the image for a larger version) Even larger version Stay tuned for the next instalment! Previous strip: Perfecting the business structure

Perfecting the business structure

In programming we learn that we should not overcomplicate the architecture of our code. Yes, larger code bases may need a little bit more structure and benefit from certain architectural constructs that would be totally out of place in smaller code bases. Sometimes though it's hard to resist using these constructs in code, since we imagine our tiny app being larger than it actually is, or because we think it soon will be. Interestingly, when structuring companies very similar pitfalls seem to exist. Poor OmniDev head of engineering Liz and her friend Jennefer, who's head of marketing, are about to find out: (click on the image for a larger version) Stay tuned for the next instalment! Previous strip: The productive standup Next Strip: Hiring the right people

Implementation components used by Jakarta EE servers

A while ago we looked at which implementation components the various Java EE servers were using. At the time this concerned mostly Java EE 6 servers, with a few Java EE 7 ones thrown in for good measure. Fast forward 6 years, and we have arrived at Jakarta EE 8 essentially (a re-licensing of Java EE 8 ). Most servers from the previous instalment have Jakarta EE 8 versions out. WebLogic has its Java EE 8 version officially out, with a Jakarta EE 8 version coming soon (there is no technical difference between these two really). TomEE has started to implement Java EE 8 and in its latest version has gotten quite far, but is not there yet. Resin remained at Java EE 6 with seemingly no plans to update these . JOnAS has disappeared off the face of the earth , and so has Geronimo as server (though as a provider of APIs and their implementations it has stayed alive). Without further ado, here's the matrix of Java EE 8/Jakarta EE 8 implementation components used by Java EE/Jakarta EE