Speaker: Kito Mann
For more see the table of contents
Notes
- In cloud, have both microservices and traditional web apps
Microservice
- Container (ex: docker) including UNIX kernel
- Executable Jar or Native Image (ex: Graal)
- Example microservice framework – Http Server, Http Java Integration, REST processing, JSON serialization, JSON parsing, validation, security, database integration, dependency injection, messaging, mail, health checks, tracing, fault tolerance, metrics, config, OpenAPI docs, GraphQL
- Microservice frameworks – Spring boot, quarkus, micronaut, open liberty
Spring Boot
- Http Server – Jetty, Tomcat or Underflow
- Http Java Integration – Jakarta Servlet
- REST processing – Jakarta RESTful Web Services or Spring MVC
- JSON serialization – Gson, Jackson or JSON Binding
- JSON parsing – Gson, Jackson or JSON Parsing
- validation – Jakarta Bean validation
- security – Spring security
- database integration – JPA and others
- dependency injection – Spring framework
- messaging – Jakarta messaging, kafka and others
- mail – spring java mail sender or jarkarta mail
- health checks – spring boot actuator
- tracing – spring cloud sleuth
- fault tolerance – spring cloud circuit breaker and spring cloud netflix
- metrics – micrometer
- config – spring boot config
- OpenAPI docs – Spring REST data
- GraphQL – Spring for GraphQL
Others
Did same for Quarkus, Payara Micro, Jarkarta EE. Didn’t transcribe deck
A lot of delegating to Jakarta and MicroProfile projects
MicroProfile
- Started in 2016
Jakarta projects
- Jakarta Interceptors – standard way of writing interceptors
- Platform – Jakarta enterprise beans, authorization, batch, connectors, mail, activation, messaging, web profile, core profile
- Optional (not fully supported) – Jakarta enterprise web services, xml binding, SOAP with attachments, XML web services
- Web profile – servlet, bean validator, persistence, authentication, web socket, CDI, mail, security, transactions, expression language, managed beans, concurrency, faces, standard tag libraries, server pages, enterprise beans light
- Core profile – interceptor, dependency injection, annotations
- Required for MicroProfile – Jakarta RESTful web services, JSON processing, JSON binding, CDI light
- CDI surpassing EJB
- New: Jakarta RPC, NoSQL, data
- Removed: Jakarta Management
Java EE Server
- War
- Jakarta Servlet, RESTful web services, JSON binding/parsing, bean validation, security, persistence, CDI, messaging, mail
My take
Wow. A lot has changed since I last worked on a web app. Learned a lot here although the talk was longer than my attention span; especially later in the day. It was a bit of an info dump but good for getting the lay of the land. And I need to do a lot of reading!