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 1Q2024, 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 and a review of new and updated specifications with code examples.
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 23, 2021)|
|Recorded Presentation (Connecticut JUG, July 20, 2021)|
|Recorded Presentation (Garden State JUG, August 17, 2021)|
|Recorded Presentation (Jakarta Tech Talks, September 15, 2021)|
|Recorded Presentation (JCON-ONLINE, October 5, 2021)|
|Recorded Presentation (Philly JUG, October 19, 2021)|
|Recorded Presentation (JCON-ONLINE, September 21, 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 17, 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 18, 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 that remains in continuous operation. Since 2016, Mike has served as a Java community news editor for InfoQ where his contributions include monthly news items, technical writing and technical reviews. He has presented at conferences including: Oracle Code One, Emerging Technologies for the Enterprise (ETE), Trenton Computer Festival (TCF) and TCF IT Professional Conference, and Java User Groups including: Philly Java Users Group, Kansas City Java Users Group, Princeton Java Users Group and Capital District Java Developers Network. More recently, Mike has contributed to open source projects and has been elected as a committer to the Jakarta NoSQL, Jakarta Data and Eclipse JNoSQL projects. He also participates on the leadership council of the Jakarta EE Ambassadors. He was named a Java Champion in April 2023.
With 33½ years service, Mike recently retired from ExxonMobil Technology & Engineering in Clinton, New Jersey with experience in developing custom scientific laboratory and web applications. 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.
Mike's technical expertise includes object-oriented design and analysis, relational database design and development, computer security, C/C++, Java, Python, Matlab and other programming/scripting languages. His latest passions include MicroProfile, Jakarta EE, Helidon, Micronaut and MongoDB.
Mike makes his home in Flemington, New Jersey with his lovely wife, Rowena, where they spend quality time cycling/running and traveling to New Orleans, Louisiana and Newport, Rhode Island throughout the year.