This slide illustrates the simplicity in bootstrapping a simple enterprise application with Java EE successor, Jakarta EE 8.
The code can be found on GitHub: https://github.com/TheEliteGentleman/jakartaee8-demo
3. Who am I?
• Enterprise Java Developer & Engineer
• 14 years coding (and virtually no sleep)
• Jakarta EE Ambassador (formerly known as Java EE Guardian) (https://jakartaee-
ambassadors.io/who-we-are/)
• Blogger: A Developer’s Enterprise Log - https://deventerpriselog.blogspot.com/
• I code on my spare time (currently writing my own Neural Network)
• Beatmaker (when time permits):
• Twitter: @EliteGentleman
• Instagram: @EliteGentleman_
• LinkedIn: Buhake Sindi
• PS: I am on the market!
6. Making Sense of IT Podcast
• Launched January 2020
• Talking about subject matters that are important in our lives/careers
but we seldom talk about it.
• E.g., burnouts, negotiating salaries, money, work-life balance,
micromanagement, etc.
• Available wherever you listen
• On Apple Podcast, Google Podcast, Spotify
• Twitter: @_MakingSenseOf_
• Facebook: Making Sense of It Podcast
7.
8. Devoxx4Kids South Africa
• Started in 2017
• Fully registered Non-Profit:
• NPC (reg no: 2019/51866/08)
• NPO (reg no: 241-758 NPO)
• Objectives: Introducing kids to programming and robotics in a fun way (basically STEM)
• Host a weekend coding event where kids get to code for a day
• Nationwide: Hosted already in JHB & CPT. Durban, coming soon.
• Looking for instructors: developers with ideas to teach kids (see me afterwards).
• Looking for sponsors (http://www.devoxx4kids.org/south-africa/help-us/)
• Social media (FB, Twitter, Instagram): @Devoxx4KidsZAF
• YouTube: Devoxx4Kids South Africa
• Web: http://www.devoxx4kids.org/south-africa/
• Email: devoxx4kidszaf@gmail.com
9.
10. Brief History
• Under Oracle, Java EE wasn’t flexible, barely adopting agile processes
and more open.
• 12 September 2017: Oracle announced that it’ll submit the Java EE
project to Eclipse Foundation.
• Eclipse foundation announced the new top-level project as Eclise Enterprise
for Java (EE4J)
• 26 February 2018, Java EE was rebranded to Jakarta EE
• Oracle owns and trademark the Java name.
• 10 September 2019, Jakarta EE 8 is officially released.
11. Jakarta EE 8
• Released, 10 September 2019 (https://jakarta.ee/release/)
• Full compatibility with Java EE 8 specification
• No API or namespace changes
• Compatible Products include:
• Eclipse Glassfish, version 5.1.0 and higher
• IBM Open Liberty, version 19.0.0.6 and higher
• Payara Server, version 5.193.1 and higher (Full Profile)
• Redhat Wildfly, version 18.0.0.Final and higher
• More info: https://jakarta.ee/compatibility/
12. Jakarta EE 9
• 16 January 2019, Jakarta EE Working Group approved Jakarta EE 9 Release
Plan (https://eclipse-ee4j.github.io/jakartaee-
platform/jakartaee9/JakartaEE9ReleasePlan)
• Big changes:
• javax.* namespace to be moved to jakarta.* namespace.
• Removing unwanted or deprecated specifications
• Jakarta EE 9 won’t impose backward compatibility.
• Individual Specification Version. Jakarta EE 9 will release MAJOR version of the
specification document. Thus, JPA 2.x -> JPA 3.0
• JSF 3.0 won’t be backward compatible with JSF 1.x (see first 2 sub-bullets above)
• Java SE 8 compatible. Jakarta EE 9 Web and Full Profile MUST be Java SE 11
compatible
• Possible addition of NoSQL specification: Eclipse jNoSQL
14. Technology used.
• Java SE 13
• Current version: 13.0.2 (as of 11 February 2020)
• Maven
• Current version: 3.6.3
• IBM OpenLiberty
• IDE of your choice (that supports at least Java SE 8 and higher)
• Latest Web Browser (of course, but not Internet Explorer)
15. Including Jakarta EE 8 in your project
• Import the jakarta-ee-api as a dependency in your project pom.xml
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId>
<version>8.0.0</version>
<scope>provided</scope>
</dependency>
16. Eclipse Microprofile
• An Open Source community specification for the Enterprise Java Microservices Architecture.
• Current release: version 3.2
• Aligned with Java EE 8
• Built from lightweight Java EE Web Profile:
• CDI 1.2
• JAX-RS 2.0 (Java API for RESTful Web Services)
• JSON-P 1.0 (Java API for JSON Processing)
• Common Annotations for Java Platforms 1.2
• Additional specifications to make your microservice ready for the cloud:
• Configuration Management
• Fault Tolerance
• Health Check
• JWT Authentication
• Metrics
• OpenAPI
• OpenTracing
• Type-safe REST Client
• Web: http://microprofile.io/
17. Microservice with Eclipse Microprofile
• Import the microprofile as a dependency on your project pom.xml
<dependency>
<groupId>org.eclipse.microprofile</groupId>
<artifactId>microprofile</artifactId>
<version>3.2</version>
<type>pom</type>
<scope>provided</scope>
</dependency>