ShiftAPPens 2026

I finally got around to write about ShiftAPPens 2026. The Hackathon was an amazing experience. Around 150 students came together in a sports hall to participate in this hackathon that over the entire weekend from Friday around lunch until Sunday afternoon.

Since Jakarta EE was a gold sponsor of the hackathon, we could have a challenge of your own. The challenge we proposed was to create a “Know-me-Engine” where the teams should build a Jakarta EE application that interacted with an LLM using augmenting techniques to make the application provide better recommendations. We kept the challenge pretty open to encourage creativity. The motivation we pitched for taking our challenge was that even if they learn other languages and technologies at their university, they will most likely be working with Java, Jakarta EE, and related libraries, frameworks and tools when they start their career after graduation. The World runs on Java, and Jakarta EE is a significant part of that.

In total, seven teams chose to take on our challenge.The teams were composed of one up to four persons. We were pretty curious about what the participating teams would be able to create during the weekend. Would the challenge be to hard? Or too easy? It turned out to be pretty well in the middle. The teams required a minimum of guidance and were able to come up with some pretty cool usages of our technology.

The three judges, Otavio Santana, André Gomes, and myself had a difficult task of selecting the winner when the challenge ended on Sunday. We first narrowed it down to three teams that we asked to give us a 10 minute pitch of their solution. After that, we deliberated a little before unanimously selecting the winning team: VelociGrammers consisting of Carlos Ferreira, Dinis Isaev, António Silva, and Diogo Monteiro.

The VelociGrammers created a Movie A(I)ssistant named Chaplin that used data from your profile on TMDB to add context and relevance to the interaction. It could also directly update your movie ratings from the chat dialogue by providing the TMDB API as tools for the assistant. They used Jakarta EE 11 to create a RESTful Web Services API and interacted with the LLM using Langchain4j-CDI. The UI was developed as a simple HTML page using JavaScript to call the REST services. It all was deployed to WildFly.

The students participating in our challenge said that it was a very fun and creative challenge. And that they were surprised over how easy and powerful developing with Jakarta EE was. This show how important it is to reach out to the learning institutions to make sure that they teach this to students so they can get relevant experience for their future careers.

Hashtag Jakarta EE #332

Welcome to issue number three hundred and thirty-two of Hashtag Jakarta EE!

I am falling a little behind on the event posts, but I assure you that I will post reports from ShiftAPPens and JavaConnect KE shortly. In the meantime, check out this update from the GlassFish project. Among other things, GlassFish 9.0.0-M2 is updated with Jakarta EE 12 implementation and Jakarta REST integration with Jakarta Authorization.

Another item in my backlog is also to write the continuation of my article about AI and open source. It is starting to materialize in my mind, so it shouldn’t last too long before I am ready to write it up. Note that I am not using any AI tooling to write my posts. I take pride in my work, and don’t want to go down that path.

The progress for the specifications that have been asked to produce updates for Milestone 4 of Jakarta EE 12 looks very promising. Check out the minutes from this week’s call for the details. Another piece of good news regarding Jakarta EE 12 is that the Jakarta NoSQL project may be able to merge the features planned for Jakarta NoSQL 1.2 in Jakarta NoSQL 1.1. That means that it will certainly be a stronger candidate for inclusion in Jakarta EE 12.

Hashtag Jakarta EE #331

Welcome to issue number three hundred and thirty-one of Hashtag Jakarta EE!

I am currently in Coimbra, Portugal, for ShiftAPPens 2026. This is the ninth edition of this hackathon that is organised by and for students. As a Gold sponsor, Jakarta EE was allowed to have a challenge in the hackathon. Among the 150 students in various stages of their education, eight teams of up to four members chose to take on our challenge. At the time of writing this post, we hadn’t yet selected the winner among them. Directly after the closing of ShiftAPPens, I will continue to England to give a guest lecture at the University of York.

An interesting thing that came out of Open Community eXperience last week is this analyst report about Jakarta EE from ECI. It is a good writeup that highlights that Jakarta EE is built for longevity rather than being first on the hype curve. The article also points out that vendor-neutral integration standards will become increasingly valuable in the enterprise market.

For Jakarta EE 12, Milestone 4 is approaching. The Jakarta EE Platform project expects to see deliverables from the following individual specifications for this milestone:

  • REST 5.0 M1 API / spec
  • CDI 5.0 Milestone / Beta (currently at Alpha4)
  • JSON-P 2.2 M1 API / spec
  • JSON-B 3.1 M1 API / spec

Check out the Jakarta EE 12 planning board for the current status.

Next weekend, I will be speaking at JavaConnect KE 2026 in Nairobi, Kenya. This will be a brand new talk about how to augment LLMS with various agentic techniques using Jakarta EE as the foundation. This will be my first visit to Kenya, so I am really looking forward to connect with the local Java community there.

Open Community eXperience 2026

Open Community eXperience 2026 is a wrap. This is the second time since the rebranding from EclipseCon. It is certainly a different type of conference than EclipseCon used to be. The feeling is that it is slightly less community-oriented and more geared toward industry collaborations, which is is not necessarily a bad thing. It attracts participants from more layers of the organizations than developers alone and opens up for cross-pollination across these layers in addition to between projects resulting in many interesting conversations with people from different areas you’d normally not have. The hallway track at OCX was definitely interesting and proves again why it is important to attend conferences in person. This is something you don’t get at virtual conferences or by watching talks on YouTube.

In 2024, we hosted the Open Community for Java as a so-called co-located event, with two rooms dedicated to Java in a separate building. It certainly gave us the opportunity to fill the agenda with more relevant content for the Java community, but it also made us feel a little as outsiders compared to the “Main OCX Track”. This year, we chose a different approach by being a part of the Main OCX Track. The result was that we ended up with slightly less relevant content for the Java community, and all mixed in with everything else. Due to the date conflict with several other major Java conferences in Europe, the expectations were not very high for the number of attendees from the Java community, so this was probably not entirely a bad decision, even if the ones that did attend had a little less to choose from.

Those present at OCX this year could enjoy great food, great coffee, and great hallway conversations in addition to high-quality talks from excellent speakers. I hope that we will be able to get a bigger presence of both Java in the talks as well as among the attendees next year. At least, the dates for OCX and JCON won’t conflict next year, as the dates for OCX 2027 are April 13-15, while JCON Europe 2027 will be held May 31-June 3.

Hashtag Jakarta EE #330

Welcome to issue number three hundred and thirty of Hashtag Jakarta EE!

This week, I was at Open Community eXperience (OCX) in Brussels. I will publish a post about it shortly. This year, OCX unfortunately conflicted with JCON Europe in Cologne. This was kind of a bummer for me, but these things happen in the busy conference season. Next year, at least these two conferences won’t conflict. The dates for OCX 2027 are April 13-15, while JCON Europe 2027 will be May 31-June 3.

Eclipse Foundation is rolling out GitHub CoPilot Enterprise to all committers and I was so lucky to be in the first batch. It will enable us to automate some of the tasks associated with the JESP (Jakarta EE Specification Process). I set up instructions for CoPilot in the template for Compatibility Requests, so we can use an agent to validate the requests. One of the checklist items for that is to validate that the SHA-256 sums of the TCKs listed match. Definietely something a machine is more capable of getting right than a human. Of course, the actual approval of the request will still need a human in the loop to verify that everything is correct.

When I started the Hasthag Jakarta EE series, one of my goals was to include articles and posts about or adjacent to Jakarta EE to help amplify the good work done in our community. I do it from time to time, but I also want to do more, so please send me a link to an article if you want it mentioned here. For example, this article by Rustam about API versioning in Java using JAX-RS with Jakarta EE and MicroProfile is an excellent read that I higly recommend that you take a look at.

Hashtag Jakarta EE #329

Welcome to issue number three hundred and twenty-nine of Hashtag Jakarta EE!

The upcoming week, I will be in Brussels for Open Community eXperience 2026. My talk, titled The Past, Present, and Future of Enterprise Java – with Jakarta EE is scheduled for Wednesday. When I am not attending other talks or roaming the hallway, I can be found staffing the Eclipse Foundation booth in the exhibition area. I hope to see you there!

The release of Jakarta EE 12 consists of multiple Milestones that are continuously being refined to reflect the current status. In the Platform call last week, the platform project set up expectations for a couple of the milestones. First out is Milestone 4, in which the specifications that are part of Jakarta EE Core Profile are expected to show progress in the form of milestone or beta-releases.

M4 Apr 1 to May 15
– REST 5.0 M1 API / spec
– CDI 5.0 Milestone / Beta (currently at Alpha4)
– JSON-P 2.2 M1 API / spec
– JSON-B 3.1 M1 API / spec
M5 May 16 to Jun 30
– content to be defined
M6 Jul 1 to Aug 15
– content to be defined
M7 Aug 15 to Sep 30
– Ideally, we release Core profile here or soon after
M8 Oct 1 to Nov 15
– content to be defined
M9 Jan 1 to Feb 15, 2027
– Finalize all other specifications
M10 Feb 16 to Mar 31, 2027
– Release Platform TCK with ratifying impl

The Platform Project will continue to refine this timeline by adding expectations to each milestone. Note that even if a specification is not listed for a specific milestone, nothing prevents it from publishing ahead of time. If the current plan holds, we should be able to release Jakarta EE Core Profile in Q4, 2026, while Jakarta EE Web Profile and Jakarta EE Platform will be released in Q1 or Q2 next year. This follows the same pattern as for Jakarta EE 11.

Hashtag Jakarta EE #328

Welcome to issue number three hundred and twenty-eight of Hashtag Jakarta EE!

In just about a week, Open Community eXperience is happening in Brussels, Belgium. The four days between April 21 and April 23 are packed with talks from amazing speakers delivering keynotes, regular talks, workshops, and BOFs. In addition to all the scheduled content, we have the hallway track. This is where it happens. Spontaneous conversations about all kinds of topics just appear out of nowhere. The hallway track is by far the most valuable aspect of attending conferences.

My talk titled The Past, Preseent, and Future of Enterprise Java – with Jakarta EE is scheduled for Wednesday. When I am not attending other talks or roaming the hallway, I can be found staffing the Eclipse Foundation booth in the exhibition area.

In the Jakarta EE Platform call this week, we discussed what that would be needed for Jakarta NoSQL to be included as one of the specifications in Jakarta EE 12. There is still some reluctance among some of our members to include this specification, so please make your voice heard if you want to see Jakarta NoSQL in Jakarta EE 12. If you have some extra time on your hand, you can also step in and help the project address the issues that the platform project has requested to strenghen its position as a candidate for inclusion.

Hashtag Jakarta EE #327

Welcome to issue number three hundred and twenty-seven of Hashtag Jakarta EE!

Happy Easter to everyone who celebrates! Right before the Easter holiday, I went to Amsterdam for Voxxed Days Amsterdam 2026. This was the second year this conference was organized, and they had almost 1000 registered attendees. Could this be the next Devoxx? It should certainly be a candidate. I wouldn’t be surprised if we see Devoxx Amsterdam next year.

I also attended the Jakarta EE Platform call, which was pretty good this week. Well attended and lots of good discussions. Among other things, we talked about how the three security specifications relate to each other. For historic reasons, Jakarta Authorization is not a part of Jakarta EE Web Profile, while both Jakarta Authentication and Jakarta Security are. There has been talk about merging the security specifications into one Jakarta Security at some point. The first step would be to include Authorization in Web Profile. This is certainly something we can do for Jakarta EE 12.

Since I am enjoying a couple of extra days at home over Easter (the first time I am home more than two consecutive days since January), I decided to do some cleaning up of the online resources for Javaforum Malmö. I have been in the fortunate situation of having Foo Café as a venue for the Java User Group over the last 10 years. I would provide the speaker and agenda, and Foo Café would handle everything else. Promotion, registration, catering, and sponsors. Our February event was one of the last at Foo Café before they closed down, so now I have to think differently. I created a simple website to gather our contact points and set up an Eventbrite account to use for registration to our events.

Voxxed Days Amsterdam 2026

When Ko offered Jakarta EE a spot in the JUG Square at Voxxed Days Amsterdam 2026 as an Ambassador of the conference, I immediately accepted. With 950 registered attendees and expansion from a one-day to a two-day conference, Voxxed Days Amsterdam is sailing up as one of the biggest and most important conferences in the area. Jakarta EE is proud to support the conference.

I did not have a talk this year, but ended up on the big screen during the Day 2 opening. A photo of Arjan and me talking in the JUG square was used to exemplify the Hallway Track. For those not familiar with the term, the Hallway Track is the informal meetings and discussions that occur in the hallway between the conference rooms. This is an element that you miss out on if you only attend online conferences. In the Hallway Track is where the magic happens. When attendees, speakers, sponsors. volunteers, staff, and organizers meet informally.

I will definitely be back next year, either as a speaker, sponsor, ambassador, or attendee. I’ll even volunteer or join the catering staff if necessary. If Jakarta EE has a booth next year as well, I will make sure that the rollup banner arrives in time for both days. This year, it arrived a day late, so I was only able to use it on Day 2. Not that it mattered much, I had brought all my leftover swag, and none of it came home with me.

Hashtag Jakarta EE #326

Welcome to issue number three hundred and twenty-six of Hashtag Jakarta EE!

Next week I will be having a booth at Voxxed Amsterdam since Jakarta EE was offered a space in the Community Square as one of the ambassadors of the conference. I hope to meet as many as possible of you there! If the swag gods are with me, I will be able to bring some nice stuff. There will be stickers, for sure.

The next conference I am speaking at will be Open Community eXperience 2026. This conference is located in Brussels, Belgium from April 21 to April 23. I will be presenting The Past, Present, and Future of Enterprise Java on Wednesday, April 22.

Due to my fairly intensive traveling the last couple of months, I have not been able to attend as many Jakarta EE Platform calls as I would have wanted. But from what I can se from the minutes, Jakarta EE 12 is slowly moving forward. There are a couple of specifications publishing milestone releasees. Among them Jakarta Faces 5.0, Jakarta NoSQL 1.1, as well as Jakarta JSON Binding 3.1.