5 Deployment

The Oracle Simphony Client Application Loader (CAL) must install everything as it is the only method with privileges to install software. CAL packages are a logical grouping of loose files that reside on the CAL application server. These files typically include client software that needs to be copied and/or executed. In Simphony, all packages exist in the database.

Installing Packages

A special UTF-8 encoded text file named setup.dat is required for each CAL package. This file contains all the instructions needed to perform the installation of the software included within a package.

The CAL client requests this file for any package that requires installation on the client device. After the file transfers locally, each line of a setup.dat file processes synchronously until reaching the end of the file.

Lines beginning with a recognized command process immediately. All operations associated with the command found in the current line must complete successfully before the next line processes. Some commands can override this behavior. If a command did not complete successfully, the entire package installation aborts. When a package installation has failed, the setup.dat processes from the beginning of the file after the CAL client (or device) restarts.

Lines are ignored without generating an error when:

  • they begin with a comment character
  • the command name is unrecognized
  • the required parameters for the command are not provided

Platform Differences

Application Robot

This is a significant change from Windows for Integrators and aligns with the appliance model mentioned earlier.

Windows CAL allows the install folder to be defined using a combination of setup.dat commands and the 'Application Root' field in the CAL UI. The install location can be changed at any time, which potentially can lead to inconsistent installations with software scattered around the system.

Linux Application Root

The Change: All software will be installed in a fixed, predefined directory: /opt/oracle/simphony.

Integrator Root

Integrator binaries and all data files exist under the Integrator root directory: /opt/{integrator}, where{integrator} is the integration company or product name. The following sub-directories reside within this directory:

  • Binaries shall be placed in /opt/{integrator}/bin
  • Logs shall be placed in /opt/{integrator}/log
  • Temp files shall be placed in /opt/{integrator}/tmp
  • Persistent data (including databases) shall be placed in /opt/{integrator}/data

Oracle recommends that Integrators regularly perform the following:

  • Remove old binaries after upgrade
  • Remove temp files when done with them
  • Trim logs
  • Auto-purge databases
Failed Packages

Failed packages are handled differently between the Linux and Microsoft Windows platforms.

  • On Microsoft Windows, a failed package displays an error message, which requires the user to dismiss manually before package processing can continue.
  • On Linux, a failed package does not display an error message if another application has taken control of the display. Failed packages are still marked as failed, but subsequent packages requiring installation continue processing without user intervention.

General Syntax

The CAL client utilizes a simple language with only two types of production rules: commands and single line comments. The grammar for a single command consists of the command name and up to four parameters, all delimited by a ‘,’ character, as shown below:

[COMMAND NAME],[parameter1],[parameter2],[parameter3],[parameter4]

Command names are predefined case sensitive values. Each command may have zero or more required and/or optional parameters. Leading commas are only required for command parameters.

Comments start with the ‘#’ character followed by the comment text.

CAL Startup Commands Reference

CAL Startup command details are available as a reference document on My Oracle Support (MOS).

  • Cannot install a custom Linux OS service.
  • Workstation IP ports can open via a custom CAL package. See the Oracle Simphony Client Deployment Guide for information on opening ports.