Oracle® Fusion Middleware

Migrating Oracle WebCenter Content to Oracle Cloud Infrastructure

12c (12.2.1.4.0)

F31797-01

June 2020

About Migrating WebCenter Content to Oracle Cloud Infrastructure

As companies began to adopt cloud solutions, some workloads moved quickly and easily, demonstrating the elasticity and agility of the cloud. But that wasn’t true for all workloads. Many companies found it difficult to move core business applications which presented additional challenges and tight requirements around predictable performance, security, and control.

Most of the customers are running Oracle Enterprise Content Management platform in their own data center. This guide explains the approach (one of many possible options) we recommend for moving Oracle Webcenter Content/ Imaging from your current on-premises deployment to Oracle Cloud Infrastructure. The guide is created based on prior experience successfully migrating customer environments. It addresses the key implementation concerns, technical requirements, and existing business challenges that need to be addressed as part of the migration. In addition, it summarizes the supporting cloud services, third-party integrations, and best deployment practices that can best align with your application environment and requirements.

Top Level Value Proposition

Oracle provides a simple way to migrate most on-premises Webcenter Content/Imaging deployments to Oracle Cloud Infrastructure that doesn't require significant re-architecture, re-integration or business process changes. As Oracle Cloud Infrastructure provides multiple variants of hardware and easy scalable solutions, WebCenter Content/Imaging will be more flexible, more reliable, and deliver higher performance at a lower cost than deployments running on-premises or with other cloud providers. With Oracle Cloud Infrastructure, you can take advantages of:

  • 35% to 45% lower TCO

  • Quick and seamless migration without re-architecture

  • Near instant scale up or down

  • No need to worry about hardware maintenance or upgradation

  • Multiple options of database including autonomous

  • Very easy to manage from a single web-interface

TCO Analysis

Beyond the benefits of being straight-forward to migrate, easier to manage, and more flexible to scale, a Webcenter Content Suite implementation on Oracle Cloud Infrastructure is actually cheaper than running it on premises or on another cloud. Here is the TCO analysis for a use case of generic Transactional Document Management System for a customer who uses WebCenter Content for enterprise level document management with 50TB of Content storage with these assumption:

  • Number of Peak Users at a time: 500

  • User Activity Peak: 10 pages per minute

  • Peak Check-in: 20 per seconds

  • Number of Environment: 4

  • Total CPU including Database: 20

  • Total RAM including Database: 256

  • Total Storage: 82TB

  • Outbound Data per month: 3TB

5 Years TCO saving with OCI: 43% (The calculation is based on Oracle Valuenavigator Tool)
5 Years TCO saving with OCI: 43%

Overview of the Migration

This will explain some of the key steps to configuring a publicly available WebCenter Content installation on Oracle Cloud Infrastructure. The operating systems used on premise such as Windows, Linux, and Solaris are also available on cloud. The installation steps and methods are the same as with on-premise installations. The same documentation and KM notes apply whether the product is installed on premise or on the cloud. If you're moving an existing WebCenter Content installation to the cloud, you can explore using the new lift and shift method of migration. See Migrating Oracle WebCenter Content for information as you move to the Oracle cloud.

Our example configuration contains the following products:

  • WebCenter Content 12.2.1.4.0 cluster

  • WebCenter Content user interface 12.2.1.4.0 cluster

  • WebCenter Content Inbound Refinery 12.2.1.4.0 cluster

  • Oracle HTTP Server 12.2.1.4.0 (OHS)

  • OCI Compute, File Storage, and Load Balancer

  • Database Cloud Service

  • Capture and Imaging

The way in which we’re choosing to install and configure WebCenter Content and Oracle Cloud Infrastructure for this setup is not the only way it could or should be done. It is one of many possible ways that exist. The exact steps that you take in some respects for your setup may differ greatly from ours. Some screenshots are included along the way. The screenshots are accurate as of the spring of 2020 and were taken from our actual installation. Due to the rapid pace of development, they may not be completely accurate long-term as far as looks, but they should still give a sense of what can be done.

Architecture

Oracle Webcenter Content Suite runs on Oracle Cloud for Infrastructure just like the Oracle Webcenter Content Suite that you run on premises in your data center today — the same applications you may have customized, bought, and trained your staff on, but on a combination of Oracle’s Infrastructure as a Service (IaaS) and Database as a Service (DBaaS).

Oracle Webcenter Content Suite deployment on Oracle Cloud Infrastructure choices include the following:
  • Infrastructure-as-a-Service: You can use Oracle Cloud Infrastructure Compute capabilities, storage capabilities and virtual network capabilities to run Webcenter Content Suite application tier and Database tier.

  • Infrastructure-as-a-Service + Database-as-a-Service: You can use Oracle Cloud Infrastructure Compute capabilities, storage capabilities and virtual network capabilities to run Webcenter Content Suite application tier. You can use the Oracle Cloud Infrastructure database system, Exadata database system, or Autonomous database system to run your database tier, enabling you to provision your chosen database configuration quickly and easily.

The diagram below depicts a standard architecture of two nodes clustered environment. To know more about Oracle Cloud Infrastructure architecture, visit Oracle Cloud Infrastructure Architecture Center.


A standard architecture of two nodes clustered environment

Create the Compartment

We create a compartment called WCCTesting in our Cloud account used for this setup via the Governance and Administration - Identity - Compartments menu option in Oracle Cloud Infrastructure.

Create and Configure the Virtual Cloud Network

Next, we select our WCCTesting compartment and create a virtual cloud network (VCN) for it using the Core Infrastructure - Networking - Virtual Cloud Networks menu option in OCI. The VCN has a CIDR block of 10.0.0.0/16.
Virtual Cloud Networks in WCCTesting

Then we configure two subnets within the VCN:
  • privatesubnet - private subnet with a CIDR block of 10.0.1.0/24

  • publicsubnet - public subnet with a CIDR block of 10.0.2.0/24


WCCTestingVCN and Subnets in WCCTesting Compartment

Each of the two subnets each has its own route tables and security lists. The public subnet has an internet gateway. Another way of doing it is to have it all in a private subnet. In that case, you would access the compute instances we create later on via bastion hosts.

The mount target and the file system we configure runs in the private subnet. The public subnet is where we will have two compute instances that access the shared file system.

Since the default route table has a route going to the internet gateway, we create a new private route table so that the file system and mount target are not exposed through the default route table.
PrivateRT

Next we create a private security list with its own ingress and egress rules to allow communication for the shared file system running in File Storage. We also create stateful ingress and egress security list rules to allow access to the private subnet. If this is not done, then the NFS clients will not have access to the private subnet and will then be unable to mount the file system. Both stateful ingress and egress rules are done so that it can survive a failover in case the mount target has a problem. This is because the file system is highly available.
PrivateSL- Ingress Rules


PrivateSL - Egress Rules

WCCTestingVCN - Internet Gateways

We change the private subnet to use the private route table and private security list.
Private Subnet

Public Subnet

Create the Mount Target

In Oracle Cloud Infrastructure, we create the mount target using the Core Infrastructure - File Storage - Mount Targets menu option and place it in the private subnet, while making sure that it is assigned a private IP address.
WccTestingMountTarget

Create the Shared File System

If a shared/remote file system is going to be used, as in the case of a clustered WebCenter Content, the requirements explained in Note 1209496.1 must be met. For our sample setup, we use the Oracle Cloud Infrastructure’s File Storage Service to provide the compute instances with a shared file system. See: Create the Shared File System and Configuring VCN Security Rules for File Storage.
wccfileshare

Configure Security Rules

Before we install WebCenter Content to the compute instances in the public subnet, we configure the security list's stateless ingress and egress rules to allow for successful communication. The ports listed below are default ports. You may choose to use different ports in your setup.
  • 1521 / 1433 - Database

  • 4444 - Socket port for WebCenter Content

  • 5555 - Socket port for Refinery Server

  • 5556 - NodeManager

  • 7001 - AdminServer

  • 7777 - OHS

  • 16200 - HTTP WebCenter Content

  • 16225 - HTTP WebCenter Content Web Interface

  • 16250 - HTTP Refinery Server

  • 16000 - Imaging

  • 16400 - Capture


Ingress Rules

Egress Rules

Create the Database Instance

We create a database using the Oracle Cloud Infrastructure’s Database - Bare Metal, VM, and Exadata - DB Systems menu option. See Creating Bare Metal and Virtual Machine DB Systems.

Afterwards, we connect to the database as explained in Connecting to a DB System.

Create the Compute Instances

We create two compute instances in the public subnet and connect to them by following the instructions given in Creating an Instance and Connecting to an Instance.

Configure the Compute Instances

We perform a variety of actions on both of the compute instances:

  1. Create an oracle user:
    sudo useradd -m oracle -p <password>
  2. Create an oracle directory and assign ownership to the oracle user:
    sudo mkdir /oracle 
    sudo chown -R oracle:oracle /oracle
  3. Install the latest packages using yum:
    sudo yum update
  4. Install the "Cinnamon Desktop" group and "Server with GUI" group:
    sudo yum groupinstall "Cinnamon Desktop" 
    sudo yum groupinstall "Server with GUI"
  5. Change the default target of systemctl to be graphical.target:
    sudo systemctl set-default graphical.target
  6. Configure firewalld to allow http traffic, socket traffic, and database traffic on ports used when you configured security rules. For example, to allow traffic on 7777:
    sudo firewall-cmd --permanent --zone=public --add-port=7777/tcp sudo systemctl
              restart firewalld
  7. Create a console connection following the instructions in Instance Console Connections.

Configure the Local File System

For the local file system on each of the compute instances, we use additional block storage through the Core Infrastructure - Block Storage - Block Volumes to add 100GB of additional disk space formatted as ext4 to each instance. This allows sufficient space for product installations and patches to be applied in the future. We partition it and format it ourselves after the disk is added to the compute instance. See Creating a Volume and Attaching a Volume.
Block Volumes in WCCTesting Compartment

WCCTestingInstance1Data

Each of the compute instances has the below line in its /etc/fstab file for automounting during startup (The IP address shown is internal to our VCN.)
10.0.1.3:/wccfileshare /oracle/wccfileshare nfs
          rw,suid,dev,exec,auto,nouser,sync,nolock,noac 0 0

Here are a couple of screenshots as a reference from the first instance showing df -h output along with what is in the /etc/fstab file:
WCCTestingInstance1

WCCTestingInstance1 - /etc/fstab

Install or Migrate Oracle WebCenter Content

We follow the standard Fusion Middleware and WebCenter Content documentation and KM notes to install a new setup using WebLogic Server, WebCenter Content, and so on. Alternatively we the new lift and shift method can be used to move WebCenter Content to the Oracle Cloud Infrastructure. When creating the weblogic domain, we use the internal 10.x.x.x IP addresses / host names as the listen addresses for the various managed servers and node managers. Since our WebCenter Content is public, we set the HttpServerAddress to have a public IP address. The HttpServerAddress configuration entry is used in building various URLs throughout WebCenter Content.

Configure Oracle HTTP Server

We add the below settings to our mod_wl_ohs.conf file for OHS on each host in two spots:
  • DOMAINHOME/config/fmwconfig/components/OHS/<componentname>/mod_wl_ohs.conf

  • DOMAINHOME/config/fmwconfig/components/OHS/instances/<componentname>/mod_wl_ohs.conf

# WCC 
<Location /cs> 
WebLogicCluster 10.0.2.2:16200,10.0.2.3:16200         
SetHandler weblogic-handler 
WLCookieName JSESSIONID
</Location>
# WCC 
ADF auth <Location /adfAuthentication> 
WebLogicCluster 10.0.2.2:16200,10.0.2.3:16200 
SetHandler weblogic-handler 
WLCookieName JSESSIONID 
</Location>
# WCC 
WebDAV <Location /_dav> 
WebLogicCluster 10.0.2.2:16200,10.0.2.3:16200 
SetHandler weblogic-handler 
WLCookieName JSESSIONID 
</Location>
# WCC WebServices 
<Location /idcws> WebLogicCluster 10.0.2.2:16200,10.0.2.3:16200 
SetHandler weblogic-handler WLCookieName JSESSIONID 
</Location>
# WCC HttpHelpRoot & HttpSystemHelpRoot 
<Location /_ocsh> WebLogicCluster 10.0.2.2:16200,10.0.2.3:16200 
SetHandler weblogic-handler WLCookieName JSESSIONID 
</Location>
# WCC Content UI 
<Location /wcc> WebLogicCluster 10.0.2.2:16225,10.0.2.3:16225 
SetHandler weblogic-handler WLCookieName WCCSID 
</Location>
# Imaging
        <Location /imaging> 
WebLogicCluster 10.0.2.2:16000,10.0.2.3:16000 
SetHandler weblogic-handler 
WLCookieName JSESSIONID 
</Location>
# Capture Client
<Location /dc-client> 
WebLogicCluster 10.0.2.2:16400,10.0.2.3:16400 
SetHandler weblogic-handler 
WLCookieName JSESSIONID 
</Location>
# Capture Console
<Location /dc-console> 
WebLogicCluster 10.0.2.2:16400,10.0.2.3:16400 
SetHandler weblogic-handler 
WLCookieName JSESSIONID 
</Location>

Create the Load Balancer

Now that WebCenter Content is installed along with OHS, we next configure a load balancer. For this we use the Load Balancer in Oracle Cloud Infrastructure's networking. See Overview of Load Balancing.

Our load balancer is a public one and handles both http traffic and socket traffic. See screenshots of our load balancer details, listeners, and backend sets:
wcclb

Listeners

Backend sets

HTTP Backend

Socket Backends

After the load balancer is configured, we adjust the HttpServerAddress of WebCenter Content to use the public hostname/IP address and the port of the load balancer and then restart WebCenter to pick up the configuration change. We also change the PropConnectionUrl mbean value for the WebCenter Content interface managed servers to contain the hostname/IP address of the load balancer.
PropConnectionUrl

Once everything is configured, we test our setup to confirm it is working as expected.

Integrate with Identity Cloud Service

If you are using any SSO provider such as Oracle Access Manager, then you can bring that to cloud and deploy in Oracle Cloud Infrastructure. You can use Oracle Identity Cloud Service (IDCS) for SSO if you would like to. You can follow the below document to use IDCS for SSO provider.

At this point, we configure WebCenter Content with the Identity Cloud Service using the information contained in Configuring WebCenter Content for Oracle Identity Cloud Services (IDCS) in Administering Oracle WebCenter Content.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.


Oracle Fusion Middleware Migrating Oracle WebCenter Content to Oracle Cloud Infrastructure, 12c (12.2.1.4.0)

F31797-01

Copyright © 2020, Oracle and/or its affiliates.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs) and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end users are "commercial computer software" or “commercial computer software documentation” pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, reproduction, duplication, release, display, disclosure, modification, preparation of derivative works, and/or adaptation of i) Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs), ii) Oracle computer documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in the license contained in the applicable contract. The terms governing the U.S. Government’s use of Oracle cloud services are defined by the applicable contract for such services. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Inside are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Epyc, and the AMD logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.