Forms and JavaScript Integration for Java Web Start and Forms Standalone Launcher

When using Java Web Start or Forms Standalone Launcher, it is possible to integrate with JavaScript using Forms Websocket JavaScript Integration (WJSI).

The ability to integrate a Forms application with a web page through JavaScript was introduced in Oracle Forms 11g R2. This feature allowed developers to blend Forms applications with HTML-based web applications. Forms applications were able to communicate with HTML pages, which resulted in more creative application designs. In releases earlier than 12.2.1.3, the ability to integrate through JavaScript was not possible when using Java Web Start or the Forms Standalone Launcher.  This is because those configurations do not have a parent browser, thereby exposing no way to connect between the two technologies.

Leveraging Eclipse/Jetty, an extremely lightweight web listener, a Forms application running with Java Web Start or the Forms Standalone Launcher can communicate with a web page through Web Socket connections.

This feature requires the download and signing of Jetty jar file, jetty-all-9.4.5.v20170502-uber.jar or newer from Eclipse. Download the jar file from the jetty-all directory at maven.org.

Note:

Running Forms with Jetty versions newer than the 9.4 family will require using Java 11 or newer on the user's machine.

More information about Jetty, see The Eclipse Jetty Project.

In order to facilitate integration between a web page and a Forms application, in addition to the use of Eclipse or Jetty, each web page that is to be integrated must include the following HTML to the BODY of the web page:

<script src="/forms/java/frmwebsocketjsi.js"></script>

If the web page is running from a different server than Forms, use a fully qualified path to address the Forms environment.

Note:

Altering the contents of frmwebsocketjsi.js is not supported or recommended. It is also not recommended that this file be moved from its default location, as doing so will prevent patching from properly updating the file if necessary.