Oracle WebLogic Server is the industry's best application server for building and deploying enterprise Java EE applications with support for new features for lowering cost of operations, improving performance, enhancing scalability, and supporting the Oracle Applications portfolio.
The following sections provide an overview of Oracle WebLogic Server features and describe how you can use them to create enterprise-ready solutions:
Oracle WebLogic Server provides a modern development platform for building applications, a runtime platform for high performance and availability, and rich management tooling for efficient and low cost operations.
The WebLogic Server complete implementation of the Java Platform, Enterprise Edition 8 (Java EE 8) specification provides a standard set of APIs for creating distributed Java applications that can access a wide variety of services, such as databases, messaging services, and connections to external enterprise systems. End-user clients access these applications using web browser clients or Java clients. See Programming Models.
In addition to the Java EE implementation, WebLogic Server enables enterprises to deploy mission-critical applications in a robust, secure, highly available, and scalable environment. These features allow enterprises to configure clusters of WebLogic Server instances to distribute load, and provide extra capacity in case of hardware or other failures. New diagnostic tools allow system administrators to monitor and tune the performance of deployed applications and the WebLogic Server environment itself. You can also configure WebLogic Server to monitor and tune application throughput automatically without human intervention. Extensive security features protect access to services, keep enterprise data secure, and prevent malicious attacks.
Figure 1-1 shows how WebLogic Server fits into the overall Oracle Fusion Middleware stack.
Figure 1-1 Oracle Fusion Middleware Overview
Description of "Figure 1-1 Oracle Fusion Middleware Overview"
For information about Java EE programming model support in WebLogic Server, see the
following programming guides:
Web Applications provide the basic Java EE mechanism for deployment of dynamic web pages based on the Java EE standards of servlets and JavaServer Pages (JSP). Web applications are also used to serve static web content such as HTML pages and image files.
Web Services provide a shared set of functions that are available to other systems on a network and can be used as a component of distributed web-based applications.
XML capabilities include data exchange, and a means to store content independent of its presentation, and more.
Java Messaging Service (JMS) enables applications to communicate with one another through the exchange of messages. A message is a request, report, and/or event that contains information needed to coordinate communication between different applications.
Java Database Connectivity (JDBC) provides pooled access to DBMS resources.
Resource Adapters provide connectivity to Enterprise Information Systems (EISes).
Enterprise JavaBeans (EJB) provide Java objects to encapsulate data and business logic.
Remote Method Invocation (RMI) is the Java standard for distributed object computing, allowing applications to invoke methods on a remote object locally.
WebLogic Tuxedo Connectivity (WTC) provides interoperability between WebLogic Server applications and Tuxedo services. WTC allows WebLogic Server clients to invoke Tuxedo services and Tuxedo clients to invoke EJBs in response to a service request.
Coherence provides distributed caching and data grid capabilities for WebLogic Server applications.
Overview of WebLogic Server Application Development describes developer tools and best practices for coding WebLogic Server applications.
WebLogic Server clusters provide scalability and reliability for your applications by distributing the work load among multiple instances of WebLogic Server. Incoming requests can be routed to a WebLogic Server instance in the cluster based on the volume of work being processed. In case of hardware or other failures, session state is available to other cluster nodes that can resume the work of the failed node. In addition, you can implement clusters so that services may be hosted on a single machine with options to migrate the service to another node in the event of failure.
In addition to replicating HTTP session state across servers within a cluster, WebLogic Server can also replicate HTTP session state across multiple clusters, thereby expanding availability and fault tolerance in multiple geographic regions, power grids, and internet service providers.
Elasticity in dynamic clusters enables the automatic scaling of dynamic clusters and re-provisioning of their associated resources. The elasticity framework leverages the WebLogic Diagnostic Framework (WLDF) policies and actions system.
Coherence clusters provide scalability and fault tolerance by distributing data across any number of cluster members ensuring that data is always available and easily accessed by any application hosted in WebLogic Server.
In addition, web applications can choose to use a Coherence data grid for storing and replicating HTTP session state to improve scalability, fault tolerance, and performance.
Work Managers prioritize work based on rules you define and by monitoring actual run time performance statistics. This information is then used to optimize the performance of your application. Work Managers may be applied globally to a WebLogic Server domain or to a specific application or component.
Overload protection gives WebLogic Server the ability to detect, avoid, and recover from overload conditions.
Network channels facilitate the effective use of network resources by segregating network traffic into channels based on the type of traffic.
Simplified JMS cluster configuration and high availability allows applications to easily scale WebLogic JMS services such as JMS servers, SAF agents, and persistent stores. Cluster-targeted JMS servers and persistent stores allow targeting the JMS service artifacts directly to the cluster and eliminate the need to configure artifacts individually for every server in a cluster.
WebLogic Server persistent store is a built-in, high-performance storage solution for WebLogic Server subsystems and services that require persistence. For example, it can store persistent JMS messages or temporarily store messages sent using the Store-and-Forward feature. The persistent store supports persistence to a file-based store or to a JDBC-enabled database.
Store-and-forward services enable WebLogic Server to deliver messages reliably between applications that are distributed across WebLogic Server instances. If the message destination is not available at the moment the messages are sent, either because of network problems or system failures, then the messages are saved on a local server instance and are forwarded to the remote destination once it becomes available.
Enterprise-ready deployment tools facilitate deployment and migration of applications from the development phase to a production environment.
Production redeployment enables enterprises to deploy a new version of their application without interrupting work in progress on the older version.
Integration with Oracle WebLogic Suite
WebLogic Suite contains the following server-side components:
Oracle WebLogic Server
Oracle Coherence enables organizations to predictably scale mission-critical applications by providing fast and reliable access to frequently used data. By automatically and dynamically partitioning data in memory across multiple servers, Oracle Coherence enables continuous data availability and transactional integrity, even in the event of a server failure.
WebLogic Server includes a Coherence container that simplifies the management and deployment of Coherence clusters and Coherence-based applications.
Oracle TopLink builds high-performance applications that store persistent object-oriented data in a relational database. It successfully transforms object-oriented data into either relational data or Extensible Markup Language (XML) elements.
Oracle TopLink is an advanced, object-persistence and object-transformation framework that provides development tools and run time capabilities that reduce development and maintenance efforts, and increase enterprise application functionality.
Oracle TopLink includes support for EJB 3.0 in Java EE and Java SE environments, as well as support for EJB 2.n container-managed persistence (CMP). You can integrate Oracle TopLink with a variety of application servers, including Oracle WebLogic Server, JBoss Application Server, and IBM WebSphere Application Server.
Integration with Other Systems
Integration with Web Servers
Running Oracle WebLogic Server on Docker
For information about using Docker with WebLogic Server, and the combinations of Oracle WebLogic Server, JDK, Linux and Docker versions that are certified for building your Docker images, see the Supported Virtualization and Partitioning Technologies for Oracle Fusion Middleware.
WebLogic Deploy Tooling
The Oracle WebLogic Deploy Tooling (WDT) simplifies the automation of WebLogic Server domain provisioning and applications deployment.
WDT creates a declarative, metadata model that describes the domain, applications, and resources used by applications. This metadata model makes it easy to provision, deploy, and perform domain lifecycle operations in a repeatable fashion. You can use WDT to migrate on-premises domain configuration and applications to a Docker image or a persistent volume in Kubernetes. For complete documentation and samples, see the open source WebLogic Deploy Tooling project in GitHub. Or, for a step-by-step guide, read the blog, Make WebLogic Domain Provisioning and Deployment Easy!.
WebLogic Image Tool
The Oracle WebLogic Image Tool lets you automate building, patching, and updating your WebLogic Server Docker images, including your own customized images.
With the WebLogic Image Tool, you can:
Create a customized WebLogic Server and FMW Infrastructure Docker image.
Patch a base install image of WebLogic Server or FMW Infrastructure.
Patch and build a domain image of WebLogic Server or FMW Infrastructure using a WebLogic Deploy Tool (WDT) model.
Deploy an application and update the domain configuration.
In addition, you can incorporate these use cases into an automated process for patching and updating your WebLogic Server infrastructure and applications running in Docker and Kubernetes. Find the open source WebLogic Image Tool GitHub project at
WebLogic Server Kubernetes Operator
The Oracle WebLogic Server Kubernetes Operator is an application-specific controller that extends Kubernetes to create, configure, and manage instances of complex applications. The operator follows the standard Kubernetes operator pattern, and simplifies the management and operation of WebLogic domains and deployments. The operator uses a common set of Kubernetes APIs to provide an improved user experience when automating operations such as provisioning, life cycle management, application versioning, product patching, scaling, and security.
The operator is developed as an open source project fully supported by Oracle. The fastest way to experience the operator is to follow the Quick Start guide. Alternatively, you can peruse the documentation, read the blogs, or try out the samples. For project scripts, additional samples, and source files, see the Oracle WebLogic Server Kubernetes Operator GitHub repository.
WebLogic Monitoring Exporter
The Oracle WebLogic Monitoring Exporter is a web application that you can deploy on a WebLogic Server instance that you want to monitor.
The exporter uses the WebLogic Server RESTful Management Interface for accessing runtime state and metrics and then exports Prometheus-compatible metrics, which can be displayed in Grafana dashboards for monitoring. For practical examples, see these blog posts: Exporting Metrics from WebLogic Server and Using Prometheus and Grafana to Monitor WebLogic Server on Kubernetes. For a detailed description of the Oracle WebLogic Monitoring Exporter, see the WebLogic Monitoring Exporter project in GitHub.
WebLogic Logging Exporter
The Oracle WebLogic Logging Exporter provides an easy to configure, robust, and production-ready solution to access WebLogic Server log information through Elasticsearch and displayed in Kibana dashboards.
Find the build and installation instructions in the open source WebLogic Logging Exporter project README at
WebLogic Server API Examples and Sample Application
startWebLogicEx.sh script from
ORACLE_HOME is the directory you specified as the Oracle Home when you installed Oracle WebLogic. As they become available, you can also download additional examples.
Along with the code examples, two versions of a complete sample application, called Avitek Medical Records (or MedRec), are installed when you install the examples, as described above.
The original MedRec (which was included in previous versions of WebLogic Server) is a WebLogic Server sample application suite that concisely demonstrates all aspects of the Java EE platform. MedRec is designed as an educational tool for all levels of Java EE developers. It showcases the use of each Java EE component and illustrates best practice design patterns for component interaction and client development. MedRec also illustrates best practices for developing applications on WebLogic Server.
The Spring version of MedRec, called MedRec-Spring is MedRec recast using the Spring Framework. If you are developing Spring applications on WebLogic Server, you should review the MedRec-Spring sample application. In order to illustrate how Spring can take advantage of the enterprise features of WebLogic Server, MedRec was rearchitected to replace core Java EE components with their Spring counterparts. The functionality in the original version of MedRec is reimplemented using Spring in MedRec-Spring. Refer to the MedRec-Spring sample for details.
To launch MedRec, run
startWebLogic.sh script from
ORACLE_HOME is the directory you specified as the Oracle Home when you installed Oracle WebLogic Server.
To launch MedRec-Spring, run the
startWebLogic.sh script from
ORACLE_HOME is the directory you specified as the Oracle Home when you installed Oracle WebLogic Server.