Workshop: Modernizing IBM WebSphere Applications

There are several examples showing how to modernize WebSphere applications. The best one I’ve found so far is the “Customer Order Services” application which is a simple store-front shopping application.

Overview

The application is an older Java EE application using a three tier architecture, Java EJBs, Dojo for the web frontend and DB2 databases. Check out the description for more details. This is the web application:

The workshop describes how to modernize a WebSphere traditional 8.5 application in two steps:

  1. Containerize the application and run it as-is on OpenShift
  2. Update application to Liberty and modernize it with MicroProfile

At this point there are two versions of the workshop describing slightly different functionality which is why I refer to both below.

1. Deploy WebSphere Application on OpenShift

The WebSphere 8.5 application is converted to WebSphere traditional 9.0 with the Transformation Advisor without changing any code. After this it is put into a container and configuration files are created to deploy the app on OpenShift.

2. Convert WebSphere Application to Liberty Application and deploy it on OpenShift

In this second step the application is converted into a Liberty application with Transformation Advisor. Only a couple of lines of code have to be changed, esp. the EJB code.

Additionally the app is ‘cloud-natived’ via MicroProfile so that it can leverage capabilities of the Kubernetes orchestration framework:

  • Health checks
  • Security and Keycloak
  • External configuration and secrets
  • Metrics

To run this workshop you need an OpenShift cluster. You can either use CodeReady Containers locally or Red Hat OpenShift on IBM Cloud.