The inaugural JakartaOne Livestream global virtual conference was held on September 10th, 2019, with 19 one-hour sessions. Most of the final sessions of the conference were dedicated to presenting roadmaps and upcoming specifications related to Jakarta Security, Jakarta Servlets, Jakarta Web Services, Jakarta Messaging, and Jakarta Server Faces.
The conference provided insights into the current state and the future of Jakarta EE and MicroProfile related technologies, and primarily focused on cloud native Java application development. The sessions included keynotes, demos, panel discussions, and upcoming specifications delivered by an all-star cast of Java luminaries.
Arjan Tijms, project lead for Jakarta Security, presented What's Coming to Jakarta Security? Tijms started his presentation with basic security concepts like authentication and authorization, and provided a brief history behind the Jakarta Security project. He mentioned that the project’s overarching motto is to "enable security in applications without requiring any kind of vendor specific configuration."
Built on top of Contexts and Dependency Injection (CDI), Jakarta Authentication (JASPIC), and Expression language, Jakarta Security’s recent 1.0 release includes an HTTP Authentication API with built-in Basic- and Form-based authentication mechanisms, and an Identity Store API with built-in DB and LDAP support. Arjan wrapped up his presentation by highlighting features like custom authorization rules, CDI compatible roles, additional built-in authentication mechanisms (like JWT and OAuth2), JASPIC and Jakarta Authorization (JACC) as standard SPI for Jakarta Security, and new APIs that will potentially be delivered in the next release of Jakarta Security.
Tijms, who is also the project lead for Jakarta Server Faces (JSF), discussed the relevance of JSF, various JSF runtimes, the versioning aspects, and the upcoming roadmap in a second presentation, titled What's Coming to Jakarta Faces? He started his presentation by talking about the rise in popularity of client-side JavaScript frameworks like Angular and React, which put a dent in the usage of JSF. However, he believes that JSF is still relevant in the enterprise space with a vibrant community. Arjan stated that a key advantage of JSF is its native support for server side rendering (SSR).
A new JSF runtime called Piranha was introduced during the presentation. Piranha is a composable, programmatic, unit testable cloud native runtime for JSF. Tijms also touched upon some of the upcoming features like new life cycle events, simplified API, and native views in Java with code examples during the presentation.
Markus Karg, key committer of Jakarta RESTful Web Services project (formerly known as JAX-RS), shared some insights on the status and roadmap of the project in his presentation titled Jakarta RESTful Web Services: Status Quo and Roadmap. Karg started his presentation by highlighting the differences between the old school way of deploying JAX-RS based applications using heavyweight Java EE application servers like GlassFish versus cloud native Kubernetes- and container-based lightweight application deployments. He stressed the need for evolving and modernising Jakarta RESTful Web Services as the go-to standard for developing RESTful applications that can be deployed on resource constrained environments.
Karg discussed the feature list and roadmap for the upcoming quarterly releases of Jakarta RESTful Web Services, starting with version 2.2 all the way to version 3.1. The 2.2 feature list includes an HTTP server with instant start and stop, low resource consumption, and support for MicroProfile API. Karg concluded his presentation with a live coding and debugging demo showcasing features of the upcoming 2.2 release that provides a Java SE bootstrapping API.
Ed Burns, co-spec lead of Servlet and JSF, gave a presentation on the Jakarta Servlet project titled Jakarta Servlet: A New Twist on an Old Favourite. Burns started his presentation by reporting on the progress of Servlet 4, specifically 4.0.3 version, made by the Jakarta team. Burns stated that the project’s current plan is to focus solely on bug fixes. He then touched upon microservices, and how servlets can provide a means to start building microservices in green field projects. The various performance benefits and features offered by HTTP/2, such as binary framing, multiplexing and server push -- all of which are supported by Jakarta Servlet -- were also discussed. Burns concluded his presentation by stating that Jakarta Servlet offers significant incremental improvements like asynchronous support, reactive non-blocking I/O support, and resource injection.
David Blevins, founding member of Eclipse MicroProfile and Jakarta EE, presented Jakarta Messaging 3.0, Redefining JMS to give an overview of where Java Message Service (JMS) 2.0 left off, and the potential direction and evolution of Jakarta Messaging project. Blevins started his presentation with a two-minute perspective on JMS 2.0. JMS 2.0 was mainly a programmatic improvement over its predecessor JMS 1.1 that dealt with reduction of boilerplate and ceremonious code required to build JMS based applications.
Blevins then briefly talked about the JMS timeline before taking a deep dive into the various ideas being proposed for JMS 3.0. Some of the ideas include greater CDI support, annotation based configuration, strong typing, JSON support, and messaging client support. Blevins used extensive code examples to describe these ideas.
A Q&A session with Reza Rahman, principal program manager, Java on Azure at Microsoft, was organized to give the audience a chance to ask and clarify some aspects related to Jakarta EE.
Several InfoQ Java editors will be collectively reporting on the entire 19-hour conference by each covering a portion of it.