Since its introduction in 2018 as Jakarta EE, the platform has evolved from: Jakarta EE 8, an open-source version of Java EE 8; to Jakarta EE 9, the "big bang" release; to Jakarta EE 10 that introduced the Core Profile.
Jakarta EE 11, scheduled for a GA release in 1H2024, will introduce new specifications, provide updated specifications, and set the baseline to Java 21, the latest LTS release.
This presentation will provide a brief history of JavaEE/Jakarta EE, what's new in Jakarta EE 11, and a review of new and updated specifications with code examples.
|Recorded Presentation (Payara Virtual Conference, December 14th, 2023)
|Recorded Presentation (Jakarta Tech Talk, December 13th, 2023)
|Recorded Presentation (JCON World 2023, November 21st, 2023)
|Recorded Presentation (Philly JUG, November 15th, 2023)
Java EE has been rebranded to Jakarta EE and moved to a truly open source governance under the Eclipse Foundation. This session provides an overview of what this means, offers a brief tour of the first release - Jakarta EE 8, explores the current state and looks to what the future might bring including some key challenges. We will also discuss how these challenges can be overcome through active community engagement.
The technical contents of Jakarta EE 8 is mostly the same as Java EE 8 - it solidly enables HTTP/2, Server-Sent Events (SSE), JSON and aligns the platform with Java SE 8.
It includes a much awaited security API overhaul as well as a slew of critical updates to APIs like
The true difference is how Jakarta EE will evolve in open source.
You should attend to this session wearing your thinking caps and sleeves rolled up. There is much to help move forward together that really matters.
The Jakarta NoSQL specification defines a set of APIs to provide a standard implementation for most NoSQL databases. Jakarta NoSQL is considered "one API for many NoSQL databases" as it supports the four types of NoSQL databases: column family, document, graph and key-value.
This presentation will provide an introduction to Jakarta NoSQL and Eclipse JNoSQL, the compatible implementation to the specification, followed by a demonstration of a MongoDB application built with Jakarta NoSQL.
|Recorded Presentation (Kansas City JUG, May 20th, 2021)
|Recorded Presentation (xgeeks.io Talks, June 23rd, 2021)
|Recorded Presentation (Connecticut JUG, July 20th, 2021)
|Recorded Presentation (Garden State JUG, August 17th, 2021)
|Recorded Presentation (Jakarta Tech Talks, September 15th, 2021)
|Recorded Presentation (JCON-ONLINE, October 5th, 2021)
|Recorded Presentation (Philly JUG, October 19, 2021)
|Recorded Presentation (JCON-ONLINE, September 21th, 2022)
The initial three MicroProfile APIs: Contexts and Dependency Injection (CDI); Java API for JSON Processing (JSON-P); and Java API for RESTful Web Services (JAX-RS), have been considered a minimal set of APIs for building microservices-based applications. Since its debut, MicroProfile has grown to a total of 12 core APIs along with four standalone APIs for handling reactive streams and GraphQL.
This presentation will provide an introduction and overview of MicroProfile followed by a live coding session to demonstrate some individual MicroProfile APIs.
Project Helidon, introduced by Oracle in September 2018, features an asynchronous reactive web server built on top of Netty. Oracle designed Helidon to be lightweight, easy, and fast for building microservices-based applications. There are two programming modes: Helidon SE, featuring microframeworks, and Helidon MP, which supports MicroProfile.
This presentation will provide an introduction and overview of Helidon, followed by live demonstrations of how to get started with both Helidon SE and Helidon MP along with a review of a working application.
|Recorded Presentation (Oracle CodeOne, September 17th, 2019)
Micronaut, introduced in early 2018 by Object Computing, is a full-stack JVM-based framework for creating microservices-based, cloud native, and serverless applications that can be written in Java, Groovy, or Kotlin. This new framework provides a simple compile-time, aspect-oriented programming API that does not use reflection.
Micronaut supports GraalVM-native images and offers compile-time support for Swagger, validation, and mapping annotations. With its own non-blocking web server built on top of Netty, reactive clients can be built declaratively and are implemented at compile time.
This presentation will provide an introduction and overview of Micronaut, followed by a live demonstration of an application with microservices written in Java, Groovy, and Kotlin, respectively.
|Recorded Presentation (Oracle CodeOne, September 18th, 2019)
Micronaut Data is a database access toolkit that uses Ahead of Time (AoT) compilation to pre-compute queries for repository interfaces that are then executed by a thin, lightweight runtime layer.
Micronaut Data is a new subproject of Micronaut, a full-featured, full-stack JVM-based lightweight application framework for creating microservice-based, cloud-native and serverless applications that can be written in Java, Groovy, and Kotlin.
This presentation will provide a brief introduction and overview of Micronaut and Micronaut Data followed by a review of a Micronaut Data application.
The MicroProfile initiative, launched in 2016, was designed to offer a microservices platform for Java EE. The initial three APIs, considered to be the minimal for building microservices applications, were CDI (JSR 365), JSON-P (JSR 374) and JAX-RS (JSR 370).
Since then, MicroProfile has grown with additional APIs developed by the Java community.
This presentation will provide an introduction and overview of MicroProfile followed by demos of some examples.
This presentation will provide an introduction and overview of Quarkus followed by demos on how to get started.
MongoDB (its name derived from “humongous”) is an open-source, document-oriented, NoSQL database that provides high performance, high availability, and automatic scaling. It has become the leader in non-relational databases as Fortune 500 companies have been migrating to MongoDB among others.
This presentation will an introduction and overview of MongoDB, how to get started, and demonstrate basic CRUD operations (with some “mapping” to MySQL) on working MongoDB databases.
Object-Oriented Programming (OOP) is a programming paradigm that models real-world objects. The most well-known and widely-used OOP languages are C++ and Java, but some languages, such as Simula-67, were around much earlier. The advantages of OOP over structured programming include modularity and code re-use. As OOP has evolved over the years, things like design patterns and design principles have guided developers to write applications that are more adaptable to modification.
This presentation will provide an introduction to OOP, its basic attributes (encapsulation, abstraction, inheritance, and polymorphism), the class mechanism, and some design principles that have led to the development of design patterns. Example Java source code will be reviewed to demonstrate the features of OOP and design principles.
Java is an object-oriented programming (OOP) language created by James Gosling at Sun Microsystems that was first introduced to developers in 1995. It is one of the most popular programming languages for client/server web applications and there are many scripting languages (Clojure, Groovy) that seamlessly interact with Java. Much of Java’s language syntax was derived from the C++, but as James Gosling once stated, “Java is C++ without guns, knives, and clubs.”
This presentation will provide an introduction to the Java programming language, provide a brief overview, how to get started, review some Java keywords, introduce the Java class mechanism, and review a small, working Java application. The example Java application will demonstrate how the attributes of OOP are utilized within Java classes.
Design patterns are recurring solutions to software design problems that are repeatedly found in real-world application development. Design patterns are about design and interaction of objects, as well as providing a communication platform concerning elegant, reusable solutions to commonly encountered programming challenges.
The most widely recognized book on design patterns, “Design Patterns – Elements of Reusable Object-Oriented Software,” written by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, affectionately known as the “Gang-of-Four” (GoF), defined 23 design patterns and classified them into three categories: creational (abstracts the instantiation process), structural (groups objects into larger structures), and behavioral (defines better communication among objects).
This presentation will provide an introduction to design patterns followed by an overview of three design patterns, one from each category, including a description of the pattern, how and why it is used, and a source code review of a small application using the pattern:
|Factory Method (creational category)
|Decorator (structural category)
|Observer (behavioral category)
Michael Redlich has been an active member within the Java community for the past 25 years. He founded the Garden State Java User Group (formerly the ACGNJ Java Users Group) in 2001 where he serves as one of the directors. Since 2016, Mike has served as a Java community news editor for InfoQ where his contributions include the weekly Java news roundup, news items, technical articles and technical reviews from external authors. He is currently the lead Java Queue editor. Mike has joined Payara as a contract Developer Advocate and Technical Writer in the summer of 2023.
He has presented at conferences such as Oracle Code One, JCON World, Emerging Technologies for the Enterprise, Trenton Computer Festival (TCF), TCF IT Professional Conference and numerous Java User Groups. Mike serves as a committer to the Jakarta NoSQL and Jakarta Data specifications and the Eclipse JNoSQL project. He also participates on the leadership council of the Jakarta EE Ambassadors. Mike was named a Java Champion in April 2023.
Mike retired from ExxonMobil Technology & Engineering in June 2023 with 33½ years of service. His experience included developing custom scientific laboratory and web applications, polymer physics, chemometrics, infrared spectroscopy and automotive testing. He also has experience as a Technical Support Engineer at Ai-Logix, Inc. (now AudioCodes) where he provided technical support and developed telephony applications for customers.