Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Jakarta EE 10 (jakarta.ee)
71 points by henk53 on Sept 22, 2022 | hide | past | favorite | 41 comments


As 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.


> ..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.



why is it called Jakarta?


https://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.


Wow, 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.


It's funny because I thought Marc Fleury was a jerk. I was also a jerk at the time. We didn't get along at all. He also ended up making about $500m+ on our hard work when he sold to RHAT. Not to say that he didn't work hard, but if it wasn't for Tomcat and our work to popularize Servlets, JBoss might not have ever existed or been as successful.

Many many years later, he and I ended up as very good friends and he's still a lot more wealthy than I am or probably will ever be. I simply ¯\_(ツ)_/¯ off his far greater wealth to my own karma of being a jerk at the time. I also stopped being a jerk. =) A good lesson there for sure.


I recall most people thinking Marc Fleury was a jerk. But the whole Enterprise Java(tm) scene around 2000 was so scummy, starting from Sun on down.

The OP is a huge deja vu in its tone, too, immediately bringing to mind the awesome millenium industry innovations of J2EE(tm), big metal application servers, Enterprise JavaBeans(tm) (transparent RPC!), XML based everything, Sun Certified bullshit, and so on and so forth. God what a crazy time that was.


Marc Fleury, that's a name I haven't heard of in a long time but brings back a lot of memories of JBoss and all.

Sounds like you have a lot of positive energy despite the history. I'm sure that speaks volumes of you character.

Thanks for all that you did on these projects! While not Fluery rich myself, your work certainly enriched my own life.


It enriched quite a lot of people, including myself. It was really great to see a whole industry revolve around our very early efforts. Very few people know about those early days and what really happened.


> 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?


Wow. Such a story. Thank you so much for sharing.


Jakarta, 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.

https://en.wikipedia.org/wiki/Jakarta_EE


Java is an island and Jakarta is a capital city on that island. https://en.wikipedia.org/wiki/Java


as 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


I certainly wasn't in that room, but...

Because it's a big city on island of Java?


There were some interesting comments on the related post "What's new in Jakarta EE 10?" recently: https://news.ycombinator.com/item?id=32838321


I 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?


It's a bunch of libraries for Java for making big enterprise web apps and the like.


As 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


curious if someone uses it, something like java server faces. I thought it died 15 years ago.


It'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.


There are extremely modern parts of EE that tons of people use like JAX-RS, JPA (hibernate), microprofile, and CDI.


Are people still building new stuff in this? Serious question, not snark.


I 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.


I 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.


Probably 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.


I 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.


And there I was patting myself on the back for not calling it J2EE ;)


> 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.


To 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.


It 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.


If 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.


I build an indie app fully with Jakarta. Source code on Github if you are curious. https://nocodefunctions.com/


I 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.


Certainly with parts of it? I use JAXRS quite a lot, it's great.


Aren't Quarkus (and possibly other frameworks/libs) built on top of it?


Quarkus uses the Eclipse Microprofile API, a subset of Jakarkta EE API optimized for microservices. It uses Smallrye for the implementation of the API.


It does use other parts like RedHat’s RESTEasy implementation of JAX-RS.


Yep, still typical in many Fortune 500 consulting shops.


Think of it as bridge/connector to old and new components of infrastructure. So yes, it is used in lot of places




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: