Skip to main content

Guided full Thinkwise Platform deployment

Introduction to guided platform deployment

The Thinkwise Deployment Center ('Deployer') is created to make the deployment of Thinkwise products easier. You can use it to install:

  • The Software Factory development environment.
  • An application environment that consists of an Intelligent Application Manager, Indicium Application Tier, and user interfaces.

Products that are currently supported for deployment by the Thinkwise Deployment Center include:

  • Intelligent Application Manager
  • Software Factory
  • Upcycler
  • Windows GUI
  • Web GUI
  • Universal GUI
  • Indicium (Mobile)
  • Indicium Application Tier
  • Your own applications created with the Thinkwise Platform (as of Software Factory/IAM v2019.1 and Deployer v1.8.0).

Quick reference guide

WhenDescription
AlwaysCheck the prerequisites.
AlwaysCheck the information about Licences.
AlwaysInstall an Intelligent Application manager.
Need-to-haveInstall what you need: the Software Factory, Indicium, GUI(s), and the Upcycler.
If applicableMore information on the manifest.

Prerequisites

  • .NET Framework 4.6.1 or higher, installed on the computer that runs the deployer tool.
  • Good IIS knowledge.
  • Remote Universal GUI, Web GUI and Indicium deployment is only available through the Microsoft IIS Administration API.
  • Also check each product's own prerequisites (for example, Indicium, Universal GUI).

Getting started

The Thinkwise Deployment Center is available as a:

  • GUI application (twdeployerGUI.exe) for deployment by following steps in a user interface.
  • Commandline tool (twdeployer.exe) for automated deployments.

It is not possible to download these tools separately. Both are included in the installation package.

  1. Open the download page in the Thinkwise Community Portal.

  2. Select the Deployment Center.

  3. Select the Download installation package task.

  4. Select the GUIs and Applications you want to include into the installation package.

    caution

    If you select Hotfix only, you can only install hotfixes for the selected applications, if available. So, for a full or first-time installation, make sure that Hotfix only is deselected.

  5. Select Execute.

  6. If necessary, select another folder in the explorer.

  7. Select Save.

  8. If the download is complete, extract the files.

  9. Navigate to the folder with the extracted files:

    • To start the deployment with a user interface (GUI), run the twdeployerGUI.exe. Continue with Install an Intelligent Application Manager.
    • To start the deployment with a Command Line Interface (CLI), run twdeployer.exe.

Deployer The extracted folders and files for the Deployment Center

Install an Intelligent Application Manager

Always start by installing the Intelligent Application Manager for the Thinkwise application or the Software Factory development environment. Four deployment options are available:

  • Install - Install an IAM database and import the corresponding model into the newly created database.
  • Upgrade - Upgrade an existing IAM.
  • Hotfix - Run all hotfixes for the IAM.
  • Sync Meta Model - Re-synchronize an application's meta model into IAM without installing or upgrading the database.

Sync Meta Model is available for deployment packages generated by the Software Factory if the Deployment Center detects a 'MetaModel' folder at the same directory level as an 'Install' or 'Upgrade' package.

  • The synchronization deployment for the Software Factory and Upcycler requires the name of a matching database due to their post-synchronization scripts. These products use the database name, for example, to create an application record inside the target IAM.
  • For applications other than the Software Factory and Upcycler providing a database name is optional since the Deployment Center cannot detect if the post-synchronization scripts use it.

Deployer

note

An Indicium Universal runtime needs to be installed and running for every Intelligent Application Manager.

If you have installed an IAM and want to install a development environment, the next step is to continue with the Software Factory installation.

Install a Software Factory

caution

Stop Indicium before you upgrade the Software Factory.

If Indicium keeps running, it will log its presence in IAM and start executing system flows for the Software Factory. In that case, data gets mutated, which leads to errors during the upgrade.

Four deployment options are available:

  • Install - Install a Software Factory database.
  • Upgrade - Upgrade an existing Software Factory.
  • Hotfix - Run all hotfixes for the Software Factory.
  • Sync Meta Model - Synchronize the Software Factory's meta model into an IAM instance.

It is necessary to add the model of the Software Factory development environment to an IAM. Therefore, the first step is to connect with a database server and select the IAM database. Usually, this is the IAM database created in the previous step.

To skip the synchronization step, clear the Import application model checkbox on the Synchronization options screen. This can be useful when a single IAM has been configured with multiple instances of the same application on different servers.

After installing the Software Factory, you can use the previously created IAM shortcut to start the development environment.

Synchronization options Synchronization options for the Software Factory

Install a Windows GUI

Three deployment options are available:

  • Install - Install a Windows GUI to a directory.
  • Upgrade - Upgrade a Windows GUI inside a directory.
  • Create startup config - Create a new startup configuration file and optionally a shortcut to a Windows GUI installation. Note that when you (re)load a configuration template, you must also reselect the IAM.

To skip the synchronization step, clear the Import application model checkbox on the Synchronization options screen. This can be useful when a single IAM has been configured with multiple instances of the same application on different servers.

Install a Web GUI

note

If you use the Deployment Center to install the Web GUI remotely, the IIS Administration API needs to be installed on the web server.

Four deployment options are available:

  • Install (Local) - Install a Web GUI to the IIS instance on the current server.
  • Upgrade (Local) - Upgrade a Web GUI to the IIS instance on the current server.
  • Install (IIS API) - Install a Web GUI on a (remote) IIS server using the IIS API.
  • Upgrade (IIS API) - Upgrade a Web GUI on a (remote) IIS server using the IIS API.

Install a Universal GUI

note

If you use the Deployment Center to install the Universal GUI remotely, the IIS Administration API needs to be installed on the web server.

Four deployment options are available:

  • Install (Local) - Install a Universal GUI to the IIS instance on the current server.
  • Upgrade (Local) - Upgrade a Universal GUI to the IIS instance on the current server.
  • Install (IIS API) - Install a Universal GUI on a (remote) IIS server using the IIS API.
  • Upgrade (IIS API) - Upgrade a Universal GUI on a (remote) IIS server using the IIS API.

Install an Indicium (Mobile)

note

If you use the Deployment Center to install Indicium (Mobile) remotely, the IIS Administration API needs to be installed on the web server.

Four deployment options are available:

  • Install (Local) - Install an Indicium Application Tier for the Mobile GUI to the IIS instance on the current server.
  • Upgrade (Local) - Upgrade an Indicium Application Tier for the Mobile GUI to the IIS instance on the current server.
  • Install (IIS API) - Install an Indicium Application Tier for the Mobile GUI on a (remote) IIS server using the IIS API.
  • Upgrade (IIS API) - Upgrade an Indicium Application Tier for the Mobile GUI on a (remote) IIS server using the IIS API.

Install an Indicium Application Tier

note

If you use the Deployment Center to install an Indicium Application Tier remotely, the IIS Administration API needs to be installed on the web server.

Four deployment options are available:

  • Install (Local) - Install an Indicium Application Tier with support for the Universal GUI to the IIS instance on the current server.
  • Upgrade (Local) - Upgrade an Indicium Application Tier with support for the Universal GUI to the IIS instance on the current server.
  • Install (IIS API) - Install an Indicium Application Tier with support for the Universal GUI on a (remote) IIS server using the IIS API.
  • Upgrade (IIS API) - Upgrade an Indicium Application Tier with support for the Universal GUI on a (remote) IIS server using the IIS API.

Install the Upcycler

caution

Before you install and use the Upcycler, consult the manual and contact your Thinkwise representative.

Two deployment options are available:

  • Install - Install an Upcycler database.
  • Sync Meta Model - Synchronize the Upcycler's meta model into an IAM instance.

To skip the synchronization step, clear the Import application model checkbox on the Synchronization options screen. This can be useful when a single IAM has been configured with multiple instances of the same application on different servers.

Default settings Deployment Center GUI

The Deployment Center comes with a settings file for the GUI. It is called twdeployerGUI.appsettings.json. You can use it to store some default values for various screens during startup.

Default template

The default template is:

{
"DbConnection": {
"Host": "",
"Username": ""
},
"IISApi": {
"ServerUrl": "https://localhost:55539",
"ApiKey": "",
"Username": "",
"TrustInvalidSSLCert": false
},
"Manifest": {
"SelectionDirectory": "",
"LoadOnStartup": [
],
"HideLoadAfterLoadOnStartup": true
},
"Flow": {
"ModelSync": {
"Application": {
"HideScriptVariablesStep": true,
"UseDefaultDatabaseName": true
}
}
}

Default host and username

  • DbConnection - use this section to specify a default Host and Username when making a connection to a database server, for example, when starting an install or upgrade flow.

    • If Username is empty or otherwise unspecified, the GUI assumes you want to use Integrated Security instead.

    • After a successful connection to a database server, the GUI will continue to load the information of the last successful connection for subsequent screens.

      Example:

      {
      "DbConnection": {
      "Host": ".\\sql2019",
      "Username": "sa"
      }
      }

      dbconnection DbConnection settings result in the GUI

Default connection to IIS API

  • IISApi - Use this section to specify default connection settings to a Microsoft IIS Administration API instance.

    Example:

    {
    "IISApi": {
    "ServerUrl": "https://localhost:55539",
    "ApiKey": "not a real key just an example",
    "Username": "tsf\\thisisausername",
    "TrustInvalidSSLCert": true
    }
    }

    iisapi IISApi settings result in the GUI

Defaults for manifest at startup

  • Manifest - Use this section to indicate how manifests are loaded by the GUI at startup.

    • SelectionDirectory - Use this setting to change the file picker on the Load Manifest screen, to always try and open in the specified directory.

      • If the directory does not exist or cannot be found, the file picker control will fall back on the default Windows behavior. In that case, it tries to open the last directory from which a user has selected a file.

      • The directory path must be specified using Windows style path separators (backslash). Since the settings file uses JSON, this means you always need to escape it. So, use C:\\Manifests instead of C:/Manifests or C:\Manifests. And use \\\\unc_share\\directory instead of \\unc_share\directory.

        Example:

         ```json
        {
        "Manifest": {
        "SelectionDirectory": "C:\\Manifests"
        }
        }
        ```

        SelectionDirectory SelectionDirectory setting result in the GUI

    • LoadOnStartup - Use this section to specify multiple manifest files to load during startup. When you leave it unspecified or empty, the GUI will look for a Manifest.json/yaml/yml file in the executable's directory.

      {
      "Manifest": {
      "LoadOnStartup": [
      "C:\\Manifests\\Manifest_2021_2.json",
      "C:\\Manifests\\Manifest_2021_3.json",
      "C:\\Manifests\\Manifest_2022_1.json"
      ]
      }
      }

      manifest Manifest setting result in the GUI

      Paths are relative to the location of the executable. So, if you also want to load the default manifest locations, you must add them.

      Example:

      {
      "Manifest": {
      "LoadOnStartup": [
      "Manifest.json",
      "C:\\Manifests\\Manifest_2021_2.json",
      "C:\\Manifests\\Manifest_2021_3.json",
      "C:\\Manifests\\Manifest_2022_1.json"
      ]
      }
      }
    • HideLoadAfterLoadOnStartup - By default, the GUI hides the separate manifest loading and selection screens if a manifest is loaded during startup. You can change this behavior by setting it to false.

      Example:

      {
      "Manifest": {
      "LoadOnStartup": [
      "C:\\Manifests\\Manifest_2022_1.json"
      ],
      "HideLoadAfterLoadOnStartup": false
      }
      }

      HideLoadAfterLoadOnStartup The separate manifest loading and selection screens are no longer hidden

Hide the script variables step

When going through the model synchronization flow for an application, you will be prompted for a database name to be used in the script's post-synchronization section. This value is optional and can be disabled.

  • Flow:ModelSync - Section for the model synchronization flow.

    • HideScriptVariablesStep - Hide the database prompt in the post-synchronization section of the Deployment Center GUI.
{
"Flow": {
"ModelSync": {
"Application": {
"HideScriptVariablesStep": true
}
}
}
}

Default database name for model synchronization

It is possible to use the default database name as default value for the model synchronization script variable.

  • Flow:ModelSync - Section for the model synchronization flow.

    • UseDefaultDatabaseName - When set to true, the Deployment Center GUI will use the value of the product's defaultDatabaseName property in the manifest.

Example:

{
"Flow": {
"ModelSync": {
"UseDefaultDatabaseName": true
}
}
}

In the following manifest, the GUI will use MY_APP as the default value for <@db_name,,> in the script variables step. This also works in combination with the HideScriptVariablesStep setting.

{
//...
"products": [
{
"type": "Application",
//...
"packages": [
{
"type": "Install",
"path": ".../MY_APP/Install",
"defaultDatabaseName": "MY_APP"
}
]
}
]
}

Troubleshooting Platform installation

tip

The Help/Information menu in the Deployment Center menu also contains useful advice and references.

The following messages/problems can occur during the platform installation:

This compatibility level is for SQL Server [version] or higher

This problem can have one of two possible causes:

  • The SQL Server is outdated and needs an update. In that case: update the SQL Server to a supported version.

or:

  • The SQL Server has the required version, but in the database it's configured at a lower version. In that case:
  1. Open SQL Server Management Studio and go to the IAM database properties.
  2. Open the Options menu.
  3. Check if the Compatibility level is set at the right level.

IAM properties IAM properties in SQL Server Management Studio (Compatibilty level)

Licenses

See: