1 About the Oracle WebLogic Server and Helidon Integration

The Oracle WebLogic Server (WebLogic Server) and Helidon integration enables interaction between a Helidon microservice application and an application installed on WebLogic Server, which is deployed in a Kubernetes cluster managed by the WebLogic Kubernetes Operator (Operator).

Note:

This document provides information about the WebLogic Server and Helidon integration when both products are deployed in a Kubernetes environment. However, you can implement this integration on any supported platform.

WebLogic Server on Kubernetes enables you to efficiently build modern container applications with comprehensive Java services. Helidon is an open source, lightweight, fast, reactive, cloud native framework for developing Java microservices.

Owners of applications based on WebLogic Server seeking to modernize applications with microservices can use WebLogic Server and Helidon integration to implement communication and coordination between WebLogic Server-based applications and Helidon-based microservices. Such communication and coordination enables enterprise applications and microservices to coexist and cooperate in the realization of modernized architecture meeting the owners' requirements. The communication can take multiple forms, unidirectional or bi-directional, and the coordination targets security simplifications and transaction management between WebLogic Server applications and Helidon microservices.

This document provides information about the WebLogic Server integration with Helidon 3.x and 2.x releases. To understand the differences between the two Helidon releases, see Helidon MP 2.x Upgrade Guide and Helidon MP 3.x Upgrade Guide.

The WebLogic Server and Helidon integration enables you to:

  • Initiate bidirectional REST calls between Helidon and WebLogic Server. The REST integration enables WebLogic Server applications and Helidon microservices to communicate through RESTful Web Service invocations.
  • Generate, produce, and consume a JMS message to and from a WebLogic Server Queue, Topic, Distributed Queue, and so on. The JMS integration enables Helidon microservices to publish and consume messages from WebLogic JMS Server.
  • Initiate communication between a Helidon client and WebLogic Server Web Services. This integration enables Helidon microservices to interact with WebLogic Server applications through SOAP (Simple Object Access Protocol) Web Service calls from Helidon to WebLogic Server.
  • The WebLogic Server and Helidon integration enables communication between a WebLogic cluster-hosted application and a Helidon microservice application by implementing Single Sign-on (SSO) authentication using Oracle Identity Cloud Service (IDCS).
  • Coordinate distributed XA transactions initiated by Helidon and spanning WebLogic Server and Helidon applications and data sources. Transaction coordination between WebLogic Server and Helidon ensures data correctness within modernized applications requiring ACID (Atomicity, Consistency, Isolation, and Durability) transactions.

This chapter includes the following topics:

Preparing the Kubernetes Cluster for WebLogic Server and Helidon Integration

Preparing the Kubernetes cluster for WebLogic Server and Helidon integration for REST, Java Message Service, Web Services, Single Sign-on and Distributed XA Transactions includes provisioning the WebLogic Server domain and the Helidon instances in a Kubernetes cluster, deploying the Operator, and deploying a load balancer or the Istio service mesh.

Installing the Ingress Load Balancer

For effective traffic management between WebLogic Server and Helidon, you will need to deploy an Ingress controller or an Istio service mesh in the Kubernetes cluster. You can deploy any load balancer (or Ingress controller) in the Kubernetes cluster to balance traffic between WebLogic Server and the Helidon instances.

For more information about creating Traefik or Nginx Ingress controllers, see Ingress Controllers in the WebLogic Kubernetes Operator documentation.

Istio is a service mesh that provides a separate infrastructure layer to handle inter-service communication. For instructions to install Istio, see Install Istio.

Installing the WebLogic Kubernetes Operator

In this integration, the applications installed on WebLogic Server are deployed in a Kubernetes cluster that is managed by the Operator. You should install the Operator before provisioning the WebLogic Server domain. The Operator helps you manage all lifecycle operations of the WebLogic Server domain, such as provisioning, scaling, security, and lifecycle management which includes applying updates of the applications or to the WebLogic Server binaries in a rolling fashion.

For information about setting up the Operator, see Install the Operator.

Provisioning the WebLogic Server Domain

The Operator supports the following WebLogic Server domain home source types:

  • Model in Image: The primary image contains the JDK and the WebLogic Server binaries. A separate, auxiliary image contains the WebLogic Deployment Tooling (WDT) model files, WDT variable files, and the application archive file. See Auxiliary Images in the WebLogic Kubernetes Operator documentation.
  • Domain Home in Persistent Volume (PV): The primary image contains the JDK and the WebLogic Server binaries. The domain home and application binaries are in a shared PV. See Domain Home on a PV .

One of the many differences between these domain home source types is how you use them to create and update the WebLogic Server images so that the Operator can apply the update in a rolling fashion to ensure application availability. For information about the differences between these domain home source type, see Choose a Domain Home Source Type.

This document describes the provisioning of the WebLogic Server domain using the 'Model in Image' pattern. For a step-by-step guide on how to provision a domain with the 'Model in Image' pattern and create the required data sources, see Model in Image.

The Operator starts the WebLogic Server domain by using the Domain Custom Resource. There are two ways to start the domain:
  • If you are starting the domain for the first time, you should provision the domain by creating the Domain Custom Resource.
  • If the domain is already provisioned, you should edit the Domain Custom Resource to instruct the Operator to start the domain.

For more information about starting and stopping the WebLogic Server instances in your domain, see Domain Life Cycle.

For an overall understanding of running and managing the WebLogic Server domains, see Manage Domains.

Deploying Helidon

For information about the prerequisites and getting started with Helidon:

Downloading the WebLogic Server Java Clients with Jakarta Package Names

You can download the WebLogic Server 14.1.1.0 Java clients with Jakarta packages from Oracle Technology Network (OTN) or Oracle Software Delivery Cloud (OSDC). You can use these clients in remote Java client applications that contain libraries using the jakarta.* package naming convention and connect to server-side applications hosted in WebLogic Server 12.2.1.4 or WebLogic Server 14.1.1. 0.

To download the WebLogic Server Jakarta thin clients from OTN:

  1. Go to the Free Oracle WebLogic Server Installers for Development page or the Oracle WebLogic Server Installers page. The following downloads are available under WebLogic Server 14.1.1 Java clients with Jakarta package names:
    • WebLogic Server 14.1.1 Thin T3 Jakarta client (wlthint3client.jakarta.jar file)
    • WebLogic Server 14.1.1 Web Services Jakarta client (com.oracle.webservices.wls.jaxws-wlss-client.jakarta.jar file)
  2. Select the required file, check the Oracle License Agreement, and then click the file to download.

To download the clients from OSDC:

  1. Sign in to Oracle Software Delivery Cloud.
  2. Type in the search term 'Oracle WebLogic Server 14c' and click Search.
  3. From the search results, select Oracle WebLogic Server 14c 14.1.1.0.0 (Oracle WebLogic Server Enterprise Edition, Oracle WebLogic Server Standard Edition). It gets added to the downloads queue.
  4. Click View Items and select Continue to view the list of items in your download queue. By default, all the items are selected for download.
  5. Select only Oracle WebLogic Server 14.1.1.0 from the list (uncheck the others), select Platforms as GENERIC (ALL Platforms), and then click Continue.
  6. Review and accept the Oracle License Agreement and click Continue.
  7. From the downloads queue, select Oracle WebLogic Server 14.1.1.0.0 for GENERIC (All Platforms) if you want to download both the WebLogic 14.1.1 Jakarta clients, and click Download.
  8. Sign out of the page after the download process is complete.
  9. Before you extract the Jar files, rename the WebLogic Server 14.1.1 Web Services Jakarta client to com.oracle.webservices.wls.jaxws-wlswss-client.jakarta.jar and WebLogic Server 14.1.1 Thin T3 client to wlthint3client.jakarta.jar.