Oracle® Fusion Middleware
Migrating Oracle WebCenter Content to Oracle Cloud Infrastructure
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
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
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 220.127.116.11.0 cluster
WebCenter Content user interface 18.104.22.168.0 cluster
WebCenter Content Inbound Refinery 22.214.171.124.0 cluster
Oracle HTTP Server 126.96.36.199.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.
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).
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.
The key steps to configure a publicly available WebCenter Content installation on Oracle Cloud Infrastructure are:
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.
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
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.
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.
We change the private subnet to use the private route table and private
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.
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
Configure Security Rules
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
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:
- Create an
sudo useradd -m oracle -p <password>
- Create an oracle directory and assign ownership to the oracle user:
sudo mkdir /oracle sudo chown -R oracle:oracle /oracle
- Install the latest packages using
sudo yum update
- Install the "Cinnamon Desktop" group and "Server with GUI" group:
sudo yum groupinstall "Cinnamon Desktop" sudo yum groupinstall "Server with GUI"
- Change the default target of systemctl to be graphical.target:
sudo systemctl set-default graphical.target
- Configure firewalld to allow http traffic, socket traffic, and database traffic
on ports used when you configured security rules. For example, to allow traffic
sudo firewall-cmd --permanent --zone=public --add-port=7777/tcp sudo systemctl restart firewalld
- 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
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
df -h output along with what is in the
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
# 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:
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.
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.
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 (188.8.131.52.0)
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.