-
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.
-
User questions to answer:
- I need to move this app. What are my options?
- What is Liberty?
- What are the costs of Liberty?
- Do we own Liberty as a tWAS customer?
- Can I run my apps on Liberty?
- What's MoRE? EaseJ?
-
Implied questions to answer too:
- Which option is best for centralized management?
- What option is best if I want a console?
- How does my role change after we move to Liberty? (admins)
-
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)
- User questions to answer:
- How difficult will this migration be?
- How to use Liberty?
- If I want things to remain the same as much as possible to decrease app changes, what should I move to?
- How different is Liberty/MoRE/EaseJ from WebSphere?**
- Implied questions to answer too:
- Which option is best for centralized management?
(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?
- Spring and Spring Boot on Liberty
(Provide links out to detailed instructions in later sections.)
- Questions to answer:
- What skills do I need for the new solution? (eg cloud native)
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.
-
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)
-
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)
-
User questions to answer:
- What should I know before I start?
- What are the steps?
- What help do you provide in those steps?
- How long will the scan take?
- I have an idea where to deploy but I wouldn't mind learning more to make sure I'm saving costs and resources
- How is Liberty different that I have to make these changes?
- Which issues should I address first, second, third?
- What are the recommended steps to migrate?
- (How do I get more help?)
- After importing report into IDE, what can IBM fix and not fix?
- Will you have an auto-recipe for X soon?
- How much time will this take?
- What issues aren't covered?
- Where do I start with this complex app so I don't break it?
- ((get passwords from admin))
- What tools should developers use?
- Where do I download Liberty? (downloaded the wrong one)
- How can I track developer migration progress?
- What do I do about transaction management?
- (how to debug)
- I'm stuck. What should I do? (cannot resolve issues from report)
- Why didn't the report cover this issue?
- What's up with the multiple XML files?
- How to read the report (look at code in one window and report in another)
-
Implied questions to answer too:
- Who else should I give access to?
- Can I share information?
- Which tools do they need?
- How much does the scan cover? Can I control it?
- Are you showing all possible issues? Are there any missing? (in the visualisation)
- what's the variability in time estimation and contributing factors?
- Where are we getting our information from? What could be missing?
- Which app should I start with?
- What else should I do after the scan? (like, get workstation set up in IDE)
- How should I handle dependencies?
-
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)
-
User questions to answer:
- Where is this runtime available?
- Will this deployment solution help us save costs?**
- Do we want to manage the app ourselves?
- What should our modernization strategy be?
- What are my options if our resources and expertise are limited?
- What options have Federal Certification?
- What options are most secure?
- What are my options for having maximum control over sensitive information?
-
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 InitialContext or java:global lookups? |
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) |
Support for legacy versions of Spring and Struts | Open Source Library Support announcement |
(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