Jakarta EE Survey 2020

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 edition, there are 4 categories of questions again: Current usage of Java EE / Jakarta EEServlet containersAPIs related to Java EE / Jakarta EEThe 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, but in order to do th…

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 serve…

New Jakarta EE 8 Certified server: Primeton AppServer V7

Somewhat as a surprise, a company called Primeton Information Technologies, Inc recently filed a certification request for a new Jakarta EE 8 compliant server called Primeton AppServer V7. In this blog we're going to take a quick look at what this server entails. As Jakarta EE is a very complete platform, from scratch implementations are rare to basically non-existent, so it's interesting to see what's exactly in Primeton AppServer V7. Within a Jakarta EE certification request, a link where the product (or a trial thereof) can be downloaded is mandatory, and Primeton indeed provided one. Today's Internet users normally have it easy. One clicks on a download link, and the software effortlessly transfers to your machine. Thanks to 500mbit+ speeds which are becoming increasingly common in this part of the world, most downloads take mere seconds. If you're from a certain age though, you may remember how different this was in the late 80s and early 90s. Dial-up mode…

Piranha 20.1.2 released!

Piranha 20.1.2 has been released :) In total 59 issues were done for this release, which mostly included work for Piranha Micro, but also includes improvements for Servlet compatibility among others. Note that Piranha is a work in progress and not yet ready for regular use, let alone production usage. Piranha itself is an upcoming Jakarta EE and MicroProfile runtime, currently in its early stages of development. Piranha's main goal is to use Jakarta APIs as much as possible as a library, using a flat class loader, and no concept of deploying applications, in other words without being an application server. Piranha Micro however builds on the core Piranha foundation to deliver something that comes closer to a server; it can run a single application in archive form, albeit it can't undeploy and redeploy (this is on purpose). Specifically for embedded use it features an isolated class loader. Contrary to a traditional application server where an isolating class loader is us…

Jan 2020 update: Piranha Micro getting more compatible

We're currently hard at work with our Piranha runtime implementation. Piranha is a new Jakarta EE and MicroProfile runtime build from scratch. A distinguishing feature is that it's build from the ground up to use Jakarta EE and MicroProfile as a framework, which means without any (application) server bits. This is essentially how you would use a mock framework for Jakarta EE, except that with Piranha it's the actual runtime. Piranha Micro takes the framework bits and with a minimal amount of glue code assembles these into what resembles a more traditional Jakarta EE Server (including an HTTP stack and the ability to run a single war archive). We'll be blogging about some interesting features this version of Piranha has soon. For now just a small status update, and that's that we're working hard on compatibility. Last month we passed the MicroProfile JWT TCK (which infers a certain minimal level of compatibility with CDI, Jakarta REST and MicroProfile Config…