Utilizing Content Servers with Oracle Learning Management [ID 374677.1]
Modified 14-APR-2011 Type WHITE PAPER Status PUBLISHED
White Paper
Checked for relevance on 08-JAN-2008
Utilizing Content Servers with Oracle Learning Management
See Change Record
Online learning content accessed through Oracle Learning Management (OLM) is stored and served by one or more content server. This document is intended for technical and functional administrators of OLM to further understand how OLM interacts with content servers.
This document describes:
What a content server is
Supported configurations for an OLM content server
How content gets transferred from the administrative user interface to the content server
The interaction between the application, the content server, and the user's PC when accessing content
Troubleshooting content server setup and file transfer issues
TOC
This white paper contains the following information.
Content Servers Described
Oracle Learning Management Content Server Supported Configurations
Key Oracle Learning Management Content Server Setup Steps
How an Oracle Learning Management Content Server Works
Content Server Troubleshooting
Content Servers Described
Overview
A content server, in simplest terms, is a computer with a web server that stores online learning content files. Learning objects that exist within OLM point to online learning content stored on a content server. When a learner accesses online learning content through the OLM player, the content server delivers the content to the learner's browser.
There are two types of content servers that can be utilized with OLM:
Oracle Learning Management Content Server
External Content Server
The two types of content servers are described in the sections below.
Oracle Learning Management Content Servers
An OLM content server provides additional functionality for administrators that is not possible with an external content server. This additional functionality enables administrators to upload online learning content to the content server through the OLM administrative user interface. Also, when learning object metadata is imported into OLM, the administrator has the capability of automatically constructing the starting URL of the learning object by selecting the content server and the directory where the starting page of the content resides. OLM then constructs the appropriate URL to which the learners are directed when launching online learning content.
Note:
An OLM content server cannot be set up and configured on any middle tier application server running the Oracle eBusiness Suite. It must be set up and configured on a separate machine outside the eBusiness Suite middle tier application servers. An OLM content server should reside in the same domain as OLM.
For example, if your eBusiness Suite middle tiers are ebiz1.mycompany.com and ebiz2.mycompany.com, the OLM content server cannot be configured on these middle tiers. You would set up a new machine, like contentserver.mycompany.com whose primary purpose would be to act as the content server for OLM.
External Content Servers
An external content server is any other content server machine that is not configured to be an OLM content server. External content servers do not provide the capability for administrators to upload content to the content server directly through the OLM administrative user interface. Typically, administrators either have direct access to the external content server machine to upload content files, or use FTP to transfer the content.
An external content server can reside anywhere, within a company's intranet or on the internet. For example, customers might access content from a content vendor hosted on the content vendor's servers. In this case, those content servers are considered external content servers. Any other machine running a web server can be utilized as an external web server.
Content Management systems such as Oracle Content Services can also be used as content servers. In this case, the content files are stored in a database rather than on the content server's file system.
Content Server Supported Configurations
Overview
This section outline the supported configurations for both OLM and External content servers.
The following table provides a summary of typical questions that arise when determining your content server strategy:
Question Response Comments
Can an Oracle eBusiness Suite middle tier be used as an OLM content server?
No
Can OLM work with multiple content servers? Yes
How many content servers can reside on one machine? One
How many external content servers can be used with OLM Unlimited
Can an OLM Content Server reside in the same domain as OLM (eBusiness Suite)? Yes
Can an OLM Content Server reside in a different domain? Yes
Can an external content server reside in the same domain? Yes
Can an external content server reside in a different domain? Yes
Is SSL Supported? No
Oracle Learning Management Content Server Configurations
The following table outlines the currently tested and supported configurations for an OLM content server.
Note:
The table below only applies to content servers that are registered in OLM as a content server, providing the capability to upload content directly to the content server through the administrative user interface.
This table is not an exhaustive list of all configurations that will work for an OLM content server, but should serve as a guideline for your content server setup. The most important factor in determining if your content server configuration will work is to ensure the content server is running Apache + Jserv. If it is not, content upload capability through the administrative user interface is not possible.
Server Version OS Comments
Standalone Apache & Jserv
Apache 1.3.33
Jserv - 1.1.2 Windows XP Apache download URL
JServ download URL
Jserv 1.1 supports Apache 1.2.x and 1.3.x.
Jserv module has been deprecated in favor of Tomcat, but Tomcat is not yet supported.
Oracle 9iAS 10g (9.0.4) Windows XP This has a built in Apache (1.3.31) and Jserv (1.1)
Oracle 9iAS 9.0.3 Windows 2000 This has a built in Apache (1.3.22) and Jserv (1.1)
Oracle Database 9.2.0.1 Solaris 2.8 This has a built in Apache (1.3.x) and Jserv (1.1)
Where Can an Oracle Learning Management Content Server Reside?
An OLM content server can reside within the same domain as OLM or in a different domain. The applications middle tier servers must be able to connect to the content server, especially if the content server resides on a different domain.
If content server is installed in an iAS installed in a separate oracle some it should be no problem to run it on the Oracle eBusiness Suite middle tier.
-> 427311.1 describes how to install a content server on a Oracle 10g iAS 10.1.3
Can an Oracle Learning Management Content Server Be Available on the Internet?
Yes, an OLM can be available over the internet. The content server can be configured in the demilitarized zone (DMZ) for this purpose. If the content is required to be accessed by external users, then the content server should be placed in the DMZ.
Internet users are redirected from the OLM server to the content server, and then the OLM server gets out of the way of the user browser and the content server.
For more information on using a DMZ, refer to Note 287176.1, DMZ Configuration with Oracle E-Business Suite 11i.
Is SSL Supported For an Oracle Learning Management Content Server?
No. SSL is not currently supported.
Key Oracle Learning Management Content Server Setup Steps
The OLM user guide (Metalink Doc ID#341440.1) provides the setup steps necessary to configure a content server for use as an OLM content server. Some key setup steps that are often overlooked or misread are included below:
Steps to Set Up the Container
(1) Install the container, such as Apache and ApacheJserv.
(2) Create a servlet repository called servlets. For example, in Jserv, the servlets
repository exists by default.
(3) Copy the following files to your servlet repository directory:
$JAVA_TOP/oracle/apps/ota/admin/common/util/ContentServerServlet.class
$JAVA_TOP/oracle/apps/ota/admin/common/util/ProtocolConstants.class
$JAVA_TOP/oracle/apps/ota/admin/common/util/SystemUtils.class
$JAVA_TOP/oracle/apps/ota/admin/common/util/SystemUtils$JarUtility.class
$JAVA_TOP/oracle/apps/ota/admin/common/util/ContentServeerClientData.class
Note:
The file location depends on the variable $JAVA_TOP.
If the application is running successfully then these files should definitely exist there
Make sure that the ENTIRE directory structure is copied over to the servlet repository directory.
So if the servlet repository directory is:
$ORACLE_HOME/Apache/Jserv/servlets
then the destination of these classes are as follows:
$ORACLE_HOME/Apache/Jserv/servlets/oracle/apps/ota/admin/common/util/ContentServerServlet.class
$ORACLE_HOME/Apache/Jserv/servlets/oracle/apps/ota/admin/common/util/ProtocolConstants.class
...
etc
(4) Also ensure the oracle.apps.fnd.common.VersionInfo.class file is located
under the class path directory that is defined for the repository.
Note:
This file should be found under $JAVA_TOP as follows:
$JAVA_TOP/oracle/apps/fnd/common/VersionInfo.class
Again, the entire directory structure needs to be copied, for example.:
$ORACLE_HOME/Apache/Jserv/servlets/oracle/apps/fnd/common/VersionInfo.class
(5) In zone.properties, add the following:
# ----- OLM Content server ----- #
servlet.OtaContentServerServlet.code=oracle.apps.ota.admin.common.util.ContentServerServlet
servlet.OtaProtocolConstants.code=oracle.apps.ota.admin.common.util.ProtocolConstants
servlet.OtaSystemUtils.code=oracle.apps.ota.admin.common.util.SystemUtils
servlet.OtaSystemUtils$JarUtility.code=oracle.apps.ota.admin.common.util.SystemUtils$JarUtility
servlet.OtaContentServerClientData.code=oracle.apps.ota.admin.common.util.ContentServerClientData
#----- END OLM
Note:
The zone.properties file location can vary depending on the implementation, usually in the apache server.
Ask the admin who set up the apache server, or look under the apache server setup.
(6) Create an alias for the directory where the content will be stored. For example, in Apache, to create an alias for the physical directory
D:/apache/rootdir/, add the following inside the httpd.conf file:
Alias /content/ ’D:/apache/rootdir/’
(7) Add the list of middle tiers and the temporary file location as arguments to the Java Interpreter. For example, in Jserv, add following lines inside the
jserv.properties file:
wrapper.bin.parameters=-Dmiddletier=148.87.19.51+148.87.19.50+144.25.78.202+10.10.20.140
wrapper.bin.parameters=-DTemp=D:\temp
wrapper.bin.parameters=-Djava.io.tmpdir=/dbfiles/applcsf/log
Here the numbers, such as 148.87.19.51 and 148.87.19.50, are IP addresses of all trusted middle tiers, and + is the separator for multiple addresses.
Servers not specified in the list are not able to access the servlet.
D:\temp is the absolute path of the temp location where files are saved temporarily while handling physical content.
/dbfiles/applcsf/log is any existing directory for log files.
Note:
The Jserv file should also be under the apache server.
How an Oracle Learning Management Content Server Works
Transferring Files to an Oracle Learning Management Content Server Through the Administrative Interface
If a content server is set up as an OLM content server, this enables administrators to upload content files directly to the content server through the administrative user interface.
The communication between the middle tier application servers and the content server happens based on a protocol stack. When a file is uploaded through the OLM administrative user interface, it first goes to the middle tier applications server, then is transferred to the content server based on that protocol stack. The content server then responds to certain commands from the middle tier and finally unzips/distributes the files in their respective places.
The session is maintained by the content server based on a counter. The session is maintained for each process, and each process is broken down to commands. For example, upload has commands like start upload, transfer, unzip, cleanup etc. The content server jserv should typically have a huge heap size since some of the file management functionality can take memory in the order of file size. The memory requirement will not be proportional to the size of each file since Input/Output occurs in the order of chunks of the file.
How Oracle Learning Management Plays Content
The following section contains excerpts from "Deploying e-Learning Content in Oracle Learning Management", metalink note ID# 308703.1. This section is relevant for both OLM content servers and external content servers.
Overview
When OLM plays content, it pulls together the content structure information from the OLM database and the media files from a content server, in the OLM player.
The OLM player enables the learner to navigate and play content. There are several options for configuring the player, but the most common option is to have a toolbar across the top of the window, an outline frame to the left, and the actual course content played in the frame to the right.
OLM generates the toolbar and outline frames from data about the content and the learner stored in the database. Note that these frames are created and reside on the LMS server, which in many cases is a different server from where the content is stored. Each launchable topic in the course outline has a content location stored in the database. When a learner selects a learning object in the outline, the corresponding content is loaded from a content server into the content frame on the right.
Technical Details
Once a learner has launched a learning object and is in the OLM player, the content server serves the content directly to the learner's browser. If the content is SCORM or AICC/HACP compliant, the content sends and receives data during the session by interacting with the application server either directly or indirectly:
For SCORM compliant content, a lightweight java applet is loaded on the learner's PC. The content on the content server interacts with the local java applet to send and receive data. In turn, the java applet communicates back with the OLM application server, which sends and receives data from the database.
For AICC/HACP compliant content, the content on the content server interacts with the OLM application server, which sends and receives data from the database.
When a learner switches learning objects or exits the course and returns to the learner home page, the communication is between the learner's browser and the application server.
Content Server Troubleshooting
Overview
This section attempts to list the common issues that arise when configuring and utilizing and OLM content server.
java.lang.OutOfMemoryError When Uploading Content
When uploading large content files to the content server, the above error is thrown.
Possible Cause and Resolution:
Verify timeout settings on iAS (web.xml) and Apache (httpd.conf) and increase if necessary
Ensure write permissions on the content server are set correctly
Ensure the jserv/servlets directory contains the appropriate class files:
oracle.apps.fnd.common.VersionInfo.class
oracle.apps.ota.admin.common.util.ContentServerClientData.class
oracle.apps.ota.admin.common.util.ContentServerServlet.class
oracle.apps.ota.admin.common.util.ProtocolConstants.class
oracle.apps.ota.admin.common.util.SystemUtils.class
oracle.apps.ota.admin.common.util.SystemUtils$JarUtility.class
Verify the value wrapper.bin.parameters in jserv.properties
Verify enough space is available on the content server
Verify proxy and firewall configurations between the browser, application server, and content server to ensure that there are no ftp or upload limit defined by your network/firewall team
Verify the KeepAlive settings in Apache on the content server machine
You can check tuning for KeepAlive, MaxKeepAliveRequests, KeepAliveTimeout settings in httpd.conf.
http://httpd.apache.org/docs/1.3/mod/core.html
Check the size of any .dat file created during upload. The temp file directory for the .dat is taken from System property "java.io.tmpdir" .
Check the speed of the network connection for mismatches. Typically this should be set as 100MB/FD, and not 100MB/HD
Authentication Failure When Uploading Content
When uploading content to the content server, the following error is thrown:
"Authentication Failure: You do not have permissions to use the content server"
Possible Cause and Resolution:
The Oracle Learning Management content server must be on a separate server outside the eBusiness Suite middle tier application servers. If the content server is on the same server as one of the eBusiness Suite middle tier servers, this is the issue.
Ensure the class files are created with the complete directory path. For example:
If c:\oracle\product\10gas\Apache\Jserv\servlets is the servlets directory, then ContentServerServlet.class goes under:
c:\oracle\product\10gas\Apache\Jserv\servlets\oracle\apps\ota\admin\common\util\ContentServerServlet.class
Verify there are no write permissions issues to the content server directory and also the applications middle tier
Ensure Jserv is configured properly. You can use the sample IsItWorking servlet in the servlet repository to ensure Jserv is set up and configured properly. If this servlet does not work, refer to iAS documentation to properly configure Jserv before continuing.
Importing SCORM Content Throws "Cannot Build Schema" Error
When importing SCORM compliant metadata and content files, an error similar to the following is thrown:
"Can not build schema 'http://www.imsproject.org/xsd/imscp_rootv1p1p2' located at 'imscp_rootv1p1p2.xsd'"
Resolution:
Replace the XSD files in the zip file with the XSD files available from metalink Note ID #221102.1
Note:
This issue is bug #4173535
Change Record
Date Description of Change
02-MAY-2006
Created document.
04-MAY-2006 Modified based on reviews
03-JUN-2006 Modified based on reviews
08-JUN-2006 Modified based on reviews
Oracle Corporation
Author and Date
Scott Morris 08-JUN-2006
Copyright Information
Copyright � 2004, 2005, 2006 Oracle. All rights reserved.
Disclaimer
This document in any form, software or printed matter, contains proprietary information that is the exclusive property of Oracle. Your access to and use of this confidential material is subject to the terms and conditions of your Oracle Software License and Service Agreement, which has been executed and with which you agree to comply. This document and information contained herein may not be disclosed, copied, reproduced or distributed to anyone outside Oracle without prior written consent of Oracle. This document is not part of your license agreement nor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates.
This document is for informational purposes only and is intended solely to assist you in planning for the implementation and upgrade of the product features described. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described in this document remains at the sole discretion of Oracle.
Due to the nature of the product architecture, it may not be possible to safely include all features described in this document without risking significant destabilization of the code.
Trademark Information
Oracle, JD Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Related
Products
Oracle E-Business Suite > Human Capital Management > Human Resources > Oracle Learning Management
Back to top
Rate this document