- 
                Notifications
    You must be signed in to change notification settings 
- Fork 1
Home
This wiki provides a collection of links to information about how to migrate a WebSphere Application Server application to run on Liberty.
The wiki is managed and curated by Laura Cowen, Technical Content Strategist and Developer Advocate at IBM. Contributions and feedback are welcome from WebSphere users and subject matter experts.
For more info about the wiki aims and how to contribute, see the README.
To search for information, use your browser's search in page feature (CTRL+F).
If there is something missing from the wiki, or you have information that would answer a question on the wiki, please raise an issue.
- WebSphere Liberty built on Open Liberty (WL docs)
- Economics of Liberty (issue)
- Intro to Liberty from a tWAS perspective (issue)
- Overview of various target platforms for apps and when to choose them (eg MoRE (Liberty with tWAS operations), EASeJ (Liberty on SaaS), Liberty on VM, Liberty in containers, etc) (issue)
- Liberty downloads and licensing options and guidance (issue)
- 6 Reasons for WebSphere Liberty (IBM Developer)
- Why cloud-native developers love Liberty (IBM Developer)
- Operations:
- Effortless updates require a zero-migration policy (article)
- Zero migration (OL docs)
- Grace's performance article based on Vijay's TechXchange talk (issue)
 
- Developers:
- Five Java Developer Must-Haves for Ultra-Fast Startup Solutions (article)
- Java Virtual Threads: A Case Study (article)
- Dev mode (OL docs)
- Dev mode (video)
- Easily enhance your modernized Java EE applications with Liberty and dev mode (video)
- Liberty Tools in Visual Studio Code (article)
- Developer Deep Dive of Liberty Tools for Visual Studio Code (video; we also have several short snippets)
- Liberty Tools in Eclipse IDE (Foojay.io) (article)
- Liberty Tools in IntelliJ IDE (Foojay.io) (article)
- Developer Deep Dive of Liberty Tools for IntelliJ IDEA (video)
- Liberty developer guides (OL guides)
 
- Liberty capabilities (programming models and services) are organized into modular features (OL docs)
- Liberty server configuration overview (OL docs)
- Liberty directories and properties (OL docs)
- Liberty architecture overview (WL docs)
- Liberty architecture overview, p8-20 (RB Liberty admin)
- 
Liberty "demystified" (internal)
- Write up and publish.
- Create videos? (either clip from Alasdair's or create new)
 
Deployment options:
- Deploying Liberty servers on traditional VMs:
- Deploying Liberty servers in containers
- 
WebSphere Liberty and Open Liberty table of features (slides) 
- 
MicroProfile (OL docs) - MicroProfile version support (WL docs)
 
- 
Jakarta EE and Java SE (OL docs) - Java SE support (OL docs)
- Jakarta EE 10 support (WL docs)
- Jakarta EE 9.1 support (WL docs)
- Jakarta EE 8 and Java EE 8 support (WL docs)
- Java EE 7 support (WL docs)
- Java EE 6 support (WL docs)
- Spring Boot support (WL docs)
 
- 
Liberty externals support (WL docs) 
- 
Liberty Tools for IDEs (OL docs) 
(LC: Ultimately, I think this would be more useful to be framed in terms of goals, as "I do it this way on WebSphere; how should I do it on Liberty?", rather than highlighting the differences.)
- Overview of architectural differences between WebSphere and Liberty. (issue) Based on sources:
- Overview of operational differences between WebSphere and Liberty (issue) Cover the following topics at a high level:
- Administrative interfaces (admin console, wsadmin scripting)
- VM vs container deployment
- Scaling
- Failover
- Centralized management
- etc? (see for list of topics Liberty "demystified" (internal))
 
(Provide links out to detailed instructions in later sections.)
- Overview of application framework differences (issue) Cover the following topics at a high level:
- Java SE versions
- Java EE / Jakarta EE versions
- Remote transaction propagation between remote EJBs
- ? Other things likely to be flagged by binary scanner?
 
(Provide links out to detailed instructions in later sections.)
While tWAS applications are largely compatible with running on Liberty, Liberty is not identical to tWAS. Before you start to migrate a tWAS application to run on Liberty, it is worth becoming familiar with writing and running apps on Liberty. WebSphere Liberty is built on Open Liberty; apart from a small number of additional capabilities in WebSphere Liberty, the WebSphere Liberty and Open Liberty runtimes are the same.
- Build a new app
- Getting started with Open Liberty (OL guide)
- Generate a start project (OL tools)
- Building applications with Maven and Gradle
- Creating RESTful web service (OL guide)
 
- Learning more about writing and deploying applications on Liberty
- Securing applications (OL guide)
- Accessing data from Liberty applications (OL guide)
- Test tools (OL guide)
- Containerizing applications on Liberty (OL guide)
- How to package your cloud-native Java application for rapid startup (OL blog)
 
See Other resources for more help.
- What is application modernization? (concepts on ibm.com)
- Java Application Modernization Playbook
- Tour of App Mod Playbook (video)
- Getting started with application modernization (IBM Developer; needs updating)
- Modernizing applications to use WebSphere Liberty (IBM Developer; needs updating)
- Tools to help you migrate to Liberty (issue)
- WebSphere Migration Knowledge Collection (needs reviewing)
- Migrating WebSphere Traditional Versions (needs reviewing/updating)
- Migrating to Liberty (needs reviewing/updating)
- Migration info in WebSphere docs (docs)
- Scanning estate and choosing an application for migration, create migration plan (issue)
- Follow migration plan in AMA (show examples or what it provides); "I've got the AMA bundle, what do I do with it?" (issue)
- AMA, Dev Tools, WCA4J...
- Application Modernization Accelerator (docs)
- AMA update and demo (Application Modernization Accelerator) (video)
- Dev Tools
- WCA4J
 
- Recommended order of steps and what to look out for (issue)
- eg migrate then update Java version, types of issues the migration report covers and what it doesn't, where to start when you receive the report)
 
- Matrix of Liberty features with levels of other IBM products (issue)
- 
What to do when, suggested sequence of steps (issue) 
- 
Getting Liberty and deployment solutions (MoRE, EAR, EASeJ, Liberty on containers) 
- 
Best practices for setting up operations for Liberty when coming from a tWAS operational environment (issue) 
- 
Liberty on VMs - KevinP's labs (internal; issue)
 
- 
Liberty in containers - Best practices running Liberty in containers (Kevin G talk) (internal; issue)
- KevinP's labs (internal; issue)
- cloud deployment guides (OL guides)
- Kubernetes guides (OL guides)
- Running WebSphere Liberty in a container (WL docs)
 
| Topic | Resources available (description, link, and type) | Sources of info to create missing resources | 
|---|---|---|
| Operations: Moving from Admin Console to Liberty admin center, EAseJ, MoRE, etc. | (issue) | Alasdair's "demystified" presentation (internal; issue); Liberty Admin Center; WebSphere admin console; wsadmin scripting; | 
| Operations: How to secure the server configuration on Liberty | Security Configuration Hardening docs | |
| Operations: How to do centralised management in Liberty | Alasdair's "demystified" presentation (internal) | |
| Operations: How to load-balance across Liberty servers | Alasdair's "demystified" presentation (internal) | |
| Operations: How to manage plugin config of dynamic routing in Liberty | Alasdair's "demystified" presentation (internal) | |
| Operations: Licences and entitlement to run Liberty | Alasdair's "demystified" presentation (internal) | |
| Operations: Messaging engine compatibility between tWAS and Liberty | ||
| Operations: How to script deployments on Liberty | Alasdair's "demystified" presentation (internal) | |
| Operations: How to do HTTP session persistence on Liberty | Alasdair's "demystified" presentation (internal) | |
| Operations: How to tune Liberty performance | Threadpool tuning Liberty; Performance tuning Liberty; Faster responses with HTTP response compression on Liberty; Pre-populating database connections for better response times in the cloud; Common performance tuning; Some known migration issues mostly around performance(mostly tWAS to tWAS but some Java and Linux related points that would apply to going to Liberty on a newer Java); | |
| Operations: Liberty on z/OS | Consider enabling SMF 120 records: HTTP requests may be monitored with SMF 120 subtype 11 records. These records are enabled by adding the zosRequestLogging-1.0 feature to the server configuration and enabling SMF to capture those records. Java batch jobs may be monitored with SMF 120 subtype 12 records. These records are enabled by adding the batchSMFLogging-1.0 feature to the server configuration and enabling SMF to capture those records. Consider WLM classification: zosWlm-1.0 | |
| Enable hardware cryptography | Java 8, Java 11, Java 17, or Java 21 | |
| Operations: How to run older programming models on Liberty | (issue) | |
| Operations: How to do high availability (HA) on Liberty | Alasdair's "demystified" presentation (internal) | |
| Operations: How to move to Liberty without going to the cloud | (issue) | |
| Operations: Can I use Liberty in exactly the same way as tWAS? | (issue) | |
| Technical | Alasdair's "demystified" presentation (internal) (covers deploying on VMs, centralised mgment, admin console, scripting, IBM HTTP Server config, HA support, performance, licences, TA/AMA, cost) | |
| Technical: Scaling, administration, clusters | Alasdair's "demystified" presentation (internal) for overview | |
| How to optimize routing setup for HTTP routing (eg F5, NGINX, Apache mod_rewrite)? | (issue) | |
| How to design continuous integration builds with Liberty's Maven plugin? | (issue) | |
| Issues to look out for, differences between WebSphere and Liberty and how to handle them | (create post from Monica and Barbara's presentation, issue) | |
| Managing Deployment Scripts without WAS ND | Alasdair's "demystified" presentation (internal) | |
| Issues to look out for, differences between WebSphere and Liberty and how to handle them - Deploying Liberty on VM’s (Collectives or HTTP Proxy) | Kevin's lab (internal) | |
| Issues to look out for, differences between WebSphere and Liberty and how to handle them - How to configure Hardware Security Module (HSM) on z/OS on IBM Java on Liberty | (issue) | |
| Hands-on demos/labs | Tech Zone demos, VMs, presentations; Liberty to VMs; Liberty to OCP (internal, issue) | |
| How to migrate clusters, in particular session management and failover logic? | (issue) | |
| How to update deployment pipelines for Liberty? | (issue) | 
Tips: sequence and “how” for known cases What to do when, suggested sequence of steps
- Migrate and then update Java version
- Issues to look out for, differences between WebSphere and Liberty and how to handle them
- Transaction management
- Managing Deployment Scripts without WAS ND
- Deploying Liberty on VM’s (Collectives or HTTP Proxy)
- Remote transaction propagation between Remote EJB’s not supported
| Topic | Resources available (description, link, and type) | 
|---|---|
| Issues to look out for, differences between WebSphere and Liberty and how to handle them - Transaction management | [add resources here] | 
| Transaction Propagation between Remote EJB’s not supported | Transaction propagation on Liberty | 
| How to migrate SOAP endpoints using JAX-RPC? | Automating JAX-RPC source code migration | 
| How to migrate authentication using DatabaseServerLoginModule? | (issue) | 
| How to validate migrated Filenet connections? | (issue) | 
| How to migrate WebSphere SIBus JMS messaging? | (issue) | 
| How to migrate hardcoded InitialContextorjava:globallookups? | See InitialContext and java:global lookups (issue) | 
| How to migrate legacy Spring and Hibernate frameworks that don't support Java 17? Are there common pitfalls? | (issue) | 
| What are the differences in WAR structure and classloader locations between tWAS and Liberty? | (issue) | 
| Does it matter if some apps use javax and others use jakarta? Is it necessary to migrate fully to Jakarta 10? | (issue) | 
| How to validate integrations after migration? | (issue) | 
| How to manage third-party dependencies (JARs) in Liberty? | (issue) | 
| How to transition existing dashboards and alerts from WebSphere and other inputs to Liberty's JSON logging, MicroProfile Metrics, and OpenTelemetry? | (issue) | 
| How to migrate certificates from WebSphere to Liberty's TLS setups for keyStore and SSL? | (issue) | 
| How to transition WARs/EARs to Liberty? | (issue) | 
| How to configure AD, LDAP, SPNEGO, SAML, OIDC on Liberty? | (issue) | 
| Any compatibility issues to watch for moving from Java 8 (Oracle or IBM) to Java 17 (OpenJDK distributions)? | (issue) | 
| How to automate JAX-RPC source code migration | 20250109 CAB session - Automating JAX-RPC source code migration (video) | 
| How to run Spring Boot apps on Liberty | How to Containerize Your Spring Boot Application for Rapid Startup (DZone.com); Running a Spring Boot 3.x application WAR file on Liberty; all Spring Boot blog posts on openliberty.io; missing: "a complete demo/guide that connects our three flagship enterprise products (WebSphere, DB2, MQ) with a spring boot application using Liberty InstantOn to scale to zero on OpenShift and then also show how Semeru cloud compiler can be enabled with Liberty operators to reduce rampup time even more efficiently."; Spring Boot performance (internal; issue) | 
(these should be organised/presented according to what they demo and/or by industry, etc so they're easily retrieved)
- How to deploy an Open Liberty InstantOn app to OpenShift Local
- Modernizing Software Architecture with MicroProfile and Open Liberty
- Open Liberty in Action - Primeur’s data integration platform
- PowerM
- Blue Cross Blue Shield of South Carolina
- Redbridge
- FlowFactor
- FlowFactor re InstantOn
- Hera Spa; IDC report of dev efficiency with Liberty; Bernhardt
- Alinma Bank
- Financial institution in Saudia Arabia
- Carey International
- Discover
- IBM CIO org
- IBM CIO org 2
- Canon Europe
- GBM
- Training - developers
- Liberty Developer Essentials badge (free badge developers can earn through Credly)
- IBM Certified Developer – Cloud Native Java with IBM Liberty (certification exam)
 
- Training - operations
| Topic | Resources available (description, link, and type) | 
|---|---|
| OSS libraries | [add resources here] | 
| Documentation | Liberty docs (apply to Open Liberty and WebSphere Liberty; WebSphere Liberty docs (for features only available in WebSphere Liberty) | 
| What's new in Liberty? | Open Liberty release blog posts; Quarterly webinars; Open Liberty LinkedIn page | 
| Online forums | WebSphere & Liberty TechXchange community; WebSphere & Liberty Customer Advisory Board (CAB) TechXchange community | 
| Videos | Laura's backups of ExpertTV etc (internal); Grace's video audit (internal) Videos cover topics listed on this whole page but all videos probably need updating. | 
- I can do x on tWAS, how do I do x on Liberty?
- Liberty operations for a tWAS operator
- Code changes probably not needed...but if they are...
Each link is labelled to indicate its format:
- OL docs: Open Liberty docs
- OL guides: Open Liberty developer guides
- OL tools: Open Liberty starter and Liberty Tools for IDEs
- OL blog: Open Liberty blog
- WL docs: WebSphere Liberty docs
- docs: Other official product docs
- IBM Redbooks
- IBM Developer: article or tutorial on developer.ibm.com
- slides: various presentation slides
- video: video on YouTube or IBM site
- article: article on non-IBM website
- internal: currently IBM-internal only
- wip: work in progress
Footer