Crossposted on Ed Burns Blog.
The Jakarta Steering Committee chartered the Jakarta Platform project with the goal of incorporating developer feedback in the development of EE 11. This blog post reviews the performance of the Platform Project and awards a GPA of 3.43 on a 4 point scale of achieving this goal.
I am humbled and honored to find myself in a position of helping to deliver the next iteration of Jakarta EE. I've held many roles in J2EE/Java EE/Jakarta EE over the decades: implementer, spec lead, advocate, author, tester, and more. My current role, however, is a new one for me release co-coordinator.
In this role, I co-lead (along with Arjan Tijms) the Jakarta Platform project, which is responsible for delivering the finished Jakarta EE specification (and component specifications), the corresponding TCK, and at least on ratifying compatible implementation for all of the specifications. Importantly, there need not be one single monolithic implementation that satisfies all the component TCKs at the same time, but there must be one single monolithic implementation that passes the Platform TCK.
In the spirit of transparency that I was fortunate enough to start over two decades ago, this blog post examines how well the Jakarta Platform project did during EE 11 in meeting one of the goals set for the Platform project by the Steering Committee: incorporate developer feedback.
Institutional memory is the way groups of humans learn from mistakes and avoid repeating them. By that definition, I hope we can all agree that institutional memory is important and worth preserving. Because software is executable knowledge, a very long running open-source software project is a special kind of institutional memory. A project that is a long running ecosystem of long running open-source projects is pretty much the pinnacle of special. With all that specialness in mind, what does it mean to incorporate developer feedback?
It is far easier to show responsiveness to developer feedback when the possible costs of a committing a mistake are contained within a single project. In light of the high possible costs, the Jakarta EE 11 platform project was intentionally modest with our goals for incorporating developer feedback. This is our implementation of the tried and true strategy of "underpromise and overdeliver".
Leading up to Jakarta EE 11, we conducted an open community discussion on requirements for Jakarta EE 11 and captured them in this Jakarta EE 11 Discussion document. Let’s review the community input we received, which was primarily developer-driven, and see how we did in EE11.
Jakarta Data
Jakarta NoSQL
Adopt Java SE 11, 17, 21 new features and Breaking Changes
Virtual Threads
TCK Refactoring
CDI Centric
Resolve redundant HTTP stacks: Servlet and REST
MicroProfile and Jakarta Alignment
CORS support
Jakarta Config
Make it easier to migrate from one vendor to another
I'm going to group the delivery in four buckets: over-delivered, delivered, somewhat delivered, did not deliver.
Jakarta Data
Adopt Java SE 11, 17, 21 new features and Breaking Changes.
TCK Refactoring (we will deliver this. We're holding the release for it).
API Flexibility, i.e. no more Umbrella JARs.
Virtual Threads
CDI Centric
CDI replacing managed beans.
New Java features
MicroProfile and Jakarta Alignment
Jakarta NoSQL
Resolve redundant HTTP stacks: Servlet and REST
CORS support
Jakarta Config
Make it easier to migrate from one vendor to another
Let's get quantitative. For each item in the Underpromise list, I'll give us a letter grade. A for over-delivered or delivered, B for somewhat delivered, D for did not deliver.
Feedback to incorporate | Grade |
Jakarta Data | A |
Jakarta NoSQL | D |
Adopt Java SE 11, 17, 21 new features and Breaking Changes | A |
Virtual Threads | A |
TCK Refactoring | A |
CDI Centric | A |
Resolve redundant HTTP stacks: Servlet and REST | D |
MicroProfile and Jakarta Alignment | B |
CORS support | D |
Jakarta Config | D |
Make it easier to migrate from one vendor to another | D |
With this list, we only scored a 2.54 GPA. Not so great. If we strike from the list the developer feedback requests that I judge are not realistic to include (CORS, Redundant HTTP stacks, Jakarta Config, Make it easier to migrate from one vendor to another), we get a better grade: 3.43. Not bad, but we have room to grow.
The above is the detailed content of How well did Jakarta EE respond to the needs of developers?. For more information, please follow other related articles on the PHP Chinese website!