Oracle Forms Application Deployment Services

The Forms Application Deployment Services (FADS) simplifies the process of packaging applications, deploying, configuring, and storing archived copies of the applications.

The Forms Application Deployment Services allow administrators or developers to package applications, deploy, configure, and store archived copies of the applications with the click of a button. To deliver and deploy a Forms application, you need to create an application package that contains Forms executable files, such as fmx, mmx, and plx files. In addition to generating executable files, applications may also require additional custom files, such as jars and html and possibly unique configuration settings. 

Using the FADS web interface, you can check on the status of your deployments, deploy updated versions of your applications, delete no longer needed applications, and much more. A command line interface is also available, which may be helpful for Forms build integration and scripting automated deployment jobs where using a web interface may not be appropriate.

Note:

The FADS web interface supports 100MB maximum archive (.far) file size limit. Any attempt to deploy files larger than 100MB may result in timeout errors and failed deployment. For large files, use the provided command line utility instead of the Web interface.

The followings sections are included:

Accessing FADS

To work with FADS, you can use the web interface or the command line interface.

Accessing the Web Interface

FADS is deployed to the WebLogic Server Administration Server. Therefore, to access FADS the WebLogic Server Administration Server must be running and accessible. To ensure the highest degree of security, we recommend that you enable SSL on the WebLogic Server Administration Servers. See Using Oracle Forms Services with the HTTP Listener and Oracle WebLogic Server.

To access the FADS web interface, use a URL similar to the following:

http://example.com:7001/fadsui

To access FADS, use the same credentials used to access Fusion Middleware Control (Enterprise Manager).

Note:

Some of the ADF errors and warnings related to FADS that appear in Admin Server logs can be ignored; unless FADS is not functioning properly.

Accessing the Command Line Interface

FADSCLI is the command line interface that allows users to connect and interact with the Forms Application Deployment Services running on the latest Oracle Fusion Middleware 12c domain.

By default, the FADS Command Line Interface connects to the server in non-SSL mode.

To use SSL mode, you can connect to the WebLogic Administration Server SSL port by passing the additional argument ssl=true to the various FADSCLI options. When running in SSL mode, the certificate has to be imported on the client side JVM, where you are running FADSCLI. Refer to the Java documentation on importing certificate to the Java keystore.

FADSCLI includes the FADSCLI scripts and its libraries. It is located in FMW ORACLE_HOME, in the following directory ORACLE_HOME/forms/fads/fads-client.

For information about the various FADSCLI options, see FADSCLI Options.

Using the Forms Applications Packager

You need to create an application package before you can deploy it using FADS. Use the Forms Application Packager (FAP) command line utility to package Forms Applications Archive files, referred to as FAR files.

The Forms Application Packager searches for the Forms artifacts under the artifacts directory and generates the FAR files. These FAR files can then be deployed to FADS running on the latest Oracle Fusion Middleware 12c release domain.

The following topics are included:

Obtaining the Forms Applications Packager

The Forms Application Packager searches for the Forms artifacts under the artifacts directory and generates the FAR files. These FAR files can then be deployed to FADS running on the latest Oracle Fusion Middleware 12c release domain. Before you can use the Forms Application Packager, download the client tools set from the web interface. The FAP utility is included in this set.

The Forms Application Packager includes the scripts (fa_packager.sh and fa_packager.cmd), and its dependent libraries. The Forms Application Packager utility is available:
  • In the $FMW_HOME/forms/fads/fads-client directory, in current Oracle Fusion Middleware 12c release, and Oracle Forms Standalone Builder 12c installation.
  • For download from the Forms Application Deployment Services web interface. Navigate to the <username> (for example, weblogic) drop down menu on the upper right side and select the Download Client Tools option. Description of fads_download-fap-menu.png follows
    Description of the illustration fads_download-fap-menu.png

    The Client Tools download includes both the Forms Application Packager utility and the FADS Command-line Interface (FADSCLI).

Creating an Application Package

Use the various Forms Applications Packager arguments to create the application package.

Here is the syntax to use the Forms Applications Packager.

fa_packager.sh appName=<app_name> appVersion=<app_version> artifactDirs=<artifact_dirs>
                       outputDir=<output_dir> preserveDir=<preserve_dir> startForm=<startForm> ignoreExt=<ignore extn list>

The Forms Applications Packager arguments should always be passed in the same order as listed in the syntax. Refer Table -9 for more information on the arguments.

Table -9 Forms Application Packager Arguments

Argument Description Mandatory/Optional Notes

appName

Forms Application name

Mandatory

The first argument always needs to be the Forms Application Name.

Example: sales

appVersion

Forms Application version

Mandatory

The second argument always needs to be the Forms Application Name. This is the Forms Application version and it has not nothing to do with the Forms Product version.

Example: 1.0

artifactDirs

Forms Applications Artifacts directory

It is the directory where the Forms Application artifacts (Forms, Menus, PLSQL libraries, Object libraries) reside.

Optionally, Forms applications related configuration can be included into the FAR file by creating the configuration contents in the files. as shown in Table -10.

Mandatory

The third argument always needs to be the artifacts directory.

Avoid creating one top-level directory for all the Forms applications.

Example: if you have Forms Applications Sales, Finance and Human Resources. Create a separate top-level directory for each one of these applications and pass that directory path as the artifacts directory.

When specifying optional configuration files, place the files under the top level directory of the artifacts directory. The Forms Application Packager will pick up the configuration from these files and include it in the FAR file.

outputDir

It is the directory where the FAR files are generated.

Optional

Note:

When preserve_dir argument is used then output_dir becomes mandatory.

When used, it should always be the forth argument passed to the FA packager.

If you provide the output directory, then fa_packager will generate the far files under this directory. If you don’t provide this argument then fa_packger will generate the far files under the current directory.

preserveDir

It is a boolean argument (true/false) with a default value of false.

It indicates if the directory structure from the artifact directory needs to be preserved in the FAR files.

Optional

When used, it should always be the fifth argument passed to the FA packager.

Table -10 Forms Applications Related Configuration Files

File Notes Destination Forms Configuration Files

app.cfg

The contents of this file will be added to formsweb.cfg during deployment by FADS.

  • You can define multiple application sections in this file.

  • You should not have an application section named “default”, nor should you name any Forms Application as default.

  • When the user does not provide app.cfg, an empty application section based on the application name is created in formsweb.cfg.

  • If userId parameter is added to this file, it will be ignored.

formsweb.cfg

app.env

The contents of this file will be added to a new env file during deployment by FADS.

  • When the user does not provide app.env, a Forms environment configuration file is still created by FADS with all the required environment variables.

<appname>.env

app_jvmcontrollers.cfg

The contents of this file will be added to jvmcontrollers.cfg during deployment by FADS.

jvmcontrollers.cfg

app_registry.dat

The contents of this file will be added to Registry.dat

Registry.dat

Understanding FAR File Contents

This topic describes the contents of the FAR files.

The contents of the FAR file which are generated by the Forms Application Packager, are shown in Table -11:

Table -11 FAR File Contents

Name Description

Forms_application.xml

It is the FADS deployment descriptor, which contains all the metadata relevant to the packaged Forms Application.

fmb directory

Includes all the Forms (fmb) files from the Forms Application artifacts directory.

mmb directory

Includes all the Menus (mmb) files from the Forms Application artifacts directory.

pll directory

Includes all the PLSQL libraries (pll) files from the Forms Application artifacts directory.

olb directory

Includes all the Object libraries (olb) files from the Forms Application artifacts directory.

sql directory

Includes all the SQL files files from the Forms Application artifacts directory.

user_exits directory

Includes all the User Exit libraries (.so and .dll for Windows platform) files from the Forms Application artifacts directory.

client_jars directory

Includes the following artifacts from the Forms Application artifacts directory:

  • JAR files (*.jar)

  • HTML files (*.htm, *.html)

  • Java Script files (*.js)

  • Image and Icon files (*.jpeg, *.jpg, *.gif, *.png)

  • JNLP files (*.jnlp)

java_importer directory

If the Forms application has any Java Importer related jar files those should be placed under a directory named java_importer and placed under the top level directory under the Forms Application artifacts directory.

misc_files directory

Includes all Microsoft Word (*.doc, *.docx) files, Portable Document Format (*.pdf) files and Text (*.txt) files from the Forms Application artifacts directory.

webutil 32-bit files directory

Includes all the 32-bit webutil files.

The top-level webutil directory includes the win32 subdirectory that contains all the 32-bit webutill files. Here is an example.

webutil/win32/*.dll

webutil 64-bit files directory

Includes all the 64-bit webutil files.

The top-level webutil directory includes the win64 subdirectory that contains all the 64-bit webutill files. Here is an example.

webutil/win64/*.dll

Note:

If the preserve_dir argument is passed, none of the directories, shown in Table -11, will be created. The sub-directories similar to the sub-directories under the artifacts directory will be created in the FAR file.

Application Package Deployment

After you create the application package, you can deploy it using FADS.

The following topics are included:

Using the Web Interface

The FADS web interface helps you to quickly deploy applications.

The following topics are included:

Understanding the UI

The FADS web interface includes the Dashboard and Archives tabs. You can also use the drop-down menu to access the configuration options.

Dashboard Tab

The Dashboard tab of the FADS web interface is displayed when you initially log on. As the name suggests, this tab allows you to deploy applications and view the deployment progress and status. Description of fads_dashboard-png.png follows
Description of the illustration fads_dashboard-png.png

Archives Tab

The Archives tab lists all applications deployed earlier. You can review the archive name, application name and version, and date. Use the Search field to locate a specific application in the list. For a selected application in the list, you can view details, deploy, stop deployment, delete, or download. Description of fads_archives.png follows
Description of the illustration fads_archives.png

<username> Drop-Down Menu

The <username> drop-down menu (for example, weblogic) includes multiple options. Using these options you can view service configuration, download tools, view logs, and specify page refresh interval.

Description of fads_config.png follows
Description of the illustration fads_config.png

Click the Services Configuration option to view the Services Configuration page that lists FADS-related configuration settings. The page includes the Environment, Settings, and Rules sections that are prepopulated. Description of fads_serv_config.png follows
Description of the illustration fads_serv_config.png

Deploying the Application Package

To deploy the application package you created with Forms Applications Packager, use the Dashboard tab in the FADS web interface.

  1. Access the FADS web interface.
  2. Navigate to the Deploy section on the Dashboard tab.
  3. Select the server from the WLS server list.
  4. Specify the database user credentials needed to generate this Forms application.
  5. Enter the database name needed to generate this Forms application.
  6. Browse and select the application package (.far) file and click Deploy.
    The Contents section is updated to show the files contained in the selected application package. The Applications section displays the deployment status.
  7. Review the diagnostic logs for FADS services for information on any failures that might occur during deployment of FAR files or errors that occur with FADS deployment services.
    Access the FADS diagnostics logs by clicking on the drop-down arrow next to the current user's name on the upper right of the page, and then click on Latest Service Logs.

Using the Command Line Interface

Use the FADS command line interface to deploy multiple applications and to schedule deployment of applications.

The FADS command line interface is efficient when you need to deploy:
  • Multiple applications simultaneously
  • Updates to multiple existing applications simultaneously
  • Schedule nightly or regular updates for selected applications
The FADS CLI provides multiple options to help you deploy and manage applications.

Table -12 List of FADSCLI Options

Option Description

listApps

Displays all the Forms applications deployed to the FMW domain through the Forms Application Deployment Services.

listArchives

Displays all the Forms Application Archive (far) files that reside in the Archives Repository in Forms Application Deployment Services.

deployApp

Deploys a given Forms Application Archive (far) file to the Forms Application Deployment Services running on the FMW domain.

deployApps

It is batch mode of deployment, where it deploys all the Forms Application Archive (far) files, under a given archives directory to the Forms Application Deployment Services running on the FMW domain.

deployArchive

Deploys a Forms Application Archive file residing in the Archives Repository to to the Forms Application Deployment Services running on the FMW domain.

undeployApp

Undeploys / deletes a Forms application that is currently deployed to the Forms Application Deployment Services.

describeApp

Describes the contents of a Forms Application that is currently deployed to the Forms Application Deployment Services.

deleteArchive

Deploys a Forms Application Archive file residing in the Archives Repository

downloadLog

Downloads the deployment logs of a a Forms Application that is deployed to the Forms Application Deployment Services.

downloadArchive

Deletes a Forms Application Archive file residing in the Archives Repository.

For more information on these options, see FADSCLI Options.

FADSCLI Options

This topic describes the options available for FADSCLI.

Help

The following script describes Help for FADSCLI.


sh-4.1$ ./fadscli.sh
fadscli Help : 
------------------------------------------------------------------------------------------------------------------------------
         options          |                description                                                                        
------------------------------------------------------------------------------------------------------------------------------
         listApps         |   displays all the applications deployed to the FMW domain                                        
         listArchives     |   displays all the far files that reside in the archives repository                               
         deployApp        |   deploys the far file to the FMW domain                                                          
         deployApps       |   deploys all the far files in the local archives directory (archivedir) to the FMW domain        
         deployArchive    |   deploys the far file (archivename) from the archive repository to the FMW domain                
         undeployApp      |   undeploys/deletes the Forms application from the FMW domain                                     
         describeApp      |   describes the contents of an application that is deployed on the FMW domain                     
         deleteArchive    |   deletes the archive from the archive repository                                                 
         downloadLog      |   gets the deployment logs of an application that is deployed to the FMW domain                   
         downloadArchive  |   downloads an archive from the archive repository                                                


Usage : 
     fadscli.sh option hostname=hostname portno=portno username=username password=password

-----------------------------o-p-t-i-o-n-s-----a-r-g-u-m-e-n-t-s--------------------------------------------------------------

     fadscli.sh listApps hostname=<hostname> portno=<portno> username=<username> password=<password>
     fadscli.sh listArchives hostname=<hostname> portno=<portno> username=<username> password=<password>
     fadscli.sh deployApp hostname=<hostname> portno=<portno> username=<username> password=<password> farfile=<path to the far file> dbuser=<dbuser> dbpassword=<dbpassword> dbalias=<dbalias> managedserver=<managedserver1,managedserver2>
     fadscli.sh deployApps hostname=<hostname> portno=<portno> username=<username> password=<password> archivedir=<path to the directory containing far files> dbuser=<dbuser> dbpassword=<dbpassword> dbalias=<dbalias> managedserver=<managedserver1,managedserver2>
     fadscli.sh deployArchive hostname=<hostname> portno=<portno> username=<username> password=<password> archivename=<archivename> appname=<appname> appversion=<appversion> dbuser=<dbuser> dbpassword=<dbpassword> dbalias=<dbalias> managedserver=<managedserver1,managedserver2>
     fadscli.sh undeployApp hostname=<hostname> portno=<portno> username=<username> password=<password> appname=<appname> appversion=<appversion>
     fadscli.sh describeApp hostname=<hostname> portno=<portno> username=<username> password=<password> appname=<appname> appversion=<appversion>
     fadscli.sh deleteArchive hostname=<hostname> portno=<portno> username=<username> password=<password> archivename=<archivename> appname=<appname> appversion=<appversion>
     fadscli.sh downloadLog hostname=<hostname> portno=<portno> username=<username> password=<password> appname=<appname> appversion=<appversion>
     fadscli.sh downloadArchive hostname=<hostname> portno=<portno> username=<username> password=<password> archivename=<archivename> appname=<appname> appversion=<appversion>

 optional argument: pass argument ssl=true when running HTTPS/SSL
------------------------------------------------------------------------------------------------------------------------------
sh-4.1$ 

listApps


sh-4.1$ ./fadscli.sh help listApps

listApps : displays all the applications deployed to the FMW domain 

usage:

     fadscli.sh listApps hostname=<hostname> portno=<portno> username=<username> password=<password>


arguments:
--------------------------------------------------------------
hostname      : Weblogic Admin Server hostname
portno        : Weblogic Admin Server port (ssl or non-ssl)
username      : Weblogic Admin username
password      : Weblogic Admin password

listArchives


sh-4.1$ ./fadscli.sh help listArchives

listArchives : displays all the far files that reside in the archives repository  

usage:

     fadscli.sh listArchives hostname=<hostname> portno=<portno> username=<username> password=<password>


arguments:
--------------------------------------------------------------
hostname      : Weblogic Admin Server hostname
portno        : Weblogic Admin Server port (ssl or non-ssl)
username      : Weblogic Admin username
password      : Weblogic Admin password

deployApp


sh-4.1$ ./fadscli.sh help deployApp

deployApp : deploys the far file to the FMW domain  

usage:

     fadscli.sh deployApp hostname=<hostname> portno=<portno> username=<username> password=<password> farfile=<path to the far file> dbuser=<dbuser> dbpassword=<dbpassword> dbalias=<dbalias> managedserver=<managedserver1,managedserver2>


arguments:
--------------------------------------------------------------
hostname      : Weblogic Admin Server hostname
portno        : Weblogic Admin Server port (ssl or non-ssl)
username      : Weblogic Admin username
password      : Weblogic Admin password
farfile       : path of the far file that is to be deployed
dbuser        : Forms application database username
dbpassword    : Forms application database password
dbalias       : Forms application database alias
managedserver : Forms Managed Servers where the Forms application should be deployed

deployApps


sh-4.1$ ./fadscli.sh help deployApps

deployApps : deploys all the far files in the local archives directory (archivedir) to the FMW domain

usage:

     fadscli.sh deployApps hostname=<hostname> portno=<portno> username=<username> password=<password> archivedir=<path to the directory containing far files> dbuser=<dbuser> dbpassword=<dbpassword> dbalias=<dbalias> managedserver=<managedserver1,managedserver2>


arguments:
--------------------------------------------------------------
hostname      : Weblogic Admin Server hostname
portno        : Weblogic Admin Server port (ssl or non-ssl)
username      : Weblogic Admin username
password      : Weblogic Admin password
archivedir    : local directory path containing the far files
dbuser        : Forms application database username
dbpassword    : Forms application database password
dbalias       : Forms application database alias
managedserver : Forms Managed Servers where the Forms application should be deployed

deployArchive


sh-4.1$ ./fadscli.sh help deployArchive

deployArchive : deploys the far file (archivename) from the archive repository to the FMW domain  

usage:

     fadscli.sh deployArchive hostname=<hostname> portno=<portno> username=<username> password=<password> archivename=<archivename> appname=<appname> appversion=<appversion> dbuser=<dbuser> dbpassword=<dbpassword> dbalias=<dbalias> managedserver=<managedserver1,managedserver2>


arguments:
--------------------------------------------------------------
hostname      : Weblogic Admin Server hostname
portno        : Weblogic Admin Server port (ssl or non-ssl)
username      : Weblogic Admin username
password      : Weblogic Admin password
archivename   : Name of the archive in archive repository
appname       : Forms application name
appversion    : Forms application version 
dbuser        : Forms application database username
dbpassword    : Forms application database password
dbalias       : Forms application database alias
managedserver : Forms Managed Servers where the Forms application should be deployed

undeployApp


sh-4.1$ ./fadscli.sh help undeployApp

undeployApp : undeploys/deletes the Forms application from the FMW domain   

usage:

     fadscli.sh undeployApp hostname=<hostname> portno=<portno> username=<username> password=<password> appname=<appname> appversion=<appversion>


arguments:
--------------------------------------------------------------
hostname      : Weblogic Admin Server hostname
portno        : Weblogic Admin Server port (ssl or non-ssl)
username      : Weblogic Admin username
password      : Weblogic Admin password
appname       : Forms application name
appversion    : Forms application version 

describeApp


sh-4.1$ ./fadscli.sh help describeApp

describeApp : describes the contents of an application that is deployed on the FMW domain  

usage:

     fadscli.sh describeApp hostname=<hostname> portno=<portno> username=<username> password=<password> appname=<appname> appversion=<appversion>


arguments:
--------------------------------------------------------------
hostname      : Weblogic Admin Server hostname
portno        : Weblogic Admin Server port (ssl or non-ssl)
username      : Weblogic Admin username
password      : Weblogic Admin password
appname       : Forms application name
appversion    : Forms application version 

deleteArchive


sh-4.1$ ./fadscli.sh help deleteArchive

deleteArchive : deletes the archive from the archive repository  

usage:

     fadscli.sh deleteArchive hostname=<hostname> portno=<portno> username=<username> password=<password> archivename=<archivename> appname=<appname> appversion=<appversion>


arguments:
--------------------------------------------------------------
hostname      : Weblogic Admin Server hostname
portno        : Weblogic Admin Server port (ssl or non-ssl)
username      : Weblogic Admin username
password      : Weblogic Admin password
archivename   : Name of the archive in archive repository
appname       : Forms application name
appversion    : Forms application version 

downloadLog


sh-4.1$ ./fadscli.sh help downloadLog

downloadLog : gets the deployment logs of an application that is deployed to the FMW domain  

usage:

     fadscli.sh downloadLog hostname=<hostname> portno=<portno> username=<username> password=<password> appname=<appname> appversion=<appversion>


arguments:
--------------------------------------------------------------
hostname      : Weblogic Admin Server hostname
portno        : Weblogic Admin Server port (ssl or non-ssl)
username      : Weblogic Admin username
password      : Weblogic Admin password
appname       : Forms application name
appversion    : Forms application version 

downloadArchive


sh-4.1$ ./fadscli.sh help downloadArchive

downloadArchive : downloads an archive from the archive repository 

usage:

     fadscli.sh downloadArchive hostname=<hostname> portno=<portno> username=<username> password=<password> archivename=<archivename> appname=<appname> appversion=<appversion>


arguments:
--------------------------------------------------------------
hostname      : Weblogic Admin Server hostname
portno        : Weblogic Admin Server port (ssl or non-ssl)
username      : Weblogic Admin username
password      : Weblogic Admin password
archivename   : Name of the archive in archive repository
appname       : Forms application name
appversion    : Forms application version