I recently gave a rare technical talk presentation to a
London Java Community event
that took place on Tuesday 16th October 2018 at CodeNote / Skillsmatter in London.
The LJC, first got in touch way back in the Summer, and asked me if I would not mind giving a talk on Java EE.
I said yes okay, however I also said that I had left Java EE behind in the past couple of years, even
though I had written two technical books on it. The LJC fortunately were still interested in my opinion and
they felt I was enough of an expert on the topic.
(WARNING: This is 1 hour long podcast episode. I recorded this on iPhone 6 plus connected to an
external microphone using the USB Camera to thunderbolt cable and then spent time manually
digitally the content)
You can find the Slide deck here.
Here are my verbatim notes, which were largely largely from a private Google Docs.
Java EE – Ah, Ah, Ah! Staying Alive!
Seven terrific Java EE innovations
- Remote invocation
- EJB stateless session variety
- Java Servlets and the Servlet container
- Java Server Page
- JMS – reliable and efficient messages
What did not make it into the list?
- Java Persistence API
- Transaction Service
- Context and Dependency Injection
- JavaServer Faces
- Bean Validation
Why Java EE need extending?
- Difficult to test independently from an application server
- Focus on POJOs
- Focus on POJOs1.26.1
- Focus on POJOs1.26.1
- Inversion of control
- Entity EJBs were a terrible idea (thankfully JPA)
- JAX-RS was started after RESTeasy etc
( Spring Framework had its own idea. CDI arrived 3 years later. Some say too late)
What was the prognosis?
The prognosis was
- Java EE application servers were being left behind
- The concept of embedded servlet container and web container
- The concept of uber JAR, sometimes known as a FAT JAR
- The invention of Docker and containerisation
- The issue with messaging and enterprise integration (Spring Boot has a great support for Spring Integration / Spring Cloud for example) – There was never a successful standardisation effort around enterprise integration (Gregor Hophe). There are successful open source projects namely Camel, Spring Integration
- Oracle being silent on the progress of Java EE 8
- Lack of regular commits to source code repositories, which represented JSR that were led by Oracle staff
- Lack of communication
- Rumours and serendipitous revelations about Oracle staff working on other internal projects
- Oracle investing in their own cloud-native projects, namely FN (serverless open source solution https://github.com/fnproject )
- The community launching two initiatives the Microprofile and the Java EE Guardians
- Controversy, apathy and annoyance
Microprofile community to the Eclipse Foundation
- Oracle releasing Java EE 8
- Oracle transferring Java EE to the Eclipse Foundation
Eclipse Foundation announcing Jakarta EE
- Oracle immediately becoming a founding member of Jakarta EE
- Lightbend (formerly Typesafe) joining Jakarta EE
- Microprofile 1.0 – JAX RS 2.0, CDI 1.2, JSON-P 1.0
- Microprofile 2.0 – Open Tracing 1.1, Open API 1.0, Rest Client 1.1, Config 1.3, Fault Talorence 1.1, Metrics 1.1, JWT Propogation 1.1, Healthcheck 1.0, CDI 2.0, JSP-P 1.1, JAX-RS 2.1, JSON-B 1.0
Is there Life in the old chestnut yet?
Personal opinion, I think so. However, Spring Boot and Spring consortium of technologies are still about two years ahead. The missing piece is a Enterprise Integration: endpoints, routers, gateways, stream listeners, channels and interceptors.
What is the technology for two microservices to talk with each other other than RESTful endpoints? Messaging and streams. Perhaps, Apache Kafka might be able to help, but at what cause to Rabbit MQ. What happens if you already use Apache Camel. These question may or may not be answered anytime to soon.
So yes there is life in the old girl yet?
Title: “Java EE – Ah, ah, ah! Staying alive!
There are multiple ways to get into Java software engineering. Many people will have heard of the brand idea: Java EE. They might be aware of the history of enterprise Java computing, some will know about the origins of Java EE, its controversial past, but also the surprising imaginative concepts of this fundamental piece of commercial and open source work, we will meet the people and the wider community. Java EE was a standard bearer most of the life of the Java Virtual Machine. My talk will give background in Java EE, we will pick up the pieces and find out the answers to several questions. We will examine several terrific innovations, we will also find why these were simply not enough to satisfy the competition. We will look at Java EE’s prognosis. We will witness the crisis of Java EE and then launch a projectile into the far future. How will Jakarta EE meet the challenge of micro-services oriented architecture M/SOA? How does the Microprofile deliver the sustainable promise for the current cloud-native and future digital applications?
50 minutes or so.
By the way, all your Shares, Likes, Comments are always more than welcomed!