
Understand monolithic applications, a single unified code base where UI, business logic, and data access run in one deployment, using ear packaging and wars on app servers.
Explore how microservices break applications into independent modules and deployments, enabling easier debugging and scaling. Understand decoupled data, cloud-native design, and container deployments that support fast startups.
Explore the evolution from heavyweight monolithic application servers to lightweight modular servers like WebSphere Liberty and Open Liberty, highlighting faster startup, modular deployments, and container-friendly microservices with CI/CD pipelines.
Discover how WebSphere Liberty provides a lightweight, modular Java application server for cloud-native, microservice deployments with declarative server.xml configuration and Jakarta Enterprise Edition compatibility.
Explore Liberty kernel, the minimal runtime that forms the foundation of all liberty editions. Add microprofile or Java enterprise features on top, building the enterprise capabilities you need.
Explore WebSphere Liberty editions, focusing on Liberty base's web profile that extends the kernel with servlets, JSP, JPA, JAX-RS, and CDI for enterprise web applications.
Discover liberty core micro profile edition, which adds config api, health metrics, monitoring, fault tolerance, and jwt authentication, and is optimized for microservices on containers and api platforms like OpenShift.
Explore how Liberty editions scale from base and core to Liberty network deployment. Learn high availability clustering, intelligent routing, centralized management with the collective controller, auto scaling, and zero-downtime updates.
Explore WebSphere Liberty prepackaged distributions and editions, from the lightweight kernel to Jakarta EE 10 and Jakarta EE 8 web profiles, choosing features for microservices, web apps, or enterprise applications.
Choose the right WebSphere Liberty edition based on your application's needs and deployment environment, from Jakarta enterprise edition to kernel edition for containerized microservices.
Choose Jakarta EE 10 for new cloud-native or REST apps with modern APIs. Use Jakarta EE 8 or web profile for migration or smaller runtimes; Liberty kernel suits OpenShift microservices.
Download WebSphere Liberty and OpenLiberty from the IBM portal, explore Docker and Maven/Gradle download options, and learn downloading Jakarta EE versions for cloud-native Java microservices.
Understand how OSGi provides a modular, bundle-based runtime for Liberty, enabling dynamic feature loading, lightweight startup, and on-demand loading of only the required bundles such as servlet and JDBC.
Learn to install Java (JDK 11 or 17), set JAVA_HOME and PATH, and install WebSphere Liberty Jakarta EE10, choosing full or web profiles, plus unzipping WLP and updating bashrc.
Navigate the WLP root to grasp the bin, lib, and templates structure, and learn how server.xml, drop-ins, apps, logs, and work area support deployment and debugging.
Unzip the WebSphere Liberty package, install a compatible JDK, and use the bin directory to create and start a Liberty server instance or prepare for IBM HTTP Server integration.
Understand the Liberty server.xml, configure FeatureManager to load desired features, secure with encoded passwords and key stores, and manage deployments with the application manager.
Deploy war files to Liberty, enabling web applications, JSP, REST services, and static content. Explain how web.xml in web.inf defines servlet mappings, URIs, cookies, sessions, and application details.
Explore enterprise archives (EAR) in Liberty, including war and EJB Lite modules, shared jars, and the application.xml deployment descriptor that maps web modules and context routes.
Explore how IBM WebSphere Liberty uses JAR packaging for EJB lite and utility modules, load-only features for web apps, and avoid full EJB and unnecessary libraries to stay lightweight.
Enable the JCA resource adapters feature in server.xml to allow Liberty to load adapters via OSGi, and use them to connect applications with MQ client libraries via connectors.
Discover loos applications in Liberty, exploded directories for development-only deployment without war files. Copy the app folder to Liberty's drop-ins to enable automatic scanning, hot reloads, and on-the-fly updates.
Discover how deployment descriptors guide Liberty deployments, including web.xml, application.xml, and liberty-specific server.xml. See how EAR/WAR packaging uses persistence.xml, EJB-jar.xml, and RA.xml to configure data sources and resource adapters.
Learn how Liberty-specific descriptors work, focusing on server.xml, bootstrap.properties, and jvm.options, and how config drop-ins enable environment-specific overrides without editing the main configuration.
Create a Liberty server, deploy a WAR into drop-ins, and watch auto-expansion. Observe web profile feature loading and debug mode behavior for quick testing.
Configure a Liberty server using a Java EE template, install required Java EE features with the install utility, and deploy an EAR with multiple web modules to the drop-ins folder.
install nginx on a linux server with dnf, verify version and dependencies, enable and start the systemd service, and understand master and worker processes.
Explore nginx configuration basics, including server blocks, listen ports, proxy_pass, and static versus dynamic content, while mastering access and error logs, mime types, and tls and firewall setup.
Deploy static content with nginx by configuring root paths, reloading services, and serving multiple apps like Cloud Sync and Parallel Dev, while inspecting access.log for status codes.
Learn name-based virtual hosting with nginx by configuring two site blocks and separate document roots, including server blocks, host names, root, index.html, and basic logs.
Configure a single domain to serve multiple applications with path-based routing in nginx, using site 1 and site 2 with dedicated location blocks and a root redirect option.
Combine name-based and path-based url access in Nginx to serve multiple applications under one domain. Configure site1 for path-based access and site2 for name-based subdomain access, then reload and test.
Explore Liberty's AppSecurity 2.0 and 3.0 for authentication and authorization with LDAP/AD integration, securing web resources. Leverage JAX-RS, JPA, CDI, EL, and JSON binding for REST and data handling.
Externalize Liberty configuration with bootstrap.properties to override HTTP and HTTPS ports, reuse a single server.xml across environments, and enable seamless automation in Docker, Kubernetes, and CI/CD pipelines.
Externalize ssl and security parameters, plus database and logging configurations in bootstrap.properties for IBM WebSphere Liberty, reference them in server.xml, and maintain environment-specific bootstrap files for dev, uat, and qa.
Understand the Liberty work area directory as a temporary runtime workspace that caches JSP compilation outputs, OSGi metadata, and generated XML to speed startup, with safe deletion and automatic rebuild.
Explore high availability, clustering, failover, and session management in Liberty. Learn how decentralized Liberty servers with load balancers enable cloud-native, stateless microservices, with distributed configuration and four high-availability patterns.
Explore the four primary high-availability patterns in Liberty: active-active with load balancer, blue-green, rolling updates, and canary release, relying on multiple servers, load-balancing routing, and externalized session or data storage.
Implement the active-active high availability pattern for IBM WebSphere Liberty where all stateless instances handle requests. Use a load balancer with microprofile readiness and liveliness endpoints in container-based platforms.
Explore blue-green deployment, using two identical environments—blue live production and green updated with a new version—to achieve zero-downtime releases and easy rollback via a load-balanced switch.
Learn rolling updates of Liberty nodes A, B, C behind a load balancer, canary release with weighted traffic using nginx or istio to detect issues early and minimize risk.
Explore four liberty server session strategies for high availability: stateless JWT, sticky sessions, database persistence, and distributed caching with Redis.
Set up a production-ready high-availability architecture using nginx as a reverse proxy load balancer, two Liberty instances on ports 9080 and 9090, and round-robin routing.
Set up two independent Liberty servers with Jakarta EE 10 and star host, deploy an EAR with two web modules to drop-ins, and verify access on 9080 and 9090.
Configure nginx to load balance and fail over using an upstream Liberty cluster with two backend servers, routing requests via proxy_pass in a server block on port 80.
Validate nginx load balancing for liberty servers 9080 and 9090 by using proxy_pass routing via the host header, and ensure failover keeps requests flowing.
Configure a lbformat in Nginx to capture load balancing details, set the nginx-liberty-access-log, and verify round-robin routing to Liberty upstream servers across 9080 and 9090.
Explore Liberty security architecture and its layered models, covering transport, authentication, authorization, and application security policies, plus how profiles load features and SSL/TLS, LDAP, SSO, JWT, and OIDC.
learn to create a keystore, generate a server certificate, configure SSL on liberty 1, and understand key pairs, certificate authorities, and the PKCS12 or JKS formats with keytool.
Create and manage a key store with a gen key pair using RSA 2048 and a 365-day certificate, assigning an alias and distinguished name for multiple certificates.
Configure a keystore and ssl in server.xml for Liberty, linking sample keystore and ssl configuration to enable https on port 9443, then validate with curl -k to accept self-signed certificate.
Extract private keys and certificates from a PKCS12 pfx using OpenSSL, convert to a JKS keystore, and assemble root and intermediate certificates for WebSphere, WebLogic, or JBoss.
Explore how JNDI provides data sources and connection pools in Java enterprise apps, enabling lookups, predefined connections, and efficient database access in app servers.
Discover the prerequisites for a WebSphere Liberty JDBC datasource, including a JDBC driver, JNDI name, and connection pool, then test the live MySQL connection with a sample app.
Install and secure a MySQL server on the Liberty host, set root password admin123, remove anonymous users and test database, then create Liberty DB, Liberty user, and a test table.
Download the MySQL JDBC driver, unzip it, and copy the jar file to the Liberty server lib directory.
Configure a lightweight WebSphere Liberty server with Jakarta EE 10 features, load a MySQL data source via JNDI, register the MySQL library, and tune the connection pool.
Tune jvm memory management in WebSphere Liberty to improve startup and stability by configuring heap (XMS/XMX), metaspace, and gc policies, including G1 GC, while monitoring for full GC and OOMs.
Learn how the Liberty JVM's self-tuning thread pool handles requests, identify blocking threads with thread dumps, and apply fixes to prevent hung threads, thread starvation, and slow responses.
Tune the database connection pool by sizing min and max connections and optimizing timeouts to prevent exhaustion and slow connections under concurrent load, and validate connections to minimize latency.
Tune WebSphere Liberty performance by enabling only required features in server.xml, minimizing startup time and memory usage, and optimizing logging with appropriate levels, rotation, and dynamic tracing.
Learn to tune the Liberty Java heap and garbage collection by externalizing JVM options in a jvm.options file, configuring XMS and XMX, and applying the G1 GC policy.
Configure GCLog to capture G1 gc details in the logs, then analyze Java heap memory and tune by resizing the Liberty server heap from 2 gb to 4 gb.
Diagnose hung and stuck threads in IBM WebSphere Liberty with threaddump and heapdump to locate deadlocks and starvation, then tune the self-tuning thread pool using cores, load, and database connections.
Configure the WebContainer thread pool in the wlp-user-liberty-servers-liberty1-server.xml, setting minimum 30 and maximum 120 threads, and tune dynamic allocation for WebSphere, EJB lite, and enterprise apps.
This comprehensive course is designed to take you from foundational concepts to advanced real-world administration of IBM WebSphere Liberty. Whether you are new to application servers or transitioning from traditional WebSphere, this training provides a complete, hands-on understanding of how Liberty works, how to configure it, secure it, troubleshoot it, and deploy applications in modern enterprise environments.
Starting with installation and initial setup, you will learn Liberty’s directory structure, modular architecture, server.xml configuration, feature management, logging, datasources, and application deployment models. You will then progress into advanced topics such as JVM tuning, GC optimization, thread and connection pool configuration, diagnostics, monitoring, clustering concepts, and high availability patterns.
The course also covers critical operational skills including reverse proxy integration with IHS/Nginx, LDAP and Active Directory authentication, SSL/TLS configuration. You will learn how to analyze logs, resolve startup and deployment issues, identify performance bottlenecks, and apply tuning best practices for production workloads.
With real-time scenarios, step-by-step demonstrations, configuration examples, and hands-on exercises, this course prepares you to confidently manage WebSphere Liberty in both on-premise and cloud environments—whether running on virtual machines, containers, Kubernetes, or OpenShift.
By the end of this course, you will be able to install, configure, deploy, secure, optimize, troubleshoot, and administer Liberty at an enterprise level, making you fully capable of supporting modern Java applications and cloud-native workloads in production.