Forms Standalone Launcher

The Forms Standalone Launcher (also referred to as Standalone or FSAL) is a utility that allows for launching applications using a browser-less experience.

Using FSAL provides the appearance and power of a native application. The application runs in its own window and is hosted on a centralized application server (for example, WebLogic Server). This ensures that the Forms application modules are securely stored on this remote middle tier server. Although the user does not have direct access to the Forms modules, such as FMX, MMX, PLX which are on the remote server, they can run these applications using a URL.

The use of FSAL offers the same functionality that is available when running a form in the browser, except for event-driven single sign-off.

JavaScript integration support for FSAL does not exist by default. However, JS integration can be enabled with a provided add-on and a third party library (Eclipse/Jetty). For more information, refer to Forms and JavaScript Integration for Java Web Start and Forms Standalone Launcher.

Requirements

Here are the requirements for using FSAL:

  • frmsal.jar - This file is the Forms Standalone Launcher and should be stored on the end-user machine, preferably in the user’s home directory. Alternatively, the file can be stored in any other directory on the user’s machine as long the user has access to the directory. The file is staged on the server in the ORACLE_HOME\forms\java directory. The file can be transferred to the end-user machine using any suitable method (for example, web download, email, or ftp).

    This file is version-specific and cannot be used with other Forms versions or patch levels. A checksum is used to ensure that the launcher (frmsal.jar) file is properly matched to the server and its Forms’ version and that it has not been accidentally or maliciously replaced. As a result, you cannot use the frmsal.jar that was downloaded from a Windows server and use it to run an application against a UNIX server.

    FSAL can be used on Windows, Unix, Linux, or Apple Mac. Essentially, any platform that supports running Oracle Java.

    All installations come with a usage page that illustrates how to use the launcher, as well as providing a download link for the frmsal.jar file. Administrators can disable, remove, or edit this page, as needed. Navigate to https://example.com/forms/html/fsal.htm to display the page.

  • Java - FSAL is a Java application and therefore Oracle Java is required on the user’s machine. FSAL supports using any Oracle Java distribution that supports running a Java application and was certified with your version of Forms. Review the Oracle Fusion Middleware Supported System Configurations page to ensure that the version you want to use is certified for use with the Forms version you are using.

    Several possible Java distribution types are available for use. Depending on the application’s needs, the distribution you choose may vary. We recommend that you review the contents of the Oracle Java installation you choose and test your application thoroughly before moving to production. Here are distributions available for most common end-user platforms and can be used to run FSAL:

    • JRE (Java Runtime Environment) - JRE installs most components needed for typical end-users. It includes everything needed to run a local Java application, as well as the Java deployment components, such as Java Web Start and Java Plug-in. Java deployment components may not be available in releases later than Java 8.
    • JDK (Java Development Kit) - JDK is most appropriate for Java developers and typically includes more components than what a user needs. JDK includes JRE and other tools for developing, debugging, and monitoring Java applications.
    • Server JRE (Java 8 only) - Server JRE is primarily used for deploying Java applications on servers. It includes tools for JVM monitoring and server applications, but does not include browser integration (the Java Plug-in), Java Web Start, auto-update, or an installer. This distribution is delivered as a zip file that needs to be manually extracted.

    Note:

    For Java versions 11 and newer, a combination of Java utilities jlink, jpackage, and jdeps can be used to create a customized JRE. The resulting JRE will be much smaller than a complete distribution. Refer to the Java 11 or newer documentation for information on how to use these utilities to create a custom JRE and installation package (if desired).

Running FSAL

To use FSAL, either use the provided example configuration (named standaloneapp) or create your own. The application can be called from the command line or custom script.

FSAL, like a browser, needs to know the location of the application you want to run. You must know the complete Forms application URL.

For a list of all command line arguments and other usage information, refer to the FSAL Usage page available in the installation at: http://<Your Forms server>/forms/html/fsal.htm.

Note:

If using Java 11 or newer with FSAL and the application uses the Forms audio support, additional configuration is required. On the user's machine complete the following steps:

  1. Download Java FX version 11+ from https://gluonhq.com/products/javafx and extract the file.
  2. To run FSAL with audio support modify the start up command. Here is an example.

    java --module-path <PATH TO JFX\lib> --add-modules=javafx.media,javafx.swing --add-exports=java.desktop/sun.swing=javafx.swing -jar frmsal.jar -url "http://<server:port>/forms/frmservlet?config=standaloneapp"

Currently, the use of URL redirects or rewrites is not supported, but may be technically possible depending on the server configuration. FSAL expects to receive a fully qualified URL that points to the Forms environment.

To start an application with FSAL, perform the following steps:

  1. Open a shell, for example DOS on Microsoft Windows and verify the needed Java version is installed.

    java –version

    The result should indicate the required Java version. If not, check if the system’s PATH is properly set.

  2. Switch to the user's home directory (or to the directory where the frmsal.jar file is stored) and execute the following command.

    java -jar frmsal.jar -url "https://<server>/forms/frmservlet?config=standaloneapp"

    In the command, substitute <server> with your server details. Here is an example.

    java –jar frmsal.jar –url “https://example.com/forms/frmservlet?config=standaloneapp”

    If the server is not running SSL and uses HTTP, you can omit http:// from the URL entry, as it will be assumed.

    The application associated with the configuration section titled standaloneapp runs. You can use any configuration section that contains the entries found in the provided example.

  3. If the server is SSL/TLS-enabled and the URL to the application uses HTTPS, the needed public certificate used to identify the server's certificate should already be stored in the custom Java truststore, named formstruststore. If the user's Forms truststore doesn't contain the needed server certificate, the user is prompted to import it.

    If you grant permission to import the certificate, FSAL imports it and stores it in the Forms truststore. The application continues to load as expected. If you do not grant permission, the session exits.

    The truststore is located in a sub-directory of the user's home directory, <User Home>\Oracle\forms. Because this is a standard Java truststore file, standard Java tooling can be used to administer this file as needed.

    Note:

    The Forms Certificate Importer prompt can be disabled by including the -cert_truststore java switch. Doing this requires that certificates are manually inserted into the Java default keystore.

Output appears in the shell used to start the application. Ensure you keep the shell open through the life of the session because closing this shell will terminate the application.

Note:

This behavior can be altered to accommodate your needs using various shell commands and associated switches. Refer to the operating system documentation for information on using the command shell on your platform.