foojay

Event Driven Hello World Program

Event-driven microservices can be straightforward to describe before they are implemented, tested and maintained. They are also highly responsive to new information in real time, with latencies in Java of below 10 microseconds 99.99% of the time depending on the functionality of the small independently deployable microservice. In this introductory article, we use an example event-driven Hello World program (a …

Read More »

Do You Trust Profilers? I Once Did Too.

Profilers are great tools in your toolbox, like debuggers, when solving problems with your Java application (I’ve been on a podcast on this topic recently). I’ll tell you some of their problems and a technique to cope with them in this article. There are many open-source profilers, most notably JFR/JMC, and async-profiler, that help you to find and fix performance …

Read More »

Make Your Security Policy Auditable

Following from my previous article, I wrote about putting the right feature at the right place. I used rate limiting as an example, moving it from a library inside the application to the API Gateway. Today, I’ll use another example: authentication and authorization. Securing a Spring Boot application I’ll keep using Spring Boot in the following because I’m familiar with …

Read More »

The Right Feature at the Right Place

Before moving to Developer Relations, I transitioned from Software Architect to Solution Architect long ago. It’s a reasonably common career move. The problem in this situation is two-fold: You know perfectly well software libraries You don’t know well infrastructure components It seems logical that people in this situation try to solve problems with the solutions they are most familiar with. …

Read More »

JavaFX Links of February 2023

February is a short month, but this list seems to be longer than ever… A lot of game and 3D development, releases, interesting ongoing development, and so much more to read. Enjoy reading and clicking! This is a summary of the Links Of The Week as published on jfx-central.com during February. JavaFX/OpenJFX Core Kevin Rushforth of Oracle announced on the …

Read More »

42 Practical Java Design Patterns: Builder and More

Figure 1.: Hone your software design skills The aim of the article is to introduce my newly published book “Practical Design Pattern for Java Developers”. Together, we’ll explore today’s application development challenges and dive deeper into some of Java’s new language enhancements by exploring  the Builder Design pattern in more detail.  The days when applications were developed “ad hoc” seem …

Read More »

SBOMs and Software Composition Analysis

This article is the second in a series about SBOMs, software supply chains, the government and you. I hope you are still hungry after the first article as more cake is available below! If you have read the first article in this series that introduces SBOMs SBOMs: First Steps in a New Journey for Developers | Foojay.io then you already …

Read More »

Journeys in Java, Level 9: Docker compose all the things

Our microservices project contains quite a few pieces now. We have two databases, three API services, a user-view service for books, and a service to host our configuration. With so many pieces to manage, it would be nice to have something that orchestrates the individual services into a system, such as Docker Compose. Back in our Level 5 rendition, we …

Read More »

Porting an Existing JavaFX App to iOS

Sometimes there are JavaFX apps that I would also like to use on my iPhone but I wrote them for the desktop and it’s always the question how to do that? These days the simple answer is use Gluon Mobile. But the real question remains… how to do it? To give you an idea, I will take my little game …

Read More »

Should You Update Java or Upgrade and Which Version Should You Use?

Update versus Upgrade: what’s the difference and what are the consequences of your decision? Since 2018, every six months we get an upgrade to a new OpenJDK version, and this year versions 20 and 21 will be released. Next to these six-month releases, OpenJDK distributor Azul, amongst others, provides four critical patch updates (CPU) and patch set updates (PSU) per …

Read More »