IFS Installer Technical Overview

This document describes the Installer from a technical overview perspective. For more details on please read IFS Installer Interface.

Intention

The Installer Tool is intended to have a minimum amount of logic. The components file structure, xml-files and plugins owns the logic. The purpose is to be able to add components and functions without modifying or patching the Installer itself.

A component can easily add and modify its own installation scripts or plug ins.

Basic

Installer is a java application included in the fndbas component. Besides java it requires ant software to perform its actions. All scripts used for actions are ant scripts.

The Installer can be started both from <build_home>, to install to a target <ifs_home>, and from an existing <ifs_home> for reconfiguration or patching. One <ifs_home> on the target servers disk corresponds to one specific version of IFS Applications.

There are two main sections in the Installer interface

The Installer itself owns the following forms:

Form Description
Startup Main Select what main step to execute.
Verify Locations For confirming OS information,<build_home> and <ifs_home>
Select Components to Install What to Install to <ifs_home>
Manage Application Server Instance Name and description for Instance
Select Components to Deploy What to Deploy to a Instance
Execute Installation and Deployment Actions For confirming process start and showing progress log

Flow

Starting from a <build_home>:

The start scripts for Installer, installer.cmd or installer.sh are OS specific and will start by installing java and ant software to a temporary location. Some OS version uses its own java version. The start scripts will in this case, prompt for the location of the local java home.

The Installer will scan all folders in it's <build_home> for config.xml files. They will be parsed and validated. Valid components with a install tag will be automatically included in the installation and components with declaration showme as type in install tag will appear on screen as optional components to install.

Starting from a <ifs_home>:

The script for Installer will exist in the <ifs_home>, and depending on OS it will be either installer.cmd or installer.sh.

Actual execution per OS


Execution of  database code (server plugin)

If the Installer started from <build_home> and execution of database code is selected, following steps will be called.

Prepare database / File Executor:
-
fileExec step. The step is performed for ALL components having these tags specified. Only server component should have this defined in the config_fndbas.xml file.

Deploy Database Objects:
-
deployDB step. The step is performed for ALL components having these tags specified. Only server component should have this defined in the config_fndbas.xml file.

If the Installer is started from <ifs_home> and a delivery is installed including database code, the deployDB step will be called.


Installation

This includes the analyze and install steps. Each step is performed for ALL components having these tags specified. This means that the analyze runs first, for ALL components before running install for ALL components.

The purpose of the analyze step is to investigate the files that will be installed, and if implemented, can inform the user if specific actions has to be taken. This logic is useful when installing deliveries, where different deliveries may requires different actions to be performed. An example of this logic is where analyze of the delivery to install will set the SystemRestart property and give the user a possibility to decide if the installation process should stop before Middleware Application Server will be shutdown.

What Installer itself will perform

Installers own config.xml is always the first to be processed. After analyze step is executed for ALL components, the install step for the installer will create the base folder structure in <ifs_home> and install itself.

A folder for the current instance is created, <ifs_home>\instance\<instance>, and a ant build.properties file with all properties having ifs. as prefix is created in that folder.

What other components will perform

The install step is performed for ALL components before the configuration starts.

The Installer executes what is defined in the components config.xml install tag. To find out what actually is performed, you must analyze the contents of the config.xml.

A normal procedure for install is copying files from <build_home> to <ifs_home>\repository.


Configuration

This includes the delete, configure, build, post and finalize steps. Each step is performed for ALL components having these tags specified. This means that the delete runs first for ALL components before running configure for ALL components.

What other plug ins will perform

The Installer executes what is defined in the components config.xml tags. To find out what actually is performed you must analyze the contents of the config.xml.

Examples:

Step Action (example)
delete remove the components files deployed to an Instance
configure edit xml files for the current Instance
build create the Applications j2ee files
post cleanup
finalize finalize


Finish

Installer displays a screen log that should be examined and further logs are located on <ifs_ home>.

Log file Description
installer.log The current log for installing to the <ifs_ home>
/logs History logs and other logs
/instance/<Instance>  The current log for creating the Instance
/instance/<Instance>/logs History logs

After a successful installation the System URL is shown in the progress bar field.

If an answer is received on this URL, a call to a welcome page is performed. Depending on OS version a browser will start with the welcome page. You can also double click on the URL to initiate this action.


Configuration setup files in <ifs_home>

Installer has created two important xml files holding the configuration for the <ifs_home> and for the Instance.

In <ifs_home> the file is installer.xml

In <ifs_home>/instance/<Instance> the file is <Instance>_configuration.xml.

These files can be used to perform unattended installations. A backup copy of the xml files are saved in the same locations as the log files.