Oracle® Application Server Forms Services Deployment Guide
10g Release 2 (10.1.2) B14032-03 |
|
Previous |
Next |
This section explains how to perform the Oracle Application Server 10g Forms Services upgrade. It is divided into the following sub-sections:
Section 11.3.1, "Upgrade Recommendations and Troubleshooting Tips"
Section 11.3.2, "Upgrading OracleAS Forms Services Application Modules"
Section 11.3.3, "Upgrading Common Gateway Interface (CGI) to the Oracle Forms Servlet"
Section 11.3.4, "Upgrading Static HTML Start Files to Generic Application HTML Start Files"
Section 11.3.5, "Upgrading the Forms 6i Listener to the Forms Listener Servlet"
Section 11.3.6, "Upgrading the Forms Listener Servlet Architecture to OracleAS Forms Services"
Consider the following recommendations and considerations while upgrading Forms applications to Oracle Application Server 10g:
Keep the Oracle6i Forms Services installation available until successful deployment and testing of applications to Oracle Application Server 10g.
Upgrade source files first, and back up and secure all application files.
Replace Run_Product
calls to integrated Reports with Run_Report_Object
calls to Oracle Reports (or use the PL/SQL conversion utility, Forms Migration Assistant in Oracle Forms).
Install Oracle Application Server and configure the forms/server/formsweb.cfg
file with the information used by your applications.
Copy the environment files used by the applications to the same relative directory.
Copy the upgraded Oracle Forms application module files to the computer on which Oracle Application Server is installed, if it is not the same computer.
After starting Oracle Application Server, access the Forms Services Listener Servlet test page with this URL:
http://<
hostname
>:<
port
>/forms/frmservlet?form=test.fmx
Verify that any application settings are added to the formsweb.cfg
file and that the environment variable Forms_Path
contains the directory of the application modules.
Verify that you can connect to the database using SQL*Plus.
Use the following URL to invoke upgraded applications:
http://<
hostname
>:<
port
>/forms/frmservlet?config=<
your application name
>
This section provides instructions for upgrading from Forms Application Modules (fmb
files) that were deployed in Oracle 6i Forms Services. Follow these steps to upgrade Forms Application Modules (fmb
files) deployed in Oracle 6i Forms Services to an OracleAS Forms Services installation.
Copy the Forms application files to a new directory.
Use the Forms Migration Assistant to upgrade the Forms Application Modules (.fmb
files).
Use the Forms Migration Assistant to upgrade the Forms menu modules (.mmx
files).
Use the Forms Migration Assistant to upgrade the library modules (.pll
files) and Menu modules (.mmb
files).
Use the Forms Migration Assistant to upgrade to upgrade the library modules (.plx
files)
Use the Forms Compiler (frmcmp.sh
on Unix or frmcmp.exe
on Windows) to regenerate the Forms Application executable files (fmx
files).
For more information, see Migrating Forms Applications from Forms 6i at:
This section provides instructions to upgrade Forms CGI to the Forms Servlet deployment. Follow these steps if you are using the Oracle 6i Forms Services Common Gateway Interface to dynamically render the Forms Applet start HTML file for applications.
CGI deployment for Forms applications was introduced in Oracle Forms Services Release 6i to enable the Forms Applet Start HTML file to render dynamically. Forms CGI uses the formsweb.cfg
configuration file and an HTML template to create the start HTML file for an application. The CGI interface is configured by an entry in the Forms HTTP configuration file 6iserver.conf
(it is referenced by an Include
directive in the Oracle HTTP Server oracle_apache.conf
file), which contains a ScriptAlias
directive identifying dev60cgi
for the directory structure containing the ifcgi60.exe
file.
The Forms servlet renders the HTML in the same manner as the CGI, but also provides an automatic browser type detection. The Forms servlet is configured when you install OracleAS Forms Services, and is named frmservlet
.
To access the Forms Servlet, request the URL:
http://<
hostname
>:<
port
>/forms/frmservlet
This URL is similar to the URL used with the CGI Interface in Oracle 6i Forms Services. To call an application configured as myapp
in the custom configuration section of the forms/server/formsweb.cfg
file, request the URL:
http://<
hostname
>:<
port
>/forms/frmservlet?config=myapp
The Forms Servlet is automatically configured during installation. The installer creates a virtual path /forms/
pointing to the OracleAS Forms Services configuration, formsapp
and formsweb
, in the Oracle Application Server Containers for J2EE Business Intelligence and Forms instance (<
destination_MT_OH
>/j2ee/oc4j/OC4J_BI_Forms
).
Follow these steps to upgrade an Oracle 6i Forms Services Release 6i CGI environment to an OracleAS Forms Services servlet environment:
Copy all of the application-specific configurations from <
source_MT_OH
>/Forms60/Server/formsweb.cfg
and append them to <
destination_MT_OH
>/forms/server/formsweb.cfg
.
Note: Do not copy and replace the entireformsweb.cfg file in < source_MT_OH > to < destination_MT_OH > . The file in Release 6i is different from the OracleAS Forms Services file. Copy only the application configuration to < destination_MT_OH >/forms/server/formsweb.cfg .
|
Configure Forms_Path
in the forms/server/default.env
file to point to the upgraded OracleAS Forms Services application modules.
If you changed the Oracle 6i Forms HTML template files, then make the same changes to the OracleAS Forms Services HTML template files.
Each application deployed to OracleAS Forms Services has a custom application definition, configured in the formsweb.cfg
configuration file. It automatically inherits the general system settings, such as the JInitiator version used or the names and locations of the base HTML template files.
The name of the custom application definition becomes part of the Forms application URL. The following custom settings define two different applications:
[MyHR_app] serverURL=/forms/lservlet Form = hr_main.fmx lookAndFeel=oracle Otherparams=myParam1=12 Userid=scott/tiger@orcl
The following URL invokes this application:
http://<
hostname
>:<
port
>/forms/frmservlet?config=MyHR_app
Another custom application definition might look like this:
[booking_app] ServerURL=/forms/lservlet Form = book.fmx lookAndFeel=oracle Otherparams= Userid=
The following URL invokes this application:
http://<
hostname
>:<
port
>/forms/frmservlet?config=booking_app
For each static HTML file, you must create a custom application definition. Part of the static HTML file is the archive
parameter directive, specifying at least the frmall.jar
file in OracleAS Forms Services. If you added a custom archive file, then the archive
parameter directive would resemble the following: Archive=frmall.jar,custom.jar
. Using the Forms servlet and the formsweb.cfg
file, the archive settings are defined under the User Parameter section. All custom application settings inherit these values, so you don't have to explicitly set this parameter, unless you add a custom.jar
file as required by an application.
If custom.jar
was added, then you can add the following lines to the custom application definition. The example below assumes that you are using JInitiator or another VM, but not Internet Explorer native.
[booking_app] archive_jini=frmall_jinit.jar, custom.jar archive=frmall.jar, custom.jar ServerURL=/forms/lservlet Form = book.fmx lookAndFeel=oracle Otherparams= Userid=
Follow these steps to upgrade applications:
Edit the forms/server/default.env
file, adding the location of the OracleAS Forms Services application modules to the Forms_Path
.
Edit the forms/server/formsweb.cfg
file, appending a custom application section for each static HTML application that you want to replace.
Name each custom application section, using a name that contains no spaces and is enclosed in square brackets, for example: [booking_app]
, [MyHR_app]
.
Start the application using this URL:
http://<
hostname
>:<
port
>/forms/frmservlet?config=<
name
>
If you need to, you can continue to use static HTML files in OracleAS Forms Services. However, with static HTML files, some features (such as Oracle Application Server Single Sign-On) are not available for use by Forms applications.
The Forms Listener servlet by default points to /forms/lservlet
after installation. To use static HTML files in OracleAS Forms Services, you must modify each static start HTML file to include a value for the serverURL
parameter. The serverPort
and serverHost
parameters are no longer used, and can be left undefined. OracleAS Forms Services uses JInitiator version 1.3.x, so you must also change those settings. The required values are found in the forms/server/formsweb.cfg
file.
Follow these steps to use static HTML files with OracleAS Forms Services:
Configure Forms_Path
in the forms/server/default.env
file to point to the upgraded OracleAS Forms Services application modules.
Create virtual directories in the <
destination_MT_OH
>/forms/server/forms.conf
file to point to the location of the static HTML start files.
Modify the application start HTML files as follows:
Add the serverURL
value /forms/lservlet
.
Change the JInitiator version number.
Change the codebase
parameter to forms/java
.
Navigate to <
destination_MT_OH
>/j2ee/OC4J_BI_Forms/applications/formsapp/formsweb/WEB-INF
and edit the web.xml
file.
Set the envFile initialization parameter for the Listener Servlet to point to the environment file (usually <
destination_MT_OH
>/forms/server/default.env
).
After editing, the entry in the web.xml
file for the Forms listener servlet should resemble the following:
<!--Forms listener servlet-->
<servlet>
<servlet-name>lservlet</servlet-name>
<servlet-class>oracle.forms.servlet.ListenerServlet</servlet-class>
<init-param>
<param-name>envFile</param-name>
<param-value>destination_MT_OH/forms/server/default.env</param-value>
</init-param>
</servlet>
The Forms 6i Listener is a C program that starts a Forms runtime process on behalf of an incoming Forms Web request. The Forms Web runtime process is then directly accessed by the Forms client applet, using a direct socket or an HTTP socket connection. The Forms Listener is then no longer involved in the application Web client-server communication process, and is free to handle other incoming Web requests.
The Forms Listener Servlet, a Java program, also takes incoming Web requests for a Forms application and starts the Forms server-side Web runtime process. Unlike the Forms 6i Listener, the Forms Listener Servlet remains between the Forms application applet-server communication.
While the Forms 6i Listener listens on a specific port (by default, 9000), the Forms Servlet doesn't need an extra port, and is accessed by the HTTP listener port. The Forms Listener Servlet was introduced in the Forms 6i patch 4, and is the only listener supported in Forms Services.
The Forms Listener Servlet is automatically configured during the Oracle Application Server installation. The installer creates a virtual path /forms/
pointing to the OracleAS Forms Services configuration, formsapp
and formsweb
, in the Oracle Application Server Containers for J2EE Business Intelligence and Forms instance (<
destination_MT_OH
>/j2ee/oc4j/OC4J_BI_Forms
).
To access the Forms Listener Servlet test form, request the following URL:
http://<
hostname
>:<
port
>/forms/frmservlet?form=test.fmx
Ability to access this page means that the Forms Listener Servlet is configured and ready to use. frmservlet
is the access name configured for the Forms Servlet during installation. The name of the Listener Servlet is lservlet
.
If the Forms Listener Servlet is accessed with the Forms servlet, then only the custom application settings from the Forms60/server/formsweb.cfg
file need to be appended to the forms/server/formsweb.cfg
file. All application configurations automatically inherit the serverURL
parameter value /forms/lservlet
from the global system parameter settings.
Note: Do not copy and replace the entireformsweb.cfg file in < source_MT_OH > to < destination_MT_OH > . The file in Release 6i is different from the OracleAS Forms Services file in 10g Release 2 (10.1.2). Copy only the application configuration to < destination_MT_OH >/forms/server/formsweb.cfg .
|
To change a Forms application deployment from the Forms Listener architecture to the Listener Servlet architecture, you need only supply a value for the serverURL
parameter in the formsweb.cfg
file. During installation, this parameter is set to /forms/lservlet
.
Follow these steps to upgrade to the Forms Listener Servlet:
Copy the Forms application files to a new directory and upgrade them to OracleAS Forms Services modules as described in Section 11.3.2, "Upgrading OracleAS Forms Services Application Modules". .
Edit the forms/server/default.env
file to add the location of the upgraded Forms application modules to the Forms_Path
variable.
Copy all of the custom application settings from <
source_MT_OH
>/Forms60/Server/formsweb.cfg
and append them to <
destination_MT_OH
>/forms/server/formsweb.cfg
.
Note: Do not copy and replace the entireformsweb.cfg file in < source_MT_OH > to < destination_MT_OH > . The file in Oracle 6i Forms Services is different from the OracleAS Forms Services file. Copy only the application configuration to < destination_MT_OH >/forms/server/formsweb.cfg .
|
If an application requires its own environment file, then instead of defining a separate servlet alias for the Listener Servlet, set the envFile
parameter in the custom application definition section in <
destination_MT_OH
>/forms/server/formsweb.cfg
to point to the new environment file. For example:
envFile=myEnvFile.env
where myEnvFile.env
is located in the forms/server
directory.
If you changed the Oracle 6i Forms Services HTML template files, then make the same changes to the OracleAS Forms Services HTML template files.
Start the application with this URL:
http://<
hostname
>:<
port
>/forms/frmservlet? config=<
application
>
In Oracle9iAS Forms Services Release 6i, the Listener Servlet, if not aliased, is accessed by the oracle.forms.servlet.ListenerServlet
. The Listener Servlet configuration exists in the jserv.properties
file and the zone.properties
file.
In OracleAS Forms Services, the Forms Listener servlet is the same except for the servlet names, which are frmservlet
and lservlet
, and the servlet container, which is now Oracle Application Server Containers for J2EE (OC4J). As in Oracle9iAS Release 1 (1.0.2.2.x), the configuration is performed during installation. The Listener Servlet configuration in OC4J is stored in ORACLE_HOME/j2ee/OC4J_BI_Forms/applications/formsapp/formsweb/WEB-INF/web.xml
. Some initialization parameters, like the envFile
parameter, need no longer be configured with the servlet engine, because they are moved to the formsweb.cfg
file.
The Forms Listener Servlet is automatically configured during the Oracle Application Server installation. The installer creates a virtual path /forms/
pointing to the OracleAS Forms Services configuration, formsapp
and formsweb
, in the Oracle Application Server Containers for J2EE Business Intelligence and Forms instance (<
destination_MT_OH
>/j2ee/oc4j/OC4J_BI_Forms
).
To access the Forms Listener Servlet test form, request the following URL:
http://<
hostname
>:<
port
>/forms/frmservlet?form=test.fmx
Ability to access this page means that the Forms Listener Servlet is configured and ready to use. frmservlet
is the access name configured for the Forms Servlet during installation. The name of the Listener Servlet is lservlet
.
Follow these steps to upgrade the Listener Servlet architecture to OracleAS Forms Services:
Copy the Forms application files to a new directory and upgrade them to OracleAS Forms Services modules.
Edit the forms/server/default.env
file, adding the location of the upgraded Forms application modules to the Forms_Path
variable.
Copy all of the custom application settings from <
source_MT_OH
>/Forms60/Server/formsweb.cfg
and append them to <
destination_MT_OH
>/forms/server/formsweb.cfg
.
Note: Do not copy and replace the entireformsweb.cfg file in < source_MT_OH > to < destination_MT_OH > . The file in Release 6i is different from the OracleAS Forms Services file in 10g Release 2 (10.1.2). Copy only the application configuration to < destination_MT_OH >/forms/server/formsweb.cfg .
|
If an application requires its own environment file, then instead of defining a servlet alias for the Listener Servlet, set the envFile parameter in the custom application definition section in <
destination_MT_OH
>/forms/server/formsweb.cfg
to point to the new environment file. For example:
envFile=myEnvFile.env
where myEnvFile.env
is located in the forms/server
directory.
If you changed the Forms Services Release 6i HTML template files, then make the same changes to the OracleAS Forms Services HTML template files.
Start the application with this URL:
http://<
hostname
>:<
port
>/forms/frmservlet? config=<
application
>
The method of upgrading the load balancing in Forms Services 6i depends on the deployment method used.
With the Forms 6i listener, the Metrics Server (a separate process) performs load balancing.
With the Forms 6i servlet, load balancing is configured with the JServ servlet engine, using round robin load balancing among JServ engines.
In OracleAS Forms Services, load balancing is managed by mod_oc4j
, an Oracle HTTP Server module. It binds Web requests to the servlet container processing the Forms Servlet and the Forms Listener servlet.
This section contains hints and tips that may be useful in the upgrade.
Using static HTML start files in Forms Services Release 6i allowed storage of images in a location relative to the start HTML file. The Forms Servlet in OracleAS Forms Services does not support this.
The alternative is to use the imagebase
parameter with the value of codebase
as the location for the icon images used by applications. The codebase
value refers to the forms/java
directory, which contains all of the Forms client Java archive files. For performance reasons, it is not a good idea to store images here.
Instead, you should bundle the icons into a separate archive file, which improves performance because archives are cached permanently on the client. Follow these steps to create this archive file.
Verify that the jar
command succeeds. If it does not, then you need to ensure that there is a JDK installed on your system with a correct PATH environment variable entry (pointing to the JDK_HOME/bin
directory).
Navigate to the directory containing the application images and issue the command:
jar -cvf <
application
>_images.jar *.<
extension
>
where:
application
is the name of the application
extension
is the extension of the image file (e.g.,.gif)
A jar file, <
application
>_images.jar
, is created in the current directory.
Copy <
application
>_images.jar
to the forms/java
directory.
Edit the formsweb.cfg
file, adding the imageBase=codebase
parameter to the custom application section for the application.
Add the <
application
>_images.jar
file to the archive path used by the application by adding the following lines to the custom application section:
archive_jini=frmall_jinit.jar,<application>_images.jar archive_frmall.jar,<application>_images.jar
See Section 4.9, "Deploying Icons and Images Used by Forms Services" for more information on deploying custom icon files with OracleAS Forms Services.
In Oracle Application Server, integrated calls to Oracle Reports in Forms are no longer handled by a client-side background engine. OracleAS Forms Services requires that applications use the RUN_REPORT_OBJECT
Built-in, calling Oracle Reports to process integrated reports. Oracle Reports is set up as part of the Business Intelligence and Forms installation.
Follow these steps to upgrade the call:
Change all occurrences of RUN_PRODUCT (Reports,...)
to the equivalent call using RUN_REPORT_OBJECT()
.
Add the location of the application's Reports modules to use the Reports_Path
of Oracle Reports.
Change RUN_REPORT_OBJECT
to reference Oracle Reports.
For more information, see Oracle Application Server Reports Services Publishing Reports to the Web and http://www.oracle.com/technology/products/forms/pdf/10g/frmrepparamform.pdf
In Forms Services Release 6i, before patch 8, it was necessary to create alias names for the Forms servlet in the ORACLE_HOME/Apache/Apache/JServ/conf/zone.properties
file in order to use individual environment files for different applications. The Forms servlet in OracleAS Forms Services does not require this. You can set the environment file name in the formsweb.cfg
file using the envFile
parameter, shown below:
envFile=myApp.env
Alias names for the Forms servlet are no longer created in ORACLE_HOME/Apache/Apache/JServ/conf/zone.properties
. Instead, they are created in <
destination_MT_OH
>/j2ee/OC4J_BI_Forms/applications/formsapp/formsweb/WEB-INF/web.xml
.
To create the alias names, copy the content between the <servlet>
and </servlet>
tags and change the servlet's name. To create a URL mapping for the new servlet alias name, add the following to the file:
<servlet-mapping> <servlet-name>new servlet name</servlet-name> <url-pattern>/new url name*</url-pattern> </servlet-mapping>
You can display a test page for the Listener Servlet in Oracle9iAS Forms Services Release 6i by accessing the following URL:
http://<
hostname
>:<
port
>/servlet/oracle.forms.servlet.ListenerServlet
The information displayed depends on the value of the initialization parameter TestMode
. This parameter is set in the <
source_MT_OH
>/Apache/Apache/JServ/conf/zone.properties
file.
You can display the test page for OracleAS Forms Services with the following URL:
http://<
hostname
>:<
port
>/forms/frmservlet/admin
The information displayed depends on the value of the initialization parameter TestMode
. This parameter is set in the <
destination_MT_OH
>/j2ee/OC4J_BI_Forms/applications/formsapp/formsweb/WEB-INF/web.xml
file. An example is shown below:
<init-param> <!-- Display sensitive options on the /admin page ? --> <param-name>TestMode</param-name> <param-value>true</param-value> </init-param>