Oracle Forms Server Release 6i: Deploying Forms Applications to the Web with iAS Patch 2 A86202-01 |

Library | Service | Contents | Index

# 7
Application Design Considerations

## 7.1 Introduction

This chapter contains guidelines and tips for designing Forms applications for Web deployment. It includes the following sections:

- General Guidelines

- Guidelines for Designing Forms Applications

- Deploying Icons and Images Used by Forms Server

- Integrating Reports

- Feature Restrictions for Forms Applications on the Web

## 7.2 General Guidelines

Here are some general guidelines for designing applications for Web deployment:

- Seriously consider network factors that affect the performance of your Web applications (such as interaction with security firewalls, heavy user loads, and frequent network roundtrips to application and database servers).

- Limit the number of image items and background images you include in your forms and reports. Each time an image is required, it must download from the application server.

- Optimize your network connections where possible.

- Design your queries to execute as efficiently as possible, and ensure PL/SQL program units are compiled.

## 7.3 Guidelines for Designing Forms Applications

Here are some tips for designing Forms applications for Web deployment. They are discussed in greater detail in the following sections:

- Create Your Own Template HTML Files.

- Create an HTML Application Menu.

- Use Oracle Designer with the Forms Server.

- Reduce Network Traffic.

- Avoid Unnecessary Graphics and Images.

- Select Standard Fonts.

### 7.3.1 Create Your Own Template HTML Files

Consider creating your own HTML file templates (by modifying the templates provided by Oracle). By doing this, you can hard-code standard Forms Client applet parameters and parameter values into the template. Your template can include standard text, a browser window title, or images (such as a company logo) that would appear on the first Web page users see when they run Web-enabled forms. Adding standard parameters, values, and additional text or images reduces the amount of work required to customize the template for a specific application. To add text, images, or a window title, simply include the appropriate tags in the template HTML file.

### 7.3.2 Create an HTML Application Menu

As you deploy additional applications on the Web, try creating a single HTML page to serve as a centralized menu for your various Web-enabled applications. This approach eliminates the need to broadcast the URL of every application you deploy or remove. As you change your roster of available applications, simply modify the collection of links on the Web menu. Users then contact the menu URL and select from the list of available applications.

### 7.3.3 Use Oracle Designer with the Forms Server

Forms Server supports forms generated by Oracle Designer (32-bit, Release 1.3.2 or higher). If you use the standard Oracle Designer forms generator templates (ofg4pc1t.fmb and ofg4pc2t.fmb) to generate form and menu definitions, you can use the Forms Server to compile .FMX and .MMX files and immediately run the applications on the Web.

### 7.3.4 Reduce Network Traffic

To cut down on the number of network roundtrips required for users to operate your Form Builder applications on the Web, consider reducing or eliminating the following Form Builder features in your applications:

- Mouse triggers. Including When-Mouse-Click, When-Mouse-DoubleClick, When-Mouse-Down, and When-Mouse-Up triggers in your forms will impact speed and performance. The Forms Client must communicate with the Forms Server (necessitating a network roundtrip) each time one of these trigger fires. The When-Mouse-Move trigger is not supported due to the high number of network roundtrips required each time it fires.

- Timers. If your form includes a timer that fires every 1/100th of a second, users face the performance ramifications of 60,000 network roundtrips every minute. Either reduce the number of timers in your forms, or change the timing interval on which your timers fire.

### 7.3.5 Avoid Unnecessary Graphics and Images

Wherever possible, reduce the number of image items and background images displayed in your applications. Each time an image is displayed to application users, the image must be downloaded from the application server to the user's Web browser.

To display a company logo with your Web application, include the image in the HTML file that downloads at application startup. Do this instead of including it as a background image in the application. As a background image it must be retrieved from the database or filesystem and downloaded repeatedly to users' machines.

### 7.3.6 Select Standard Fonts

Most fonts are not supported across all platforms. For example, Sans Serif is a commonly-used font in Microsoft Windows applications; however, Sans Serif is not available in UNIX. When a font is not available on a platform, Form Builder attempts to use a similar font. As a result, when designing forms to deploy on the Web, be sure to follow the font guidelines listed below.

At runtime, the Forms Server maps a form's fonts into their Java equivalents. Java then renders the font in a font pre-defined for the deployment platform. To convert your form's fonts into Java equivalents, Java uses an alias list, located in the file called Registry.dat.

The following table lists the Java fonts and their equivalents on the major deployment platforms:

##### Table 7-1

Java Font | Windows Font | X Windows Font | Macintosh Font
--- | --- | --- | ---
Courier | Courier New | adobe-courier | Courier
Dialog | MS Sans Serif | b&h-lucida | Geneva
DialogInput | MS Sans Serif | b&h-lucidatypewriter | Geneva
Helvetica | Arial | adobe-helvetica | Helvetica
Symbol | WingDings | itc-zapfdingbats | Symbol
TimesRoman | Times New Roman | adobe-times | Times Roman

If a font from your form does not map to a Java font (through the Form Builder font alias table), Java automatically assigns a Java font to the unmapped application font.

## 7.4 Deploying Icons and Images Used by Forms Server

This section explains how to specify the default location and search paths for icons and images.

### 7.4.1 Icons

When deploying a Forms application on the Web, the icon files in ICO format (specified for an iconic button, a menu, or a window) are not used. The only file formats accessible through the Web are GIF or JPG files (GIF is the default format).

By default, the icons are found relative to the DocumentBase Directory, which is the directory containing the HTML file. If you want to store your icons in another location, you have to create an application file to specify the virtual directory where the icon files reside and the file format they use (GIF or JPG). This application file must be referenced in the HTML file.

To create a custom application file:

1. Copy the registry.dat text file found in the <ORACLE_HOME>/6iserver/forms60/java/oracle/forms/registry directory to another directory. This directory must be mapped to a virtual directory for your Web server (/appfile, for example).

2. Rename this new file (myapp.dat, for example).

3. Modify the iconpath parameter specifying your icon location:

     default.icons.iconpath=/mydir or http://myhost.com/mydir
     (for an absolute path)
     or
     default.icons.iconpath=mydir
     (for a relative path, starting from the DocumentBase Directory)

1. Modify the iconextension parameter:

     default.icons.iconextension=gif
     or
     default.icons.iconextension=jpg

To reference the application file in the HTML file:

In the formsweb.cfg file or your HTML file, modify the value of the serverApp parameter and set the value to the location and name of your application file.

    <PARAM NAME="serverApp" VALUE="/appfile/myapp">

(for an absolute path)

or

    <PARAM NAME="serverApp" VALUE="appfile/myapp">

(for a relative path, relative to the CodeBase directory)

### 7.4.2 SplashScreen and Background Images

When you deploy your applications to the Web, you have the ability to specify a splash screen image (displayed during the connection) and a background image file.

Those images are defined in the HTML file or in the formsweb.cfg file:

    <PARAM NAME="splashScreen" VALUE="splash.gif">

    <PARAM NAME="background" VALUE="back.gif">

The default location for the splash screen and background image files is in the DocumentBase directory containing the base HTML file.

### 7.4.3 Using a Custom JAR File Containing Icons and Images

Each time you use an icon or an image (for a splash screen or background), an HTTP request is sent to the Web server. To reduce the HTTP roundtrips between the client and the server, you have the ability to store your icons and images in a Java archive (JAR) file. Using this technique, only one HTTP roundtrip is necessary to download the JAR file.

#### 7.4.3.1 Creating a JAR File

The SunSoft JDK comes with an executable called jar. This utility enables you to store files inside a Java archive. See www.java.sun.com for further information.

For example:

    jar -cvf myjar.jar Splash.gif Back.gif icon1.gif

This command store three files (Splash.gif, Back.gif, icon1.gif) in a single JAR file called myjar.jar.

#### 7.4.3.2 Using Files Within the JAR File

The default search path for the icons and images is relative to the DocumentBase. However, when you want to use a JAR file to store those files, the search path must be relative to the CodeBase directory, the directory which contains the Java applet.

If you want to use a JAR file to store icons and images, you must specify that the search path is relative to CodeBase using the imageBase parameter in the base HTML file.

This parameter accepts two different values:

- DocumentBase The search path is relative to the DocumentBase directory. It is the default behavior.

- CodeBase The search path is relative to the CodeBase directory, which gives the ability to use JAR files.

In this example, we use a JAR file containing the icons and we specify that the search should be relative to CodeBase. If the parameter "imageBase" is not set, the search is relative to DocumentBase and the icons are not retrieved from the JAR file.

For example:

<PARAM NAME="archive" VALUE="icons.jar">

<PARAM NAME="imageBase" VALUE="CodeBase">

### 7.4.4 Search Path for Icons and Images

The icons and images search path depends on:

- What you specify in your custom application file (for the icons)

- What you specified in the SplashScreen and Background parameters of your HTML file (for the images)

- What you specify in the imageBase parameter in your HTML file (for both icons and images)

Forms Server searches for the icons depending on what you specify. This example assumes :

- host is the host name.

- documentbase is the URL pointing to the HTML file.

- codebase is the URL pointing to the location of the starting class file (as specified in the HTML file).

- mydir is the URL pointing to your icons or images directory.

#### 7.4.4.1 DocumentBase

The default search path is relative to the DocumentBase. In this case, you do not need to specify the imageBase parameter:

##### Table 7-2

| Location specified | Search path used by Forms Server
--- | --- | ---
Icons | default | http://host/documentbase
| iconpath=mydir (specified in your application file) | http://host/documentbase/mydir (relative path)
| iconpath=/mydir (specified in your application file) | http://host/mydir (absolute path)
Images | file.gif (specified in your HTML file) | http://host/documentbase/file.gif
| mydir/file.gif (specified in your HTML file) | http://host/documentbase/mydir/file.gif (relative path)
| /mydir/file.gif (specified in your HTML file) | http://host/mydir/file.gif (absolute path)

#### 7.4.4.2 CodeBase

Use the imageBase=CodeBase parameter in the base HTML file to enable the search of the icons and images in a JAR file:

##### Table 7-3

| Location specified | Search path used by Forms Server
--- | --- | ---
Icons | default | http://host/codebase or root of the JAR file
| iconpath=mydir (specified in your application file) | http://host/codebase/mydir or in the mydir directory in the JAR file (relative path)
| iconpath=/mydir (specified in your application file) | http://host/mydir (absolute path) No JAR file is used
Images | file.gif (specified in your HTML file) | http://host/codebase/file.gif or root of the JAR file
| mydir/file.gif (specified in your HTML file) | http://host/codebase/mydir/file.gif or in the mydir directory in the JAR file (relative path)
| /mydir/file.gif (specified in your HTML file) | http://host/mydir/file.gif (absolute path) No JAR file is used.

## 7.5 Integrating Reports

To invoke Reports from a Web-enabled form, use the RUN_PRODUCT built-in subprogram.

To use RUN_PRODUCT to run a report from a form running on the Web, you must set three environment variables:

##### Table 7-4

Environment Variable | Description
--- | ---
FORMS60_OUTPUT | Physical directory on the application server in which to store generated Reports files. For example: <ORACLE_HOME>/6iserver/tools/web60/temp
FORMS60_MAPPING | Virtual directory pointing to the physical directory defined by the FORMS60_OUTPUT variable. For example: /dev60temp/
FORMS60_REPFORMAT | Format in which to store generated Reports output. For example: PDF or HTML

On Windows NT, you define your environment variables in the Registry. On UNIX, you define your environment variables in the command shell. For more information on setting up environment variables, refer to Appendix A, "Forms Server Parameters".

After you set the environment variables above, the following sequence occurs automatically when a form running on the Web calls RUN_PRODUCT to invoke Reports.

If the output format of the report is SCREEN or PREVIEW:

- The resulting output is stored (as a temporary file with an auto-generated filename) in the physical directory specified by the FORMS60_OUTPUT environment variable.

- The Web server looks for the temporary filename (in the virtual directory defined by the FORMS60_MAPPING environment variable).

- The Web server checks the desired display format specified by the FORMS60_REPFORMAT environment variable, and displays the report in that format in the user's browser.

If the output format of the report is FILE:

- The report does not display in the user's browser.

- The resulting file is stored in the physical directory specified by the FORMS60_OUTPUT environment variable.

- The filename of the report file is the same name that is defined in the form definition.

## 7.6 Feature Restrictions for Forms Applications on the Web

When designing forms for eventual deployment on the Web, keep in mind that certain Forms features behave differently--or not at all--when a form is deployed on the Web. Table 7-5 lists Forms features, whether the feature is supported on the Web, and any guidelines or notes about the feature.

##### Table 7-5

Feature | Support | Guidelines and Notes
--- | --- | ---
ActiveX, OCX, OLE, VBX | No | Third-party controls that display screen output on the application server are not supported because users cannot view the output.
When-Mouse-Enter / Leave / Move triggers | No | Each execution of the trigger requires a network roundtrip, which would downgrade performance.
console | Yes | To display the console (includes the status and message lines) to users, set the form-level property Console Window to the window in which you wish to display the console.
firewall | Yes | You must run Forms Server in HTTP or HTTPS mode and have a firewall supporting HTTP 1.1. protocol.
HOST_COMMAND, ORA_FFI, USER_EXIT | Yes | Calls to these functions often display visual output or GUI elements on users' machines in client/server mode. In a Web implementation, the same calls will display the output and GUI elements on the application server (where users cannot see or interact with them).
iconic buttons | Yes | Icon image files must be in GIF format (and not in ICO format).
NLS, BIDI | Yes | Supported for 8-bit languages only.

| Copyright © 2000 Oracle Corporation. All Rights Reserved. |
Library | Service | Contents | Index