Jakarta EE 10
71 points by henk53 2 years ago | 41 comments- latchkey 2 years agoAs a co-founder of the original Jakarta who was in that conference room at Sun around 1999 (23 years now!), it boggles my mind that the name is still in use and that people still use and work on this software.
This is exactly why you should write unit tests, you never know how long your stuff is going to get used for.
- geodel 2 years ago> ..it boggles my mind that the name is still in use
Well, I guess it should not. I read there is some kind of rule where the older things get the higher chance they also last for long in future. Mainly because they have proved their resilience.
- ivanjermakov 2 years agoLindy effect: https://en.wikipedia.org/wiki/Lindy_effect
- ivanjermakov 2 years ago
- amir734jj 2 years agowhy is it called Jakarta?
- latchkey 2 years agohttps://en.wikipedia.org/wiki/Jakarta_Project#Project_name
The longer story is that myself and a couple of guys from Italy (Stefano and Pier) took over Apache JServ, which was the only open source servlet engine at the time. We started to make some significant improvements and created Apache Java as an umbrella project. Apache made us some of the first non-httpd members.
We eventually got noticed by James Davidson at Sun, who was working on the servlet API and the reference implementation of that. Eventually, we decided to merge our efforts. Sun didn't like us using the Java (tm) name, so we picked the name of the conference room that we had the discussions in. That turned into renaming everything Apache Jakarta. It also involved giving us their reference implementation, which we named Apache Tomcat. The build system for Tomcat (because nothing good existed at the time) ended up turning into Apache Ant.
After insane amounts of work, we grew quite a bit as an organization. One day, I saw Doug Cutting working on the Lucene project and invited him under the Jakarta umbrella. That led to things like Hadoop and that whole ecosystem.
Edit: To clarify the JServ stuff. I had a web development company at the time. I wanted to work in Java and all the servlet stuff at the time was commercial products that were not very good. I found JServ, which one guy had built as a college/parttime project and then abandoned it, full of bugs and not finished.
So, I picked it up and started to work on fixes and then Stefano/Pier somehow found me. At the time, Apache didn't even have a way to host this stuff, so I ran it under my own (working-dogs.com) domain for about a year or so.
Eventually, through his work at Apache, Brian Behlendorf figured out there was a business in hosting code... so he started CollabNet. I quit my company and went to work with him and a bunch of other Apache folks. That's where subversion was created and Github eventually won that competition.
- chrisjc 2 years agoWow, what an incredible story! Especially the Tomcat and Ant part. I was neck deep into this stack (although OC4J and JBoss, not Jakarta) at the time, and was totally oblivious to what was happening behind the scenes.
- henk53 2 years ago> It also involved giving us their reference implementation, which we named Apache Tomcat.
Did any of the Apache JServ code make it into Tomcat? There still is the Apache JServ Protocol (AJP) still, which is at least one thing related?
- 2 years ago
- amir734jj 2 years agoWow. Such a story. Thank you so much for sharing.
- chrisjc 2 years ago
- valbaca 2 years agoJakarta, the city, is the largest city on the island of Java.
They needed to pick "some" name and went with the "Java island" naming option, rather than some "Java coffee" or other naming scheme.
Wikipedia:
The Eclipse Foundation could not agree with Oracle over the use of javax and Java trademarks.[5] Oracle owns the trademark for the name "Java" and the platform was renamed from Java EE to Jakarta EE.[6][7] The name refers to the largest city on the island of Java and also the capital of Indonesia, Jakarta.[8] The name should not be confused with the former Jakarta Project which fostered a number of current and former Java projects at the Apache Software Foundation.
- matt_heimer 2 years agoJava is an island and Jakarta is a capital city on that island. https://en.wikipedia.org/wiki/Java
- robobro 2 years agoas an aside, Jakarta is not especially tourist-friendly... outside of malls... you're better off going to Jogjakarta if you come to Indonesia as a tourist :D
- robobro 2 years ago
- playingalong 2 years agoI certainly wasn't in that room, but...
Because it's a big city on island of Java?
- latchkey 2 years ago
- geodel 2 years ago
- mdaniel 2 years agoThere were some interesting comments on the related post "What's new in Jakarta EE 10?" recently: https://news.ycombinator.com/item?id=32838321
- overgard 2 years agoI realize this is probably a very dumb question, I'm not super into the Java EE ecosystem, but what exactly is Jakarta EE? Clicking around it just seems like a grouping of a bunch of other technologies you can get piecemeal? Or am I missing something?
- 2 years ago
- lillywastaken 2 years agoIt's a bunch of libraries for Java for making big enterprise web apps and the like.
- mdaniel 2 years agoAs far as I know, it's a bunch of specifications for Java, of which there are probably a few reference implementations and for the popular specs several competing implementations (Tomcat, Jetty, Glassfish/Payara, Hibernate, EclipseLink, ...)
The specification part means that in theory one can take code written for one container runtime and move it to another that offers better $nonFunctionalRequirement (or licensing story) without code changes
- riku_iki 2 years agocurious if someone uses it, something like java server faces. I thought it died 15 years ago.
- henk53 2 years agoIt's Jakarta Faces now ;) And it's still relative active with a major new version (Jakarta Faces 4) in Jakarta EE 10. Of course the entire concept of server side rendering is not as much used as it once was, but that said it's still used.
- vips7L 2 years agoThere are extremely modern parts of EE that tons of people use like JAX-RS, JPA (hibernate), microprofile, and CDI.
- henk53 2 years ago
- mdaniel 2 years ago
- 2 years ago
- bitwize 2 years agoAre people still building new stuff in this? Serious question, not snark.
- arcbyte 2 years agoI see lots of stuff built in subsets of the standards. JAXRS and CDI are quite nice, and there are lots of better thought out Spring alternative libraries. Also we have microprofile, Quarkus, Dropwizard, and others that make use of the same standards.
- davidpolberger 2 years agoI bet big on Java/Jakarta EE, and the open source application server WildFly, years ago when the web version of Calcapp was born in 2014. I have been very happy with that decision. JAX-RS is a great way to build annotation-driven REST web services with very little boilerplate. WildFly (the open source version of JBoss EAP, essentially) is actively developed by Red Hat, starts quickly and is easy to work with. And the modern incarnation of Java -- with streams and lambdas -- is a great fit for what we do (building a compiler).
The only decision I have come to regret is using JPA, which is short for Java Persistence API (a specification for an ORM -- an Object-Relational Mapping), and where the most famous implementation is Hibernate. As far as ORMs go, Hibernate is probably fine, but I wish I had considered using something more light-weight and closer to the underlying database. As things stand, JPA mostly gets in the way, and I have had to resort to "native queries" (SQL) for our most performance-sensitive code paths.
I don't regret choosing JPA, as much as I regret choosing an ORM.
Also, as others have alluded to, Java is a stable choice. At the same time I chose Java EE and PostgreSQL, I chose AngularJS for our front end, which has been fully superseded by modern versions of Angular. We'll need to spend lots of time replacing AngularJS with React or Angular (we haven't decided yet), so that decision didn't really pan out.
On the server, though, I couldn't be happier with Java/Jakarta EE and PostgreSQL.
- dcminter 2 years agoProbably not much - but bear in mind that there's so much Java out there that there are bound to be a few backwaters doing weird things as well as a huge pile of legacy code that will benefit from the update (probably not as big as the pile of legacy code that will never get enough love to get updated!)
I haven't personally seen any green field Java EE code in the last 10 years or so!
Edit: Since I got downvoted for this (I would have thought) innocuous observation, I'll add the clarifying observation that Java is thriving. I'm specifically talking about Java EE, and Java EE as a platform at that, not as one-of-many libraries supporting the various other platforms.
- geodel 2 years agoI mean I also think you are right. I will observe that Java EE is now Jakarta EE. It is important because it means not much money is to be made by "Java EE" now, So Oracle has dumped it to Eclipse foundation as Jakarta EE.
It has also been sliced and diced in to multiple profiles, popular among them is Microprofile. It can be implemented with Apache tomcat instead of heavier Websphere/ Weblogic etc.
Another thing that happened is container term which in Java world would be Servlet/EJB containers is now associated with Docker containers. And Java enterprise containers fell out of fashion.
All these factor led do Java/Jakarta EE being also ran.
- dcminter 2 years agoAnd there I was patting myself on the back for not calling it J2EE ;)
- dcminter 2 years ago
- vips7L 2 years ago> I haven't personally seen any green field Java EE code in the last 10 years or so!
I’m sure you have. Nearly everyone is using JPA and Quarkus is using JAX-RS via RESTEasy and other parts of the microprofile part of EE.
- dcminter 2 years agoTo reiterate:
> I'm specifically talking about Java EE, and Java EE as a platform at that, not as one-of-many libraries supporting the various other platforms.
- dcminter 2 years ago
- geodel 2 years ago
- kaba0 2 years agoIt is a set of standards. Most modern frameworks like Quarkus implements a subset of it (microprofile), while a large part of Spring is also an implementation of it/at least spring understands concepts out of it.
So yes, it is still used very extensively, though I don’t think that the old application container model is used for new apps anymore.
- username_my1 2 years agoIf you want to build anything with reliability, testable and amazing echo system j2ee is the way to go.
I was a skeptic myself always thinking it's too heavy and too large and too slow, but after fate handed me a codebase of j2ee platform and seeing how reliable and no effort is put into maintaining it rather just focus on the application logic.
I would always chose java for any software that's expected to last 10 years plus and should work reliably.
- seinecle 2 years agoI build an indie app fully with Jakarta. Source code on Github if you are curious. https://nocodefunctions.com/
- gavinray 2 years agoI had never built a JVM app and needed to, evaluated a bunch of technologies, and went with Jakarta EE + Eclipse MicroProfile on Quarkus.
Believe it or not, it's a very pleasant and modern experience and the technology is easy to understand (except for CDI, that took a while).
I didn't like that all the other frameworks had invented their own ways of doing things. Having a standard/specification with a voting committee from multiple organizations seems much more rational to me.
- stickfigure 2 years agoCertainly with parts of it? I use JAXRS quite a lot, it's great.
- sideeffffect 2 years agoAren't Quarkus (and possibly other frameworks/libs) built on top of it?
- pjmlp 2 years agoYep, still typical in many Fortune 500 consulting shops.
- geodel 2 years agoThink of it as bridge/connector to old and new components of infrastructure. So yes, it is used in lot of places
- 2 years ago
- arcbyte 2 years ago