Configure Local Server
Use the Configure Local Server plugin in the Administrative Console (select 7i Server Admin, then Setup) to set up the registry entries on the local 7i server that are required for the application to run properly.
Click Save Changes to save all of the changes to the registry. Multiple changes can be made before choosing to save. However, to maintain software stability, the Data Processing Service must be shut down before the save. The status information on the toolbar maintains the current status of the Data Processing Service. Click Stop/Start Service to stop and start the services depending on the current status.
Server Config
How the software functions while shutting down the service is configurable. From the Preferences menu, the Settings option allows you to configure how long to wait on the BTMQHOST processes when shutting down and whether or not to terminate them if they are still not shut down after the timeout. Use these settings sparingly, as terminating those processes may compromise the stability of the server.
These settings are required by the Data Processing Service during the initial startup; they are required for the server to run properly at all.
System Catalog Connection: This is the ODBC connection string used by the Data Processing Service to locate the system catalog. The Refresh button on the far right of the field allows the connection string to be refreshed using the current connection.
IFAS7 Root Directory Path: This is the path on the local machine where the web components of 7i are installed, for example, c:\inetpub\wwwroot\ifas7.
Server Group: This is the name of the group to which this server belongs. A group of servers is assumed to share the same connections. For functions such as cache flushing, this allows them to be grouped. The name does not necessarily correspond to a domain or load balancing name.
Active IFAS Connections: This list allows one or more connections to be activated for this server. All connections must reside in the current System Catalog and at least one connection must be defined per server. Enabling multiple connections can negatively impact server resources.
Data Processing Service
These settings control how the Data Processing Service will behave once it is running.
Initial System Threads: Internally, the Data Processing Service maintains a thread pool to process incoming service requests. The primary request type is for a list of active connections that are being serviced on the local machine. This thread pool starts with an initial number of threads that are governed by this value.
Maximum System Threads: The internal system request thread pool begins with the number of threads specified by the Initial System Threads value. As requests come in, a thread from the pool processes them. If there are more requests than threads and the maximum thread value has not been reached, a new thread will be created and added to the pool.
Maximum Restarts: This value controls how many times a particular queue processor will be restarted by the service before ceasing to perform the restart. This value allows you to control having a situation where the service continually restarts the queue processor when the host is not available.
Maximum Restart Failures: This value controls the maximum number of failures that can occur during the attempt to restart a queue processor. If a queue processor loses its connection to the database and has to be restarted, there may be a time during which the box will not accept new requests.
Maximum Connection Loss: This value controls how many times a processor may lose its connection to the database before indicating that it needs to be restarted by the service. When a database connection is lost, the queue processor will stop processing messages on the thread that lost the connection and spawn a new thread.
Ping Interval: This value governs the time (in seconds) between inter-group ping messages. Each instance of the Data Processing Service maintains contact with other instances in the same processor group by sending a ping message at an interval specified by this value. This is used to maintain a consistent configuration amongst the servers.
Restart Delay: This value specifies the number of seconds that the Data Processing Service should wait before restarting a processor that requested a restart. In some cases, the back-end database connectivity layer may wait for a particular interval to elapse before accepting new requests; this allows the software to wait for that interval before attempting to establish a new connection. The default value is 10 seconds and the minimum value is 5 seconds. For example, the OpenLink request broker will wait for a specified interval before accepting new connections. This value is controlled by the ReceiveTimeout configuration parameter in the OpenLink rulesbook (oplrqb.ini). If this value is set to 30, the restart delay is set to 5, and the maximum restart failure is set to 3, it is possible that the service could attempt to restart the processor 3 times, with each failing, before the OpenLink request broker accepts the request. At this point, the Data Processing Service would not attempt to restart the queue processor and would log an event to the Event Log.
Performance Statistics
Enable Performance Statistics: This option will enable Performance Statistics for the Data Processing Service. Use this option only if active performance monitoring is going to occur on this server.
Queue Processors
There are seven BusinessPlus (btmqhost.exe) processes that the application uses at the various stages of processing. Each process has many threads (sub-processes) to handle the heavy traffic load from multiple users.
The seven processes are divided into five categories:
- Screens - High (and Low) Priority Queue - Two btmqhost.exe processes. Most of the operations on Web pages (7i screens) are done by the Screen High Priority queue process, which means it gets ahead in the queue while waiting for CPU processing. Some operations like data encumbrance on purchasing records are performed by the Screen Low Priority process which is not time-sensitive and can be done when the CPU has processed the high priority requests.
- Nucleus - High (and Low) Priority Queue - Two btmqhost.exe processes. Most of the dashboard menu items and sub-items, questions, and prompts are processed by the Nucleus High and Low Priority processes. Some COBOL-side data transfer to the 7i application also gets handled by these processes.
- Tools - High Priority Queue - One btmqhost.exe process. Side menu tools on 7i screens are handled by the Tools process to keep them separate from the main processing.
- Daemon High Priority Queue - One btmqhost.exe process. The Daemon High process handles the communication with the App server (COBOL processes). This process uses default system settings since it is a dedicated process for specific tasks.
- Reports High Priority Queue - One btmqhost.exe process. The Report High process handles the 7i CDD report data transfer to the web page. This process uses default system settings since it is a dedicated process for specific tasks.
Each connection on the server can have unique thread settings for the Screens and Nucleus queues. Alternatively, the connection can simply use the system defaults.
Use Defaults: If checked, the system will use the default values as opposed to reading them from the registry.
Initial Threads: Internally, the Data Processing Service has both a high priority request processor and a low priority request processor that service requests coming in from data entry screens. These processors maintain a thread pool to process incoming service requests. This thread pool starts with an initial number of threads that are governed by this value. The default value is 1. The processes automatically adjust the number of executing threads based on the demand for the service. The number of active threads will be adjusted up until the Maximum Threads setting is reached.
Maximum Threads: A screen processor's thread pool begins with the number of threads specified by the Initial Threads value. As requests come in, a thread from the pool processes them. If there are more requests than threads, and the maximum thread value has not been reached, a new thread will be created and added to the pool. The default value is 2 * the number of CPUs + 2.
Thread Timeout: When a screen's processor thread has processed a request for a specified period without completion, the thread will be timed out, and a timeout status returned to the data entry user. This field defaults to 0, indicating no timeout.
Broadcast Settings: Before 7.9, the Config web page attempted to broadcast these settings to the other servers in this same server group. This had two issues: First, it was not always clear which settings would and would not get broadcast, and second, not all clients were aware this broadcast was happening. Now the broadcast is not automatic; it is instead handled with a tool in the Tools panel of this plugin.
Applications
Some applications have settings that specify how that particular application will function while running on a 7i server.
Click, Drag & Drill
Report Expiration (in days): After a report is run, there are intermediate files that are kept in the directory specified by the File Storage Path parameter. The report expiration value indicates how many days a file should be kept on disk before removing the file from the file system. For example, if the ReportExpiration value is set to 2 then all the folders or files older than 2 days are cleared out of that folder, but ones created within the last 2 days would remain until the time expires.
File Clean-up Interval (in minutes): The file clean-up interval specifies the interval in minutes between runs of the process that removes temporary intermediate files. The clean-up process clears out all the folders and files under this path recursively (which means it would clean up all the folders and files under this path till it is empty based on the criteria you enter). The clean-up process gets run periodically by the BusinessPlus Data Processing Service. Use the registry key FileStorageCleanup to determine the frequency or time interval between each run.
Initial Instances: CDD report requests that are made under BusinessPlus 7i are queued to a request queue that is serviced by several instances of CDD. The initial instances specify how many instances of CDD are launched when the first report request is received and serves as a low watermark for how many instances will remain alive. The Initial Instances must be greater than or equal to 2.
Maximum Instances: The maximum instance count represents the largest number of CDD instances that will be active at any one time. If you set Initial Instances to 3 and Maximum Instances to 5, and six requests arrive, one of the requests will be queued until one of the other five requests is fully processed by CDD. The Maximum Instances must be less than or equal to 25.
Instance Timeout (in minutes): The instance timeout represents the time, in minutes, that an instance of CDD will remain running without running a report. The number of instances will not fall below the low watermark specified by the Initial Instances value.
File Storage Path: The file storage path is a read only field that represents the physical directory under which the temporary CDD files are created. The FileStoragePath is set to <NetsightRootPath>:\inetpub\wwwroot\Blob\Blobs\Reports when the application is installed. The value of <NetsightRootPath> is set to the drive selected during the installation.
Default Printer: The default printer is the local printer that is defined during installation and needed by BusinessPlus 7i and CDD.net. This printer MUST be the same on each 7i web server in the farm. This defaults to Local Printer, which is a 'fake' printer that is set up by the installer.
Documents Online
Attachment Cleanup Interval: The attachment cleanup interval is displayed in minutes and displays how often the attachment directory is cleaned out.
Attachment Directory: The attachment directory represents the physical directory on the 7i Web server under which the temporary images are stored. This directory should be placed on a partition that has at least 1 GB of free disk space. It is advised that you configure the directory for compression. This field defaults to <NetsightRootPath>\attachtemp. The installer sets up this default, so it is the value of <NetsightRootPath> at installation time that is used in this default.
Scheduled Maintenance
Some of the data in the BusinessPlus database requires regular maintenance and cleanup. Since these settings are used against the BusinessPlus database, only one server needs to be configured to perform them against that connection. This may require one server in a test farm and one server in a production farm separately configured to perform the maintenance.
Dashboard
Dashboard Session Cleanup Interval: How often (in minutes) the cleanup process should wake up and check for expired Dashboard Session blobs.
Dashboard Session Cleanup Expiration: How long (in hours) to leave a Dashboard Session blob before it is considered expired and removed.
Job Manager
Job History Cleanup Interval: How often (in minutes) the cleanup process should wake up and check for expired job history.
Job History Expiration: How old (in days) a job must be before it is considered expired and its history is removed. Set this value to 0 if job history is not to be removed.
Remove tailsheets when removing job history: If this option is enabled, when expired job history is removed, the tail sheet output for each job will be removed as well.
Logging
Enable 7i request logging: Requests made to the 7i server are logged temporarily in thread-specific files, which exist only for the duration of the request. The log files include a timestamp, the XML request, any business rules called, and any insert/update/delete database operations performed. If a request does not finish for some reason, the log file will remain on the system, providing clues as to what may have occurred. Log files that remain may eventually be removed, depending on the log file expiration settings. Request logging is enabled by default, but it may be disabled by unchecking this option.
Log File Cleanup Interval: Defines how often (in minutes) the cleanup process should wake up and check for expired log files.
Log File Expiration: Defines how old (in days) a log file must be before it is considered expired and deleted from the log directory. Set this value to 0 if the request log files are not to be removed.
Log File Location: Specifies the directory location for the request log files and the Extended Run Time log files (created when a request takes more than a predefined time interval, typically 30 seconds). By default, this location is a Log directory contained within the 7i install directory. For example, C:\Program Files (x86)directory\Log (where directory is the directory name defined at install time).
Classic Security Views
The BusinessPlus software running on the Application server (not the 7i/Web server) creates views to enforce data-level security and stores references to those views in the US_VIEW_DTL table. When a rebuild of security is performed, new views are created for those tables where the user's access has changed. However, because an existing process on the Application server may still be referencing that view, the rebuild is unable to drop the view at that time. Therefore, the view is marked as inactive in the table and can be cleaned up later. The process to clean up the views resides in the Data Processing Service. These settings determine how often the cleanup should run and how long to leave an inactive view on the system before attempting to drop it.
Security View Cleanup Interval: Defines how often (in minutes) the cleanup process should wake up and check for inactive classic security views.
Security View Cleanup Expiration: Defines how old (in hours) an inactive classic security view must be before it is dropped.
Tracing
Use the Tracing tab to set up the tracing on a server. Tracing changes do not take effect until the Data Processing Service is restarted.
File Path: The path to place tracing files on the server. The path must exist before enabling tracing.
Enabled: Enables or disables tracing on the server.
Add Module: This edit box, in combination with the Add button, adds a module to the module list.
Import: You can import the module list from the reglist.xml file in the install directory, then select from the imported list which modules to add to the local tracing setup.
All Modules: Enables tracing for all modules. Selecting this option could have a very bad impact on the performance of the 7i server.
ModuleName: Lists the collection of modules identified on the local server. Checking a module will enable tracing for that module.
Miscellaneous Settings
User Password Settings
The User Password Settings section list options to set user password requirements that will be validated with BusinessPlus credentials. These settings do not apply to Active Directory (LDAP).
Numeric Value(s) Required: Check this box if the user password must contain numeric values.
Upper Case Required: Check this box if the user password must contain upper case characters.
Special Character(s) Required: Check this box if the user password must contain special characters.
Use Legacy Validation Method: Enable password validation that was used before BusinessPlus release 7.9.10 (for example, case-insensitive authentication).
Minimum Password Length: The minimum password length value is 8.
Maximum Password Attempts: The allowed range for maximum password attempts before lockout is 1 to 5. An error appears if you enter 0 (zero) or a value larger than 5.
Days for Password Reuse: Number of days that must pass before a user is allowed to reuse a previously used password.
After making changes to the password settings, click Save Changes in the toolbar.
BusinessPlus Web Servers
The NetBios-based broadcast mechanism was modernized in BusinessPlus with the release of the browser-agnostic version. The new configuration setup is handled in BusinessPlus Web Servers on the Miscellaneous Settings tab of the Configure Local Server plugin in the Administrative Console.
Using the interface, provide the valid IP addresses and hostnames of all 7i and DMZ Web servers, add this information to a list of servers (use Add to List) and click Save. At the same time, the Save action adds the information to the local configuration file (brokersecuritypolicy.xml).
You can add server information from any 7i Web server. After saving the information once, go to each 7i Web server and open the Configure Local Server plugin in the Administrative Console. The list of the servers will be automatically populated from the database. Select Update from Database to update the local configuration file (brokersecuritypolicy.xml) on each server.
Any time a name or IP address of a 7i or DMZ Web server changes, or if a 7i or DMZ server is added or removed, you must add or remove the server from the list and save it, then update the configuration file on each 7i Web server as described.