Working with Model Variable Lists
When you build a model in the Host Integrator Design Tool, you can create model variables, which are placeholders for data. Situations where model variables are useful include:
- The same fixed model variable value needs to be used for all sessions in a session pool.
- Host user IDs and passwords must be provided for all sessions in a session pool, rather than being provided by the user.
You can accomplish these same tasks by configuring your session pools to provide values for the model variables in the models in your session pools. To use the value for all sessions in a pool, configure an individual model variable. If you need to provide a unique model variable value for each session in the pool, create a model variable list that contains a set of values for the model variables in the model on which your session pool is based.
When the data object provides a value for a model variable, it overrides any model variable values that have been assigned in the Administrative Console.
For more information about creating model variables in the Design Tool, search for "Model variable" in the Design Tool Reference.
Using Model Variable Lists
A typical use of a model variable list is to store host user IDs and passwords for the session server to use when logging into the host. This simplifies the login process. It is often necessary to create a pool of host user IDs and passwords for your client applications to use. In this case, you would create a model variable list that would assign a host user ID and password for each client session.
Keep the following restrictions in mind as you create and configure model variable lists:
- A session pool can use more than one model variable list, but a variable cannot appear in more than one list being used by the same session pool.
- The model on which the session pool is based must contain all the variables specified in the variable list.
- A session pool's total session count cannot exceed the number of entries in the model variable lists it uses.
Creating and Configuring Model Variable Lists
You can use the Administrative Console to create and configure a model variable list, or define it during deployment with deployment descriptors. It is recommended that you choose one of these options and continue to use the same option for other updates; changes performed in the Administrative Console are overwritten when you use a deployment descriptor file.
Open the Administrative Console and log onto the management server using an Administrator profile. Open the Host Integrator perspective.
In the Session Server Explorer tree, click Servers, and then select the session server for which you want to create the model variable list.
Right-click Model Variable Lists and select Add Model Variable List. The Add Model Variable List dialog box displays.
Type a name for the new model variable list in the List name field, and then click OK. The model variable list displays in the Session Server Explorer tree and in the Model Variable List view. To open the view, click Open Model Variable Lists view in the Overview panel or right-click Model Variable Lists in the Session Server Explorer tree and select Open Associated Views.
Creating entries in your list
At this point, you have a model variable list. This list can be used by all session pools on the server. To complete the process, follow the steps below to create list entries in your model variable list:
In the Session Server Explorer tree, click the model variable list you just created, and then click Properties.
In the Model Variable List panel, click Add to add variables and variable values. In the Variable Name box, enter the name of the variable, for example, userID. The variable name you enter here must be a variable configured in the model on which the session pool that will use this model variable list is based.
To continue adding variables, click Create on the Add Variables dialog box. As you add variables they are entered in the Variables list on the Properties page. When you add a variable, you can specify if the value of the variable is unique or will contain hidden values. At least one variable in the list should contain unique values.
To hide the value for a variable, select Hide Values. These variables are encrypted. This corresponds to Encrypt value in the Design Tool. Once you've hidden and submitted a value, they remain hidden.
In the Entries section, click Add to enter a value for each variable, for example User1. Click Create to add multiple entries. Click Close.
Configuring session pools to use the list
Now that you've created a model variable list, configure one or more session pools to use it.
In the navigation tree, click Pools, and then click the session pool that you want to configure.
Right-click Properties, and then select Model Variable lists. A list of available model variable lists is displayed in the top panel.
Select one or more lists, and then click OK.
You can review the information regarding available session pools and model variable lists in the corresponding Pool or Model Variable Lists views.
Determining Variable Names in a Model Variable List
Session pools are based on models. When you create a model variable list, variable names must be valid for the model on which the session pool is based.
In the Session Server Explorer tree, select the session pool, right-click, and select Properties.
In the left pane of the Properties pane, open Model Variable Lists. You can see the model variable lists available for use with the session pool and those that are not.
The page contains a list of variables defined in the model that is associated with the selected pool, as well as the model variable lists that cannot be used by the model, including the reason why.
Securing Host Passwords
If you use session pools (especially with 3270 or 5250 hosts), a model variable list defines the unique host user names and passwords for the session server to use. The variable values are specified in the model deployment package and stored on the server.
Whether you create a model variable list in the Design Tool deployment options (mvl_desc.xml) or in the Administrative Console, it is the best practice to use the Hidden option for host passwords. This option provides the following benefits:
- When creating your model package file, the variable values can be encrypted. In the packagemodel command, if you add the -e "passphrase" option, your phrase will generate a 3DES (Triple DES) encryption key to encrypt the hidden variable values. It is best to use a phrase of at least eight random characters or at least five space-delimited words. The same passphrase will be required to decrypt values when deploying with the activatemodel command.
- On the session server, the variable values are automatically encrypted in the sesssrvr.config file using 3DES (Triple DES).
- In the Administrative Console, the encrypted variable values are not visible in View or Config Mode. Requiring administrator authentication to use the model variable management API is also a very good practice. See Working Securely for information on authentication and authorization.
To use the Hide option in the Administrative Console
- In the Session Server Explorer, select the server associated with the model variable list.
- Expand the Model Variable List node and select the model variable list you are securing. From the right-click menu, choose Properties. This opens the property dialog for the model variable list.
For each variable you are adding, choose Hide values to encrypt the variable.
Using Fixed Value Model Variables
Values for fixed value model variables are associated with all sessions in the associated pool. To configure a model variable:
In the Session Server Explorer, if necessary, create a session pool.
Open the properties page for the pool. To open the properties page, right-click on the pool and choose Properties, or click on the toolbar.
In the left pane of the Properties page, select Model Variables.
Click Add to enter the name of the pool model variable you wish to create and the fixed value. The Variables Defined in Model table shows where the variables are used. You cannot interact with this table. By default, all models have the variables userID, cursorPosition, and password. The model you're working with may have additional variables; these were designated when the model was created in the Design Tool.
The model variable value you provide here will be used for all sessions in the session pool. If you want to provide a unique value for each session, create a model variable list.