Fusing Web Stacks With COBOL Microservices – DEVELOPPARADISE
01/05/2018

Fusing Web Stacks With COBOL Microservices

Introduction

According to a 2015 report by Reuters1:

  • 43% of banking systems are built on COBOL.
  • 80% of in-person transactions use COBOL.
  • 95% of ATM swipes rely on COBOL code.
  • 220 billion lines of COBOL are in use today.

This application is a case study on Dockerizing a COBOL application for computing income taxes, and integrating it into a Dockerized web stack.

Prerequisites

Docker and docker-compose are needed to run the application. Installation instructions can be found at Install Docker and Install Docker Compose.

How it Works

This project is divided into several parts:

  • Web Tier
    • A React front end styled with Bootstrap running on Node.
  • API Tier
    • A RESTful API built with Python and Flask.
    • A COBOL shared library for computing income taxes compiled with GnuCOBOL.
    • Responsible for retrieving taxpayer information from PostgreSQL and natively passing that information into a COBOL subroutine to compute income taxes owed.
  • Data Tier
    • A PostgreSQL database containing taxpayer information.
  • Reverse Proxy
    • Using Træfik as a reverse proxy and load balancer.
  • Docker Compose
    • For orchestrating containers and pre-populating the database server.

Running the App

Start the application with the following command:

sudo docker-compose up -d

To view the front end navigate to:

http://web.docker.localhost

The database is pre-populated with taxpayer IDs in the range of 1 – 1000. Enter a taxpayer ID and click Submit.

History

  • 30/04/2018: Initial Release.