Encrypting Working Files Locally in Spring Batch

Rik Scarborough Java, Spring, Spring Batch, Technology Snapshot Leave a Comment

It seems that quite often we read stories in the news about computer systems being cracked and data being compromised. It’s a growing concern that should be a consideration for everyone in Information Technology. There is probably not just one solution that will keep all data safe, but hopefully small efforts in many areas will provide us with the best possible solution.

In this post, I show a solution for encrypting sensitive files for local use with Java’s Encryption library & tying directly into Spring Batch readers and writers.

The Scenario
Recently we began writing a Spring Batch application that would handle sensitive data. The application servers were set up with some very good, basic security, but we felt the data could use some extra protection.

The data would be delivered to the company on a well-protected and secure FTP server. Mark Fricke did an excellent post recently on Spring Integration and Spring Batch in which he discusses downloading an encrypted file from a FTP server and decrypting it. Unfortunately, this was not exactly the problem we had. We needed to download a unencrypted file, but never write it to the Application Server unencrypted. But, we needed to be able to read that file and process it in Spring Batch.

Using Java’s built-in cryptography, we are able to extend Spring Batch to encrypt the file on the disk and then read that file in a Spring Batch Reader. In addition, we can write the results out as an encrypted file then transfer that file back to the secure FTP server as clean text.

Wow, that sounds like a lot and will be a really complex solution. Actually the code turned out to not be all that complex. This solution relies partly on the Delegate Pattern I wrote about before, so I will be using the same code I developed for that and just showing the changes here. Please refer back to the original post…



Explosive Tutorial With Unity3D and VRTK

Robert Rice .NET, Technology Snapshot, Tutorial Leave a Comment

Opinions on the emerging Virtual Reality market vary. One one end, there are those who say it’s just a gimmick and will pass shortly. On the other end, there are those who herald it as the birth pangs of a paradigm shift in how we interact with technology.

I sit somewhere in the middle. I own an HTC Vive and it is pretty dang awesome. The experience is not perfect, of course, but with interest growing and prices coming down, it’s just going to get better.

One expression of VR’s growing popularity is that Unity3D supports VR programming. And, with the free VRTK (Virtual Reality Tool Kit) framework, it’s becoming much easier to get started programming for VR. VRTK implements many basic components, such as various movement implementations, object interaction, and projectiles.

Working on a fun little side project, I noticed one implementation it did not have: a virtual reality bomb. So, I set upon to create one myself. This post details the process I went through for creating a timed, throwable, explosive object for virtual reality using Unity3D & VRTK.



Advanced Node.js Process Management with PM2

Matthew Brown JavaScript, Node.js, Technology Snapshot, Tutorial Leave a Comment

If you’ve worked on any front end applications recently, you have likely had some contact with a Node/Express application. What you may not be familiar with is how these applications are managed in production.

I recently had a project where I needed to set up a Node application on an AWS server. I needed a tool to solve the technical challenges of managing the Node processes and deploying the application in a very efficient manner.

I chose PM2, which is a handy process management tool for running Node.js applications in production environments. PM2 provides a simple command line interface that makes it easy to get started. This powerful Node module has tools for managing application processes, logging, and more.

In this article, I provide an introduction to PM2, showing why it is such a valuable tool for managing Node.js applications. By way of a reference example application, we show the basic features and commands for using PM2 and give examples of generating configuration files for both running and deploying applications.



The Joy of Forms with React and Formik

Mat Warger JavaScript, React, Technology Snapshot, Tutorial Leave a Comment

React is a JavaScript library for building user interfaces. That’s it. It’s a way to use JavaScript to define UI elements based on user-defined properties and internal state.

It has a clean, functional style. You can create simple components that compose very well into larger components, which you can then use to compose pages and entire applications. This simple composability is one of the main reasons I enjoy working with it.

But, it is not an application framework. It doesn’t pretend to be. This can be useful when all you want is some quick UI. But, as the application grows, you will need to depend on outside libraries for things like state-management, routing, and forms.

In this article, learn how to handle form input with React, from basic form input using simple state through advanced form components using Formik….



Getting to Know Custom CSS Properties

Lawrence Chabela CSS & HTML, Technology Snapshot Leave a Comment

CSS custom properties are very powerful way for you to spice up your style sheets. They are a way to separate JavaScript behavior and styling, as shown in the ability to set information in the JavaScript for the CSS to use for its styling.

Even if you’re using a preprocessor for your CSS, there is still a place for CSS custom properties to be directly embedded in your CSS.

In this blog: we introduce custom CSS properties, show why you want to use them, how to define them, and how to change them with and without JavaScript.