We are extremely excited to spread the word that Apache TomEE 9.0.0-M7 has reached Jakarta EE 9.1 Web Profile certification.
Speaking with our Apache-contributor hats on, this is not just our first certification in 10 years, but we are doubly proud Apache TomEE is on the list of certified servers on the day of the Jakarta EE release. Moreover, after 3 years of behind-the-scenes work, we’re very excited the Apache Software Foundation has joined Jakarta EE Working Group as a Guest Member. And finally, not to be overlooked, the Apache TomEE project has a fresh new website:
As many of us in Tomitribe were there at the beginning in 2011, hacking on TomEE’s Java EE 6 Web Profile certification in our spare time and taking vacations from work to travel and hack together, we couldn’t be more proud. It felt like old times. Even down to the 20 hour days, sleep deprivation and adrenaline rush you get when you know you’re kicking butt.
Why 10 years?
Apache had a 10-year license to Java EE that expired in 2013 about 2 months before the release of Java EE 7. Because of the legal situation around Apache Harmony, not getting a Java SE TCK license and Apache leaving the JCP, Apache was not willing to sign again with the contracts as they were. Several of us in Apache including Dan Kulp (CXF), Mark Thomas (Tomcat) and myself worked with Cameron Purdy (then SVP of Development at Oracle) for 2 years to come up with a Java EE license agreement both Apache and Oracle would sign. I posted in May 2015 that I thought were close, detailing all progress to date. Unfortunately, Cameron and Oracle parted ways in August 2015 and not only did our progress stop, but so did Java EE. Our fight to get a TCK became a fight to save Java EE.
We’re all familiar with the story from here. The industry started to notice the lack of work being done, groups were formed such as the Java EE Guardians, MicroProfile was launched, Java EE 8 was announced as back-on 3 days later, and Java EE 8 was released in August of 2017. After 2 years of fighting alongside many others and co-founding MicroProfile, Java EE was saved. However, while the industry enjoyed the victory, things for Apache were still the same or worse; Apache still had no TCK license, 4 years had gone by and TomEE was now two major versions behind with no way to catch up. Tomitribe bought a Java EE TCK license, but with no way to share it with Apache it just didn’t have the impact we hoped.
Needless to say that when Oracle announced Java EE would be open sourced, Tomitribe was 100% in as it was our best chance to restore Apache’s TCK access and get back on track. We were extremely aggressive as we knew we had just one shot to get it right. We rallied the community around the Jakarta EE name, acquired the jakarta.ee domain, twitter handle, github org, Facebook id, etc. We played key roles in establishing the TCK certification process, release PR process, system to sign the binaries, and designed the Jakarta EE Compatible logo. When it was clear we could no longer use the javax namespace we wrote the tools to perform bytecode analysis across all Java EE APIs which was used to inform the final set of options and votes on which namespaces would move to jakarta. We led efforts to get tool vendors to adopt the new namespace and created the jakarta.ee/news/ section used to announce Jakarta EE 9.1.
We’re not alone in our dedication. Payara has led efforts to ensure Eclipse GlassFish is compatible on time for all our releases. Red Hat has taken the mantle of TCK lead. IBM has led the last 3 releases. Oracle has played critical roles in everything, doing their best to enable others. And of course, the Eclipse Foundation and staff who built jakarta.ee, produces all live events, performs countless other jobs, and makes all of this legally possible.
The amount of cooperation, collaboration, and just plain hard work and sacrifice we’ve all made to get to this point is unparalleled. Each of us has a similar story. Jakarta EE is truly a marvel.
Apache is Vital to Jakarta EE’s Diversity
For the 10 years that Apache did have a Java EE TCK license it united forces across the industry. During the Apache Geronimo years we worked hard to ensure there was an Apache implementation of everything Java EE we needed. Many of these are the only other implementations in our industry and without Apache there’d be just one implementation of CDI, Bean Validation, JSF, JSONB, Mail, Activation, and more. In several cases Apache TomEE is the only server out of 16 certified servers to ship them — the other 15 all sharing the same implementation.
If the point of creating specifications and TCKs is to allow for multiple implementations, that makes Apache absolutely critical to Jakarta EE’s mission statement.
It also means we can’t take Apache for granted. You have to contribute to the open source you use. If you don’t it won’t last and you’ll spend the time/energy/resources endlessly migrating between a dwindling number of choices. I have a saying, “If you look at open source and don’t like what you see, remember you’re looking in a mirror.”
Thank You and What’s Next
All of us at Tomitribe would like to thank all the customers who have supported us over the years. These victories are your victories. Be proud of your diverse choices and the impact you’ve made on Apache TomEE and the industry. None of this would have been possible without you.
As for what is next, many of us in Tomitribe are looking forward to shifting our contributions to TomEE’s MicroProfile certification. The MicroProfile 5.0 release will likely be the first under the jakarta namespace and would be a fantastic goal and a great fit with TomEE’s Jakarta EE 9.1 certification.
Above all, we’re thrilled to pick up where we left off in 2013 and the rebirth of TomEE. While some of this post may read as excesses for being “slow”, we see it as the opposite. Jakarta EE 8 was released on September 10th, 2019. That means we and the other Apache contributors were able to recover from 6.5 years of setbacks and close the gap on 3 major Java EE and Jakarta EE versions in 20 months. All while still contributing to Jakarta EE itself and without the benefit of the 15 other Jakarta EE implementations shipping many of the components we ship.
I’d say the accomplishment is nothing short of remarkable.
Please help us celebrate this community achievement the way it deserves and above all, please join us as contributors. We’ll be thrilled to see you.
Congratulations on a huge, and long overdue milestone! Very sorry that I was not able to shepherd this through the Oracle legal maze when I was still there. And please don’t forget Bill Shannon, who worked tirelessly to open up Java EE, and who passed away fairly recently after a long battle with cancer.
This is really huge achievement. Congratulations!!. Looking forward for final version of TomEE