The second annual JakartaOne Livestream virtual conference, scheduled in conjunction with the formal GA releases of Jakarta EE 9 and MicroProfile 4.0, went live on December 8th, 2020, with the first of 12 one-hour sessions starting at 6:00am EST. Focused on Jakarta EE- and MicroProfile-related topics, these sessions included keynotes, 45-minute technical sessions, 15-minute Jakarta EE theme sessions, and panel discussions delivered by a host of Java luminaries.
This year's conference also included a special tribute to Bill Shannon, who passed away last year after a long battle with cancer. Ed Bratt, senior software development manager at Oracle, highlighted Shannon's personal and professional life spanning 38 years as an architect at Oracle and distinguished engineer at Sun Microsystems.
The JakartaOne Livestream 2020 program committee included: Will Lyons, senior director of Enterprise Cloud Native Java Product Management at Oracle; Rabea Gransberger, software engineer at MEKOS; Ivan Ivanov, co-founder and senior programmer at VIDA Software; Michael Redlich, senior research technician at a petrochemical research organization and veteran Java Queue news editor at InfoQ; Ivar Grimstad, Jakarta EE developer advocate at Eclipse; and Tanja Obradovic, Jakarta EE program manager at the Eclipse Foundation.
Opening Keynote Address
The opening keynote was delivered by Mike Milinkovich, executive director at Eclipse Foundation.
Milinkovich presented Enabling Future Innovation in Cloud-Native Java to formally announce the release of Jakarta EE 9. He introduced the three required elements of any Jakarta EE release, namely: open specifications as defined by the Jakarta EE Specification Process, the open-source TCK process for certifying products as a compatible implementation of Jakarta EE; and at least one compatible implementation. Currently, GlassFish is the only compatible implementation of Jakarta EE 9.
As Milinkovich stated, "The big news is the 'big bang," that is, the complete migration from the javax
to jakarta
namespace. This is a key milestone that provides a foundation for future innovation in cloud-native Java. Other features and benefits of Jakarta EE 9 include: lowering the entry barriers for new vendors and implementations to achieve compatibility with Jakarta EE; and an easy migration to the jakarta
namespace.
Jakarta EE 9.1 will support JDK 11 and will also include taking better advantage of CDI, leverage Java SE innovations, and strive for portability and vendor neutrality.
Industry Keynotes
Jakarta EE steering committee members representing Oracle, Payara, Tomitribe, IBM, Payara, Fujitsu and IBM participated in the industry keynotes.
Will Lyons, senior director, WebLogic server product management at Oracle, discussed Oracle's cloud-native opportunities for vendors, end-users and customers to leverage Jakarta EE. He introduced the Oracle Enterprise Cloud Native Java product line that includes the Jakarta EE 8 compatible WebLogic server, Coherence, Helidon, and a new project, Verrazzano.
Steve Millidge, CEO at Payara, discussed modernizing Jakarta EE by supporting the cloud, containers, DevOps, IoT, Jakarta EE and MicroProfile. He introduced the new Payara Cloud product that will allow easy deployment of an application to the cloud. Payara is planning to be Jakarta EE 9 compatible by the first half of 2021 and join the MicroProfile Working Group.
David Blevins, CEO at Tomitribe, presenting Apache TomEE, Collaborations and Call-to-Action, provided a status update of TomEE 8 and TomEE 9 as compatible implementations of Jakarta EE 8 and Jakarta EE 9, respectively. Using only one code base for both TomEE versions, they are currently passing approximately 98% of the TCKs. Tomitribe, using the Eclipse Transformer project and a home-grown TomEE Patch Plugin, will not only help migrate to the jakarta
namespace, but there are plans to provide a backwards compatible javax
namespace version of TomEE 10.
Tomitribe formed collaborations with Sonatype to scan all of Maven Central to find artifacts containing the javax
namespace, and Jelastic, the first cloud product to support the jakarta
namespace. Jelastic recently joined the Jakarta EE Working Group and was one of the founding members of the MicroProfile Working Group.
In Blevins' call-to-action to the Java community, he stressed the significance in understanding that the javax
to jakarta
namespace change affects all developers, not just those who use EE platforms, since 50% of Spring's artifacts in Maven central are affected by the namespace change.
Representing Fujitsu, Yuichi Kusano, presenting Fujitsu Cloud Native Java Strategy, described Fujitsu's 25-year history with Java that includes serving on the JCP Executive Committee, joining MicroProfile in 2017 and joining Jakarta EE in 2018 as a strategic member serving on the Steering, Specification and Marketing committees.
The Fujitsu product line includes their flagship product, Interstage Application Server, which is Java EE 7 compatible. Kusano also introduced the Jakarta EE 8 compatible Fujitsu Software Enterprise Application Server 1.0 that supports Jakarta EE 8, OpenJDK and MicroProfile 3.0.
Alasdair Nottingham, Open Liberty lead architect & WebSphere chief architect at IBM, discussed IBM's Jakarta EE 9 work being centered around Open Liberty, a lightweight open-source framework for building cloud-native Java microservices. Open Liberty features a modular architecture that supports Java EE 7, Java EE 8, Jakarta EE 8 and MicroProfile 3.3. Currently a compatible implementation of Jakarta EE 8, Open Liberty is approximately 98% compatible with Jakarta EE 9.
Highlighted Presentations
Jakarta EE and MicroProfile: The Good Parts: #slideless presented by Adam Bien, Java SE/EE freelancer and author of several books.
As the #slideless
in the title suggests, Bien's presentation was dedicated to live coding with the exception of a few slides to introduce the Jakarta EE 9 specifications and the MicroProfile 4.0 APIs. Starting with a simple application generated with the Maven archetype:generate
plugin wrapped in a custom script, Bien implemented various MicroProfile and Jakarta EE APIs to the application.
Bien introduced his own Watch and Deploy utility that monitors a project for changes in source code which then triggers a build and deploy to a defined Java runtime such as Payara, WildFly, etc. It is also possible to define more than one runtime in a defined .wadrc
file. For example:
${LIBERTY_HOME}/usr/servers/defaultServer/dropins
${WILDFLY_HOME}/standalone/deployments
${PAYARA_HOME}/glassfish/domains/domain1/autodeploy
${TOMEE_HOME}/webapps
Testing Jakarta Microservices with Efficiency & Joy presented by Sebastian Daschner, lead Java developer advocate at IBM.
Daschner demonstrated how to effectively test microservices with his own coffee shop application involving a user, a coffee shop, a database and an asynchronous connection with a barista.
Manually testing the application, i.e., ensuring the application runs as expected, is not an efficient way to test because subsequent changes require constantly repeating these manual tests.
Typical unit tests that automate the manual testing process are useful, however, Daschner questioned whether developers really understand what is being tested. One of the biggest challenges of unit testing is that test methods can be too large and have too many concerns of actual test scenarios, communication, and how orders are represented. There are too many concurrent abstraction layers that may result in not comprehending what is being tested at first glance, and testing other scenarios which can create a duplication of similar unit tests.
The key is to separate these concerns and eliminate leaky abstractions. Testing with efficiency and joy, as Daschner explained, means to create a system test environment where the environment lifecycle is separated from the system lifecycle.
What We Learned from Porting PiggyMetrics from Spring Boot to MicroProfile was presented by Ed Burns, principal architect for Java on Azure at Microsoft, and Emily Jiang, Liberty microservice architect and advocate at IBM.
Burns and Jiang role-played two developers - a Spring developer and MicroProfile developer, respectively - demonstrating how to migrate the PiggyMetrics Spring Boot application to MicroProfile. After introducing the PiggyMetrics application and demonstrating how it works, Burns expressed concern about this application, namely no separation of interface and implementation, and vendor lock-in.
Jiang provided a comprehensive juxtaposition of the MicroProfile and Spring APIs before migrating the application to MicroProfile deployed to Open Liberty.
Key takeaways from this session include: developers should choose what works for them; enterprises should provide platforms that enable innovation and flexibility that are enterprise and production ready; MicroProfile and Spring provide facilities for developers to build next-generation cloud applications; and MicroProfile and Spring share similarities and differences. Open Liberty supports both MicroProfile and Spring.
Studio Jakarta EE Sessions
After each 45-minute session, Grimstad and Obradovic facilitated 15-minute Studio Jakarta EE mini-sessions composed of short demos and interviews.
The short demos featured a technical overview of Jakarta MVC 2.0, the javax to jakarta
namespace change, and how to contribute to Jakarta EE.
The interviews featured the JakartaOne Livestream 2020 program committee discussing their individual participation on the program committee; Arjan Tijms, independent consultant, discussing Jakarta EE 9, the "big bang" approach to the javax
namespace change, and Piranha, a new project that delivers cloud-ready containers and add-on/integration modules; Ed Bratt, senior software development manager at Oracle, paying tribute to Bill Shannon; Juergen Hoeller, Spring Framework project lead at VMware, discussing the impact of the javax
namespace change in the Spring APIs; Werner Keil, founder and director at Creative Arts & Technologies, discussing the Jakarta EE 9 specifications and participation in the Jakarta EE Working Group; and Amber Vanderburg, founder of The Pathwayz Group, presenting a lightning talk entitled The Power of Performance Feedback.
Grimstad and Obradovic also celebrated the most active Jakarta EE contributors and committers in which the top ten in the categories of newcomer Jakarta EE specification contributors, Jakarta EE specification contributors, Eclipse GlassFish contributors, and Jakarta EE TCK contributors were acknowledged.
All the sessions from JakartaOne Livestream 2020 conference are available for replay on the website.
Editor's Note
Michael Redlich served on the JakartaOne Livestream 2020 Program Committee.