WebSphere Application Server & Liberty

 View Only



LinkedIn Share on LinkedIn

Modernizing clustered, session persistent WebSphere applications

By Scott Johnston posted Fri June 12, 2020 07:23 PM

  
When I last discussed the Migration Toolkit for Application BinariesI told you how we extended the binary scanner's analysis capabilities to examine application configuration information and output configuration files to facilitate moving applications from traditional WebSphere Application Server (tWAS) to Liberty or to newer versions of tWAS. Since then, we added a couple more features to provide more complete evaluation of applications. In this article, I will discuss how scanning the shared libraries used by applications has been extended and a new Operational Considerations section that was added to the Application Inventory report which provides advice for setting up qualities of service in a Kubernetes environment that are similar to those that the application may be using in WebSphere Application Server Network Deployment edition (WAS ND).

To refresh your memory, when the binary scanner finds application configuration information associated with an application in a traditional WebSphere Application Server environment, the scanner generates configuration files that are specific to each application scanned for the new target environment. The --generateConfig action now also supports the --sharedLibraries option, just like the --inventory action does when generating the Application Inventory report. While generating config for a single application, the --sharedLibraries option can be set to a comma-separated list of shared library paths used by the application. For example: 

> java -jar binaryScanner.jar /myAppPath/myApp.ear --generateConfig --sharedLibraries=/dir1,/dir2/sharedLib.jar

Alternatively, to have the binary scanner find and analyze external dependencies during the application scan, use --detectSharedLibraries along with the absolute or relative path to a single *.ear or *.war archive as in the following example: 

> java -jar binaryScanner.jar /myAppPath/myApp.ear --generateConfig --detectSharedLibraries

Using --sharedLibraries or --detectSharedLibraries requires that the application configuration is available to the scanner. I
f the application is not located in a traditional WebSphere environment or the configuration is not detected automatically, you can use the --configLocation option to specify the location of the WebSphere profile where the application configuration is located. For example: 

> java -jar binaryScanner.jar /myAppPath/myApp.ear --generateConfig --configLocation=/backups/{WASHome}/profiles/profileName --detectSharedLibraries

Be aware that using --detectSharedLibraries to make binary scanner identify and locate all the shared libraries an application uses might result in longer scan times and could impact the performance of your server. Using --sharedLibraries restricts the scan and analyses to only those libraries and paths that you specified. Additionally, it is recommended that scans be run on servers that are not being used for production workloads. 

After analyzing the configuration from a traditional WebSphere environment, the binary scanner now automatically adds a new Operational Considerations section to the Application Inventory report. This section of the Inventory report provides an overview of the operational services used by the application within each deployment target. The following image shows an example of what the Operational Considerations Overview section looks like for a simple application deployed to a stand-alone server profile of WAS ND. 

New Operational Considerations Overview section for a simple applications.

If the application is deployed to WAS ND and utilizes certain Network Deployment qualities of service, such as static clustering or session replication, then additional advice is provided for reproducing similar functionality in a containerized environment that might be managed by Kubernetes, such as Red Hat OpenShift Container Platform. The following image shows an example of what the Overview section looks like for an application that is clustered and utilizes session replication. 

Operational Considerations Overview section for a clustered applications which uses session replication.
Following the Overview, additional sections are provided for each of the Network Deployment qualities of service that were detected. In the current example, the first section provides advice about clustering. The binary scanner detected that there are two cluster members, so it recommends setting up at least two replicas in the target Kubernetes environment, and even links to the Open Liberty Operator documentation for instructions on configuring the replicas.

Operational Considerations Static Clustering section
The binary scanner also detected that the application uses session replication. In this case, two possible solutions paths are described for setting up equivalent functionality in the target environment, one solution (JCache) is specific to Liberty while the other (database) is applicable to either Liberty or traditional WeSphere deployments.

Operational Considerations Session Replication section
These same operational considerations will be available in the Liberty analysis reports available in the tWAS admin console with the release of fix packs 8.5.5.18 and 9.0.5.5 and in the reports generated by IBM Cloud Transformation Advisor version 2.2.0 and higher

I encourage you to watch a short modernization demonstration (6 minute) that was recorded for the virtual IBM Think 2020 conference that walks through using Transformation Advisor and IBM Cloud Pak for Applications to modernize a clustered, session persistent application for running in Liberty containers on Red Hat OpenShift Container Platform while retaining the same qualities of service that were originally provided by traditional WAS ND. Afterwards, please give this new functionality a try for yourself and then use the comments section below to let us know what you think about it. Also, feel free to tell us about other qualities of service that are essential to your applications that you would like help with configuring as part of your modernization efforts.   

0 comments
51 views

Permalink