On Mon, Jan 11, 2021 at 3:54 PM Som Lima <somplastic...@gmail.com> wrote:

>
> Nevertheless  why is there a popularity tilt towards spring.io  ?
>

Because it's popular. Popularity breeds popularity.

JEE being standards based has always been hindered by the standards
process. You can't do anything "quickly" by committee, especially
committees with commitments by very large organizations.

So, JEE, despite it's innovations, has always been "behind" things like
Hibernate and Spring. JEE borrows and is inspired by developments in those,
among others, projects as well.

Spring is a single company, and original just a single vision, so was able
to move much more quickly. It was also "second adopter" effect in that it
was able to respond to early JEE which was very formal, and relied upon a
lot of governance in things like XML and such. JEE is REALLY powerful, and
has always been quite powerful, but many applications don't quite need that
power. So the flexibility of JEE can get in the way and make doing things
more laborious.

Of course, that has changed much over the years, but Spring was able to
hold on by doing the job, having some "outsider" street cred, and, plus,
early on, it was "free". JBoss was the only real competitor in the EJB
space for a free server early on. Spring just needed Tomcat.

Modern JEE, with tools like Wildfly and Payara, is in a great place. Even
with the upheaval of Oracle clinging to the javax namespace and the whole
"renaming" nonsense that stalled JEE for 1-2 years, it's till in a good
place because it started in a good place. It's super stable. It's honestly
a feature that stuff that has worked for 15-20 years is still working in
modern, maintained systems.

But other advances, such as the micro profile, is keeping JEE current for
the more simplified use cases of just being a JSON RPC host deployed to a
container in the cloud.

Mind, I'm a JEE guy. I've always been a JEE guy. I was giddy when Sun came
out and gave away Sun Enterprise Server v8, which was the prequel to
Glassfish. (GF was a rewrite.) I liked the idea of teams being able to use
the Sun Server for departmental applications in house without have to cough
up 100's of thousands of dollars for licenses.

Make no mistake, JEE is, and was, powerful kit. Companies used to build
vast applications around Transaction Servers, and Transaction Servers were
niche and expensive. JEE gave Transaction Servers to everyone.

I never warmed to JBoss back in the day. I never warmed to Hibernate. I
never warmed to Spring. Can't say why. Complexity, documentation, who
knows. I saw Spring as mostly equivalent to JEE, but JEE was running on
JBoss, Weblogic, WebSphere, Glassfish, and a host of other implementations
where Spring was just Spring.

JEE is easy to use and robust. JAX-RS with CDI and Transactional Session
Beans backed disparate databases with pooled connections are a perfect
storm of modern productivity.

NetBeans has always been a great JEE citizen, I can not speak to IntelliJ.
NB has had great support, has wizards to do much of the bit twiddling
lifting that needed to be done in JEE (less so today), and has always
worked well with the servers, especially Glassfish and Payara. I can
heartily recommend them both together.

When we see all this talk about containers, kubernetes, dockers, etc. etc.
All of this infrastructure and "devops" that people use today, appreciate
that the App Server was there first. The AppServer running on the JVM was
the container. (We've always called Glassfish et al "the container"). You
set up the app server, you deploy to it, magic happens. With a dependency
on a the JVM, AppServer can be easy to deploy (they still need to be tuned,
different problem).

But the modern containers have APIs to handle things like deploys from the
command line, and it's easy to use without a zillion lines of YAML or
whatever or an entire staff to maintain the infrastructure.

The modern containers and such have their place to be sure, but aren't
absolutely required to deploy a WAR or an EAR. Stand up the app server, add
a JDBC jar, configure some DB connection pools, and you're off and running
for a vast range of applications.

Bit of a fan, even after 20 years with this stuff, I still love JEE and its
potential.

Regards,

Will Hartung

Reply via email to