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:
- Containerize the application and run it as-is on OpenShift
- 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.
- Modernization Playbook
- Workshop
- Modernization Playbook- How to use Transformation Advisor
- Workshop – How to use Transformation Advisor
- Modernization Playbook – Deploy DB2 container with ORDER database
- Modernization Playbook – Code
- Workshop – Code (branch was90)
- Modernization Playbook – Tekton pipeline
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
- Modernization Playbook
- Workshop
- Modernization Playbook – How to use Transformation Advisor
- Workshop – How to use Transformation Advisor
- Modernization Playbook – Deploy DB2 container with ORDER database
- Workshop – Code (branch liberty)
- Modernization Playbook – Tekton pipeline
To run this workshop you need an OpenShift cluster. You can either use CodeReady Containers locally or Red Hat OpenShift on IBM Cloud.