Spring Batch Job Flow

Spring Batch Job Flow Using a JobExecutionDecider

Jonny Hackett Articles, Development Technologies & Tools, Java, Spring, Spring Batch, Tutorial 2 Comments

In this tutorial for Spring Batch, we’re going to take a look at Programmatic Flow decisions in a Spring Batch job using Spring’s JobExecutionDecider. Spring Batch is a pretty powerful framework and this is another useful tool to have in your Spring Batch toolbox.

To demonstrate, I’ll use a scenario that came up recently while working on my clientโ€™s project. After explaining the situation and my goals, Iโ€™ll jump into a detailed, step-by-step guide. Letโ€™s get started!

Application Security

Top Security Mistakes to Avoid in AppDev

Zach Gardner All Industries, Architecture, Articles, Financial, Healthcare, Insurance, Manufacturing, Security, Spring, Supply Chain & Logistics Leave a Comment

Developing custom applications is one of the hardest professional endeavors, and making them secure is even harder. Malicious actors are constantly changing tactics and strategies, which, unfortunately, makes it impossible to completely eliminate any security threat.

There needs to be a balance between delivering features quickly to meet business objectives and mitigating security risks. Thankfully, these two goals are not mutually exclusive. This blog post dives into the top mistakes that can be made while developing custom applications.

These recommendations are different from what would commonly be seen in an OWASP list, and they should be used in addition to whatever security practices and procedures are already in place by an organizationโ€™s infosec department. These recommendations are also written from an application architectโ€™s (rather than an enterprise infrastructure) perspective, so most of them arenโ€™t covered by existing security checklists.

GINQ for the win

Using Groovy 4: GINQ for the Win

Rik Scarborough Articles, Development Technologies & Tools, Groovy, Java, Programming 4 Comments

In my last blog post Back in the Groovy 4, I briefly mentioned Groovy-Integrated Query (GINQ). I’ve been wanting to write about how I would use this new feature, and I decided to take this opportunity to do so.

In this post, I will be describing two examples in which I used GINQ. The first requirement I faced on a recent project of mine and demonstrating how I used GINQ to fulfill it. A quick disclaimer: this is not a tutorial on GINQ. This blog is merely a discussion of how I’ve used GINQ and how I plan on making it part of my toolkit.

Groovy 4

Back in the Groovy 4

Rik Scarborough Articles, Development Technologies & Tools, Groovy, Java, Spring Leave a Comment

When I heard that Groovy 4 is coming out, I decided to get ahead of it. I went online to explore what new features we were getting and how I could start using them in my own code.

This article will not be a full list of the new features of Groovy 4; there are simply too many for one post. This post will simply be my thoughts on a select few of those features and how I would plan to use them.

Let’s get started!

Updating Microservices with Netty 5, Kafka 3, and React: Whirlpool Revisited

John Boardman Articles, Development Technologies & Tools, Java, JavaScript, Microservices, React Leave a Comment

Back in 2015 and 2016, I wrote two blogs that went step by step to develop a microservice/Netty architecture with fully working code called Whirlpool.

A lot has changed in the years since, so recently I decided to come back to the project, update it with the latest versions of Kafka and Netty, and add a React UI to it (rather than the vanilla JavaScript version it used before). In addition, I also added Windows Subsystem for Linux (WSL) scripts in addition to the Mac and Linux scripts that were there before and made all of the scripts more robust.

This blog will be about the work that went into all of those updates, plus a look at the new React UI. This provides an excellent view into what it takes to update an outdated microservices application implemented with Kafka (version .9 –>3.0) and Netty (4.1.3->5.0.0-alpha2), bringing all versions up to date and adding a React UI. By the end youโ€™ll be familiar with the latest versions of these frameworks, know some โ€œgotchasโ€ to avoid, as well as understand how to integrate WebSockets into React.