{ Portfolio }

The complete portfolio by
Michael Redlich Periodic Table Logo

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 JSF, JPA, JAX-RS and CDI. 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.

Slide Deck

The Jakarta NoSQL specification defines a set of APIs that provides a standard implementation for most NoSQL databases. Based on the Eclipse JNoSQL project, Jakarta NoSQL is considered "one API for many NoSQL databases" as it supports the various types of NoSQL databases: document, column, key-value and graph.

This presentation will provide an introduction to Jakarta NoSQL followed by a demonstration of how to get started with a review of a MongoDB application built with Jakarta NoSQL.

The MicroProfile initiative, introduced in mid-2016, is a collaboration of Java community members representing IBM, Red Hat, Tomitribe and Payara, among others.

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 three standalone APIs for handling reactive streams.

This presentation will provide an introduction and overview of MicroProfile followed by a live coding session to demonstrate 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 2019)
Demo Application

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.

Slide Deck
Demo Application
Recorded Presentation (Oracle CodeOne 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.

Slide Deck

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.

Slide Deck

Quarkus, a Kubernetes Java native framework developed by Red Hat, was designed for GraalVM and OpenJDK HotSpot. Quarkus leverages technologies such as MicroProfile, Hibernate, Netty and RESTEasy.

This presentation will provide an introduction and overview of Quarkus followed by demos on how to get started.

Slide Deck

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.

Slide Deck

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 is a Senior Research Technician at ExxonMobil Research & Engineering in Clinton, New Jersey (views are his own) 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 has been an active member of the Java community for the past 20 years. He founded the ACGNJ Java Users Group in 2001 that remains in continuous operation. Since 2016, Mike serves as a Java community news editor for InfoQ where his contributions include monthly news items, technical writing and technical reviews. Mike has co-authored nine (9) articles with Barry Burd for Java Boutique (now jGuru). He has presented at venues such as Oracle Code One, Emerging Technologies for the Enterprise (ETE), Trenton Computer Festival (TCF), TCF IT Professional Conference, Philly Java Users Group, Princeton Java Users Group and Capital District Java Developers Network. More recently, Mike has contributed to open source projects and participates on the leadership council of the Jakarta EE Ambassadors.

Mike has been a member of the Amateur Computer Group of New Jersey (ACGNJ) since 1996 and currently serves on the Board of Directors as Past President.

Mike holds a Bachelor of Science in Computer Science from Rutgers University.

He is a member of Toastmasters International and is also involved in volunteer efforts such as United Way of Hunterdon County. 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.