WebSphere Application Server Liberty Core overview
WebSphere® Application Server Liberty Core is a lightweight Liberty-based edition. With WebSphere Application Server Liberty Core, you can rapidly build and deliver web applications that do not require the full Jakarta EE stack.
Liberty Core is based on the developer-friendly WebSphere Application Server Liberty. By using Liberty Core, you can create applications that correspond to Jakarta EE and Java™ EE Web Profile specifications. You can quickly develop and deploy Web Profile-centric applications so that your business can respond quickly to enterprise and market needs. The capabilities that Liberty Core provides are a subset of the capabilities that are provided in the WebSphere Application Server Liberty and WebSphere Application Server Network Deployment Liberty editions.
- A lightweight edition, which contains the subset of Liberty that corresponds to the Jakarta EE Web Profile specification.
- Excellent development and production runtime environments for web applications.
- A smaller footprint for faster download and startup, giving more development time and faster time to deployment.
- Ease of packaging applications for deployment, including configuration.
- The ability to run applications that are written for Liberty Core on WebSphere Application Server traditional and Liberty.
- The ability to extend the Liberty capabilities by adding custom features that use a product extension System Programming Interface (SPI).
The Liberty Core edition focuses on Web Profile capabilities such as servlet, JSP, JSF, and EJB-Lite. Liberty Core has a different programming model from other WebSphere Application Server editions. For example, Liberty Core does not include Java Message Service (JMS) or Web Services, making Liberty Core edition lightweight and focused on the capabilities that are needed to deliver Web Profile applications.
WebSphere Liberty and Open Liberty
Most Liberty features and capabilities are now documented on the Open Liberty website. However, capabilities that are specific to WebSphere Liberty and some older features and capabilities are documented only in the WebSphere Liberty documentation. Features that are valid for both runtimes are documented in both WebSphere Liberty and Open Liberty, although the extent of what is documented about a feature can vary between the two documentation sets. For more information, see Where to find Liberty documentation.
Open Liberty is open source and free to use. However, when you purchase a WebSphere Application Server or WebSphere Application Server Network Deployment license, you also get IBM support for your Open Liberty instances.
A flexible runtime with a focus on developer experience
Liberty is a flexible solution for developing and deploying all kinds of applications. Its modular structure is based around features, which enable the runtime capabilities your application needs. Whether you’re developing cloud-native Java microservices with MicroProfile, or modern monolithic applications, enable the features that you want and Liberty automatically adds any dependencies for you. For a list of Liberty features, see Liberty features. You can also create your own features, as described in Extending Liberty.
Liberty helps you to be productive with tools of your choice. Liberty Tools are intuitive developer tools for the Eclipse IDE, Visual Studio Code, and IntelliJ IDEA development environments. These tools enable fast iterative development with Liberty dev mode and either Maven or Gradle. They also provide code completion, hover descriptions, and configuration diagnostics for MicroProfile API, Jakarta EE API, Liberty configuration, and Java files. For more information, see Develop with Liberty Tools.
In dev mode, Liberty automatically detects changes in your code, compiles them, and deploys them to your running server. You can also run tests on demand, or even automatically, so that you get immediate feedback on your changes. For more information, see Dev mode.
You can get the Liberty runtime in your internal development environment (IDE) or include it in container images by using Maven or Gradle.Liberty provides custom plug-ins for Maven and Gradle. You can pull all the Liberty runtime files that you need from Maven Central and quickly and repeatedly build your code with dev mode.
Deployment of Java applications to the cloud, on VMs, or bare metal
You can deploy applications that run on Liberty in a container to a Kubernetes platform such as Red Hat OpenShift, Azure Kubernetes Service, Elastic Kubernetes, or a cloud provider of your choice. For more information, see Running WebSphere Liberty in a container and the Open Liberty deployment guides.
Use the WebSphere Liberty operator to deploy and manage WebSphere Liberty applications that run in Kubernetes-based clusters. For applications that run on Open Liberty, use the Open Liberty operator. You can also use either operator to gather traces and memory dumps.
Alternatively, you can deploy applications that run on Liberty on VMs or bare metal, as described in Deploying applications in Liberty.
Liberty continuous delivery
A new version of Liberty is released about every 4 weeks. This predictable continuous-delivery release cycle provides a clear expectation of when a new release is available and simplifies keeping up with the latest security fixes and updates. For more information about the Liberty release cycle, see Single Stream Continuous Delivery (SSCD) Software Support Lifecycle Policy: WebSphere Liberty.
With zero-migration architecture, the existing APIs and behaviors that your application relies on are preserved and supported in each new release. In just a matter of minutes, you can move to the latest version of Liberty without having to change your application code or configuration.
You can also easily update applications that run on VMs or bare metal to a new Liberty version, either by using IBM Installation Manager or by extracting downloaded archives. For more information, see Installing Liberty.
- JSON Web Tokens
- OpenID Connect
- Security Assertion Markup Language (SAML) Web
- Simple and Protected GSS-API Negotiation Mechanism (SPNEGO)
During development and testing, the built-in basic user registry and the
quickStartSecurity configuration element offer easily configurable security
frameworks to test access to your application in a lightweight, self-contained manner. When the
application is moved to production, you can easily convert the basic user registry to a
production-ready LDAP user registry or single sign-on solution. After deployment, Liberty offers functions that support security
hardening for applications in production. When your application runs in production, Liberty provides extensive auditing of security
events that can be written to an encrypted and signed audit log to help ensure the integrity of your
deployment. For more information, see
security hardening for applications in production.
The modular structure of Liberty presents a smaller attack surface than other Java runtimes. You enable only the features and capabilities that you need, which helps reduce the risk of vulnerabilities. And the Liberty four-week release cycle provides the latest security fixes to protect your applications from emerging threats and vulnerabilities. For more information, see Securing Liberty and its applications.
Observability and monitoring
Distributed tracing helps troubleshoot microservices by examining and logging requests as they propagate through a distributed system. Liberty supports distributed tracing through MicroProfile Telemetry, which you can instrument automatically, manually, or through a Java agent. For more information, see Enable distributed tracing with MicroProfile Telemetry.
Metrics are essential to building observability into applications so that operations teams can effectively monitor application behavior. You can gather detailed metrics on your Liberty applications with MicroProfile metrics. Liberty also provides a collection of MXBeans that you can use to gather metrics on different application and runtime components. For more information, see Monitoring the Liberty server runtime environment.
If you run applications in Kubernetes-based clusters, you can use the WebSphere Liberty operator with tools of your choice to observe your Liberty runtime. For more information, see Observing with the WebSphere Liberty operator.