8 Keys to Failproof App Modernization

"God was able to create the world in seven days because God didn't have to worry about legacy” – Enzo Torresi.

Enterprise customers, unfortunately, do not have that luxury. They must deal with legacy in various degrees of complexity and scale. This article presents a practitioner’s perspective of the trends, good practices and gotchas that one must watch out for in a complex (legacy) application modernization program.

Transforming TCP Sockets to HTTP With Go

Sometimes, we need to work with legacy applications, and legacy applications can be hard to rewrite and change. Imagine, for example, we have an application that is using raw TCP sockets to communicate with another process. Raw TCP sockets are fast, but they have various problems. For example, all data is sent in plain text over the network and without authentication (if we don’t implement a protocol).

One solution is to use HTTPS connections instead. We can also authenticate those requests with an Authentication Bearer. For example, I’ve created a simple HTTP server with Python and Flask:

Developing Loosely Coupled Micro Frontends via RxJS

My last article Developing Micro Frontends with Single-Spa explained how to break down monolithic web applications in micro frontends using single-spa. In order to ensure loosely coupling between the micro frontends, I’ve used RxJS in my sample application.

This article is part of a series of articles that documents how to modernize a sample Java EE application from 2010 with modern technologies. The sample application is a simple e-commerce application. The original application and the source code of all subsequent modernization steps is available as open source on GitHub.

Securing Legacy Apps With OAuth 2.0 and Spring Cloud Gateway

Do you find it painful to modernize your old, form-based logins? It doesn’t have to be that way. The lack of support in the underlying framework can make adding OAuth 2.0 support to legacy applications tough, but this blog post will show you a low-code way to use Spring Cloud Gateway and Okta to secure your legacy apps.

Learn how to set up Spring Cloud Gateway as a standalone application that proxies HTTP requests and handles OAuth before sending the request to your app.

The Challenges of Legacy Software

We – as a software provider ourselves – see legacy software all the time. It can’t be neglected that a lot of enterprises still run business-critical workflows, customer-facing applications, and other important applications on outdated solutions.

There are many challenges and threats that come with maintaining legacy software.