Application modernization with Node.js, the Source-to-Image toolkit, and OpenShift

Get the code

Summary

This code pattern shows how Kubernetes-based microservices modernize a traditional application, demonstrates steps to deploy an app on OpenShift Source-to-Image toolkit, and explores open standards, front-end technologies for custom charts and responsive design.

Imagine a fictional, conceptual healthcare or health insurance company that has been around for a long time. It has hundreds of thousands of patient records in an SQL database connected to a either a mainframe, or a monolithic Java back end. Our sample code shows health records that look very similar to the health records of most insurance companies.

Here’s a view clients might see when they log in: Screen capture of example health records app

The healthcare company has recently started understanding how machine learning on some of the patient records might surface interesting insights. Machine learning is a big interest and popular topic of discussion among large data companies.

Our example healthcare company has also heard a lot about cloud computing. The company has a lot of traditional code in the mainframe, and it works well for now… but the company’s leaders think it would be a complimentary opportunity to explore some machine learning in the cloud (either public or private).

Description

This sample project is a patient records user interface for a conceptual health records system. The application is programmed with open standards JavaScript and modern, universal CSS. It uses HTML5 Canvas for layout and is served by a simple Node.js Express Server.

The business rules for the system are written in either COBOL or Java. It includes some entitlement rules, prescription rules, coverage rules coded in that system.

In this code pattern, you learn the following skills:

  • A step-by-step guide for deploying the app on OpenShift Source to Image (S2I).
  • The versatility of Kubernetes-based microservices for modernizing traditional applications, for example, mainframe-based applications or classic Java app server applications.
  • Exploration of open standards front-end technologies for both rendering custom charts and using responsive design.

This project stands alone in test mode, or integrates with associated projects.

Flow

Health records application modernization with microservices and OpenShift S2I architecture flow diagram

  1. The get patient data action starts in the JavaScript Controller the REST endpoint.
  2. The REST endpoint retrieves data from one of three sources: test responses, the mainframe back end, or the Liberty back end.
  3. The application displays the patient data.

Instructions

Ready to get started? Find detailed technical steps for this code pattern in the README.md file in the GitHub repository.

  1. Create a Red Hat OpenShift on IBM Cloud™ cluster.
  2. Create a fork in the repository.
  3. Deploy your just-forked repository.