Rendered at 13:07:16 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
boomskats 52 minutes ago [-]
I shipped GlassFish 3.1 as an on-prem appserver for our observability product for a few years, and have nothing but good things to say about it. It's great to see the project recovering from the abandonment.
sgt 4 hours ago [-]
Unfortunately the name Glassfish has been pretty tainted by now. If you say your platform is based on Glassfish they'll automatically assume you're an old donkey not up to date on latest Java technologies like Spring Boot.
reactordev 4 minutes ago [-]
[delayed]
ondromih 1 hours ago [-]
That's what the article is trying to deflect, isn't it?
Many people rely on vibes from the past instead of updating their knowledge with the current info. It's true that some companies in the past attempted to taint GlassFish to promote their alternative products. And there was nobody to defend GlassFish and keep it up to date.
This is different now, with GlassFish at the Eclipse Foundation, the OmniFish company behind it and providing enterprise guarantees, and GlassFish itself modernizing with fast startup, runnable JAR, support for latest Java and Jakarta EE, Jakarta Data and NoSQL databases.
sgt 8 minutes ago [-]
Fair enough. If OmniFish can properly support it and help it continuously develop it will have potential for adoption by even those using Spring.
Cthulhu_ 2 hours ago [-]
I love the irony / (perceived) sarcasm in your comment, :p.
zvqcMMV6Zcr 5 hours ago [-]
Why would you compare Eclipse GlassFish instead to Payara or Wildfly/JBoss?
Anyway, that bickering between JEE application server vendors is what caused Spring to win. It doesn't matter it has update churn that is almost as bad as in JS ecosystem, just the fact you don't have to think about AS helped adoption. Well that and significantly easier testing. And Spring Data with generating queries from method names.
And you can't recruit people with JEE knowledge anyway, they all know only Spring.
ondromih 56 minutes ago [-]
People like simple life with as few choices they have to make as possible, right? It's now very simple to start a Java project, when the obvious choice is Spring and everybody uses it.
But is it what everybody really wants? To have a single choice? GlassFish provides a choice for those that don't want to become stuck with the "only" option that everybody uses. Java itself provides a lot of options - Oracle JDK, Azul JDK, Corretto JDK and many others. And that's a good thing. Options in frameworks and application servers are a good thing too. The best option wins. Except, there's rarely the best option for every case. And it's good to have all the other options too, in case the most popular option isn't a good one for you.
bzzzt 4 hours ago [-]
Spring and JEE (or Quarkus) are very similar, from the viewpoint of an application developer both have the same JAX-RS REST and Hibernate/JPA API's.
IMO the kind of person who only knows Spring and doesn't understand modern JEE is exactly the kind of person you don't want to recruit.
gadflyinyoureye 2 hours ago [-]
Spring won. Why would anyone want to learn the standard aside from it being a standard that few people use? Spring itself is a wildly adopted standard. It is a semi open standard in that anyone can use it freely, but in that it's not supposed to be implemented by others.
The same is true for Micronaught or Quarkus. Learn the frameworks. But they are not a new open standard.
bzzzt 1 hours ago [-]
There's nothing to be gained by picking a winner, especially if it doesn't really matter because the important APIs are the same.
Newer frameworks like Quarkus are specifically built for container usage and applications built with it are a bit faster and smaller than Spring boot.
henk53 1 hours ago [-]
> Spring won. Why would anyone want to learn the standard aside from it being a standard that few people use?
People don't really talk about Jakarta EE as "the standard". Haven't been doing that for quite some time.
You learn it so you don't hand Spring the ultimate monopoly. I thought we all didn't like monopolies? Why give Broadcom one?
pjmlp 2 hours ago [-]
Except people keep forgetting they implement the standards on their very foundation.
pjmlp 2 hours ago [-]
Yet the WebAssembly bros are into replicating application servers with Kubernetes pods running WebAssembly containers, go figure.
boomskats 54 minutes ago [-]
I know right? Who wants sub-millisecond readiness, sub-second image replication and a measly couple of megs worth of memory alloc per service when everyone can just get themselves a 2 gig springboot heap by default?
FWIW Wasm is hitting kubernetes because that's what customers are explicitly asking for, and the majority of enterprise Wasm-on-k8s afopters are doing so precisely because they want to eradicate Spring bloat and the associated supply chain risks from their engineering orgs.
ysleepy 6 hours ago [-]
(glassfish is a Java application container, provides DB, http server etc for apps using the standardized interfaces, now more in the micro-profile corner away from the oldern days JavaEE tar pit)
I use jersey+glassfish to build very small micro-profile applications.
It's stable, small and works.
Not a fan of the HK2 dpendency injector though. Maybe that's my general dislike of how convoluted the spec and implementation (of EE di) is.
I hate how sprawling the (other) implementations are, no it is not ok to pull in 90mb dependencies to support things I don't need. These app servers tend to grow into huge uncontrollable messes. Nobody uses standalone containers anymore and forcing people to pull in all or nothing for the embedded version is just asinine engineering.
fyrn_ 6 hours ago [-]
Probably would be a good idea to include at least a single sentence somewhere near the top explaining what the heck a glass fish is.
ondromih 1 hours ago [-]
Thank you for your feedback. I'm the author of the article and will review how I can improve this.
However, at a brief glance back at the article, The second sentence in the first paragraph says it's an "application server". Further below the illustration image, there's a text in bold that says "Eclipse GlassFish is now a production-ready, enterprise-grade platform".
So I'm really curious, whether the article didn't make it clear, or there was a lack of interest on your side.
znort_ 2 hours ago [-]
probably this article isn't for you if "glassfish" isn't a familiar term.
if curious (or fomo) it would have taken you about 15 secs to find out what glassfish is, which is still probably 15 less than what you wasted on this mini rant. from there it's up to you to go down the rabbit hole.
stavros 3 hours ago [-]
Exactly, I had to read way too far before giving up because I have no idea what Glassfish is.
cess11 3 hours ago [-]
In the Java world it is rather common to use something called application servers. These are meta-applications that provide your applications an environment with things like database abstractions and the like, as well as admin interfaces.
It solves some of the same problems you might reach for Kubernetes or OpenShift for, your application gets access to external resources in structured ways and you get to look at dashboards.
GlassFish is an example of such an application server. WildFly is more common, and is the artist formerly known as JBoss. If you have some knowledge in the enterprise Java ecosystem you can quickly and easily (or maybe not, it depends) deploy your creations into these.
trashcluster 5 hours ago [-]
A java framework, like Springboot
ondromih 1 hours ago [-]
In a way, yes, GlassFish is a Java framework. Although also much more.
It allows running and manage applications on a server, which provides resources to the applications. And it also allows building standalone Java applications, with the server embedded in it, in a way that you would expect from a framework.
On top of that, it provides standard Jakarta EE APIs, so your applications don't need GlassFish, you can run them on other servers too. Or you can easily migrte from other servers and frameworks to GlassFish if you like it more. And you can learn Jakarta EE APIs even before you will use GlassFish, or hire somebody who already knows it even though they never used GlassFish.
gertrunde 3 hours ago [-]
er... surely it's a Java application server?
(i.e. in the same space as Jboss/Wildfly, WebSphere, etc)
Historically, it was also the reference implementation application server for J2EE.
chasd00 22 minutes ago [-]
I thought that was Tomcat or was Tomcat just the servlet reference implementation, i can't remember. App servers like Glassfish were what operations people used before the concept of "devops". Developers wrote the code and admins/ops deployed the code on app servers like Glassfish. Devops was supposed to put developers in charge of the whole stack but every enterprise i've seen have a dedicated devops team that manages AWS/Azure/GCP and separate developer teams who write the code. So it's pretty much the same it's always been ironically.
angelaguilera 4 hours ago [-]
Nope. From the glassfish.org web page: "Eclipse GlassFish is a lightweight yet powerful open-source application server that fully implements the Jakarta EE platform."
pvaldes 3 hours ago [-]
> what the heck a glass fish is.
In Biodiversity, a glass fish includes a few group of Asian fishes that show crystal transparent bodies to hide from predators. Specially when young. They are vertebrates that evolved transparent muscles. Two gens are kept in aquariums: Parambassis ranga and several ghost catfish from gen Kriptopterus.
We can assume that the programmer likes aquariums. The word Yakarta is not random, as is related with the catfishes distribution.
Many people rely on vibes from the past instead of updating their knowledge with the current info. It's true that some companies in the past attempted to taint GlassFish to promote their alternative products. And there was nobody to defend GlassFish and keep it up to date.
This is different now, with GlassFish at the Eclipse Foundation, the OmniFish company behind it and providing enterprise guarantees, and GlassFish itself modernizing with fast startup, runnable JAR, support for latest Java and Jakarta EE, Jakarta Data and NoSQL databases.
But is it what everybody really wants? To have a single choice? GlassFish provides a choice for those that don't want to become stuck with the "only" option that everybody uses. Java itself provides a lot of options - Oracle JDK, Azul JDK, Corretto JDK and many others. And that's a good thing. Options in frameworks and application servers are a good thing too. The best option wins. Except, there's rarely the best option for every case. And it's good to have all the other options too, in case the most popular option isn't a good one for you.
IMO the kind of person who only knows Spring and doesn't understand modern JEE is exactly the kind of person you don't want to recruit.
The same is true for Micronaught or Quarkus. Learn the frameworks. But they are not a new open standard.
Newer frameworks like Quarkus are specifically built for container usage and applications built with it are a bit faster and smaller than Spring boot.
People don't really talk about Jakarta EE as "the standard". Haven't been doing that for quite some time.
You learn it so you don't hand Spring the ultimate monopoly. I thought we all didn't like monopolies? Why give Broadcom one?
FWIW Wasm is hitting kubernetes because that's what customers are explicitly asking for, and the majority of enterprise Wasm-on-k8s afopters are doing so precisely because they want to eradicate Spring bloat and the associated supply chain risks from their engineering orgs.
I use jersey+glassfish to build very small micro-profile applications. It's stable, small and works.
Not a fan of the HK2 dpendency injector though. Maybe that's my general dislike of how convoluted the spec and implementation (of EE di) is.
I hate how sprawling the (other) implementations are, no it is not ok to pull in 90mb dependencies to support things I don't need. These app servers tend to grow into huge uncontrollable messes. Nobody uses standalone containers anymore and forcing people to pull in all or nothing for the embedded version is just asinine engineering.
However, at a brief glance back at the article, The second sentence in the first paragraph says it's an "application server". Further below the illustration image, there's a text in bold that says "Eclipse GlassFish is now a production-ready, enterprise-grade platform".
So I'm really curious, whether the article didn't make it clear, or there was a lack of interest on your side.
if curious (or fomo) it would have taken you about 15 secs to find out what glassfish is, which is still probably 15 less than what you wasted on this mini rant. from there it's up to you to go down the rabbit hole.
It solves some of the same problems you might reach for Kubernetes or OpenShift for, your application gets access to external resources in structured ways and you get to look at dashboards.
GlassFish is an example of such an application server. WildFly is more common, and is the artist formerly known as JBoss. If you have some knowledge in the enterprise Java ecosystem you can quickly and easily (or maybe not, it depends) deploy your creations into these.
It allows running and manage applications on a server, which provides resources to the applications. And it also allows building standalone Java applications, with the server embedded in it, in a way that you would expect from a framework.
On top of that, it provides standard Jakarta EE APIs, so your applications don't need GlassFish, you can run them on other servers too. Or you can easily migrte from other servers and frameworks to GlassFish if you like it more. And you can learn Jakarta EE APIs even before you will use GlassFish, or hire somebody who already knows it even though they never used GlassFish.
(i.e. in the same space as Jboss/Wildfly, WebSphere, etc)
Historically, it was also the reference implementation application server for J2EE.
In Biodiversity, a glass fish includes a few group of Asian fishes that show crystal transparent bodies to hide from predators. Specially when young. They are vertebrates that evolved transparent muscles. Two gens are kept in aquariums: Parambassis ranga and several ghost catfish from gen Kriptopterus.
We can assume that the programmer likes aquariums. The word Yakarta is not random, as is related with the catfishes distribution.