Note: This information is provided for archival purposes only. See current information on What's New in Version 6.0.
This release of Verastream Host Integrator (VHI) version 4.5 contained new features and modifications designed to maximize performance and usability of the Design Tool, the Server and Administrative WebStation, and the AppConn connectors.
Server and Administrative WebStation
|NS/VT Transport||Session Monitor Java Application|
|XML Import/Export||AADS Failover Support|
Server and Administrative WebStation
|Caching inputs||LDAP support||Integration web application example|
|Before/after operations for attributes and recordset fields||LogViewer upgrades||New methods|
|Execute operation to autotab on underfill||Log Manager upgrades|
|Creating global events for the WaitForMultipleEvents command|
|Multiple attribute return on error patterns|
|Command list templates and operation copy|
|Dynamic discovery of current records in recordsets|
|Local server deployment|
|Writable attributes as tabstops|
|Test dialog boxes cache test data|
|Override the cursor movement per entity|
The Session Monitor is a standalone Java application that allows an administrator to view real-time screens of host sessions that are running on a given Host Integrator Server. The new and improved Session Monitor provides the following:
The Session Monitor is very similar to the View Session feature currently available through the Administrative WebStation, but it is intended to be faster and more useful as a real-time debugging tool. Note: To install this feature, be sure to select the Session Monitor option in the Select Components dialog box during the installation process.
In version 4.5, Verastream Host Integrator introduces failover support for Authentication Authorization and Directory Services (AADS). Failover is achieved by installing multiple instances of AADS for your VHI installation and configuring your Hosts file or DNS to associate all AADSs with one symbolic name. More information...
AADS can now use an LDAP server for authentication and authorization in addition to the operating system's directory services.
NS/VT, a proprietary HP protocol for connecting to HP3000 hosts, is a new transport choice available if you select an HP terminal when configuring your connection in the Session Setup dialog box. The NS/VT protocol uses different ports and tracing options than the Telnet protocol.
The XML model file export and import feature enables you to programmatically manipulate a model file outside the context of the Design Tool. Once the model file is exported as an XML file, modifications such as global and repetitive changes can be made to this file. This feature also enables you to generate entire models based on an existing external description of the host application. Once changes are made, the XML file can be imported back into the Design Tool and opened as a .model file.
Note: You can also use the Save As dialog box on the File menu to save your model file as an XML file.
You can now designate an operation that will automatically move the cursor
to the next attribute field if the attribute data written has a shorter length
than the attribute field provided on the terminal screen. To configure an operation
for this purpose, select it from the Execute operation to autotab on underfill
list on the Attribute
Purpose: You can create consistent behavior in the model regardless of length of data. In version 4.5, the after-update operation can always wait for the cursor to appear at the next attribute because either the host moves the cursor after the attribute field is filled or the "underfill" operation handles the tab movement.
The WaitForCondition command enables you to create a condition using variables, entity attributes, and recordset fields to create logical arguments. For more information, see the WaitForCondition command help.
For VT and HP character mode hosts, you can wait for datastream sequences that include nonprintable characters such as carriage return, linefeed, and the escape key. An example of this syntax is "\033EnterData", which represents the escape key followed by the string data. This syntax represents the C programming language conventions that use a backslash (\) followed by three octal numbers to represent any character.
The WaitForCommString command has also been updated to work as the terminal
processes characters rather than at a maximum of one match per host packet.
Purpose: Using this command in operations is often the best synchronization for VT and character mode HP host applications is in the datastream itself.
In version 4.5, this character
mode feature provides a more general notion of events by enabling the encapsulation
of several events into a single WaitForMultipleEvents
command. These events will look similar to existing commands such as WaitForDisplayString;
however, these new events will be created, stored, and edited in a global
event editor and namespace. These events can then be combined in a variety
of ways to create conditional expressions and sequences in the Event
Expression Editor dialog box. For example, take the following three events:
Event A: (WaitForCommString "\033EnterData")
Event B: (WaitForCursorEnterPosition 1, 1)
Event C: (WaitForCursorExitPosition 24, 2)
You could then formulate a WaitForMultipleEvents command that contains the above events:
WaitForMultipleEvents "EventA and (EventB or EventC)", "30"
In this example, VHI waits for event A, followed by either event B or event
C. If not satisfied within 30 seconds, an error is generated. It does not matter
whether these events occur as a single host packet or across any number of multiple
Purpose: Since VHI only allowed one event per host packet in version 4.0, the synchronization between the host and VHI sometimes failed when the host reorganized the packets. This feature enables a more precise way to synchronize the model and the host application. In addition, there are many situations where the exact event for which to watch is not unique, but shares a logical relationship with other possible outcomes.
In previous versions, data from only one attribute could be used as an identifier in recognizing an error pattern during operations. In version 4.5, this feature allows you to return multiple attributes as the contents of your error message when an error pattern is recognized. Use the options in the Error pattern box of the Operation Conditions dialog box to configure this type of error pattern.
Purpose: This enables a more reliable way to handle errors during the
In version 4.0, the model could contain a single definition of how to move
the cursor forward and backward. In version 4.5, you can also use an additional
layer of cursor override per entity by mapping an operation to that entity.
To use this feature, select the Execute operations to move cursor option
on the Cursor tab.
Purpose: Host errors can now be trapped while moving the cursor.
You can now select Telnet Extended (TN3270E) as the transport type for a host connection. Configure this option in the Session Setup dialog box.
Note: The Host Emulator cannot be used if you've created .hetrace
files while being connected to a host using the Telnet Extended (TN3270E) transport
Host Integrator's Authentication Authorization and Directory Services (AADS) can be configured to use LDAP as a directory service provider. When you configure an LDAP provider in the Console, user and group directory services for AADS clients (The Administrative WebStation, VHI Servers, and data objects) are authenticated by an LDAP service provider.
The following improvements have been added to the Log Manager:
The following improvements have been added to the LogViewer:
The Outdoor Equipment Store - Java example demonstrates how VHI can integrate disparate host applications and database information into one easy-to-use interface. This integration web application example uses the AppConn Java connector.
Note: To install this feature, select the Outdoor Equipment Store - Java option in the Select Components dialog box during the installation process. If you choose to install this component, the AppConn Java Connector component is also installed.
All of the following changes to the AppConn API are implemented in AppConn Java, AppConnXML, and AppConn COM/C++:
The following new methods fetch screen positions of entity definitions:
The returned List in each case is a java.util.ArrayList object that contains a collection of ElementLocation objects, returned in the order specified by the argument supplied to the get* method. If the parameter is null, the method returns locations for all elements of that type. Getting locations for attributes, patterns, and recordsets all are within the context of the current entity. Getting locations of fields is within the context of the current record in the current recordset of the current entity. These methods were added to AppConnModel and AppConnSession.
An ElementLocation object contains location information about a specific element on the current entity, plus context information. The methods of this object are as follows:
|String getElementName()||Gets the model name for this element.|
|int getElementType()||Gets the type of this element (enum): attribute, pattern, recordset, or field.|
|int getTopRow()||Gets the current absolute position for top row of this element.|
|int getLeftColumn()||Gets the current absolute position for the left column of this element.|
|int getNumRows()||Gets the number of rows of the rectangular region. (Applies only to regions that are rectangular. Set to -1 if type is linear.)|
|int getNumColumns()||Gets the number of columns of the rectangular region. (Applies only to regions that are rectangular. Set to -1 if type is linear.)|
|int getOffset()||Gets the current screen offset for the starting position of this element.|
|int getLength()||Gets the length, in characters, of this element. (Applies only to elements that are linear. Set to -1 if the type is rectangular.)|
|int getRegionType()||Gets the type of screen region for this element (enum): linear or rectangular.|
|String toString()||Returns a string object that represents this ElementLocation object.|
This method returns a string of the specified length starting at the current cursor position:
Both of these methods have been added to AppConnTerm and AppConnSession.
The following wait for condition method has been added to AppConnModel and AppConnSession:
The expression specifies the condition to wait for and is similar to a filter expression in methods such as fetchRecords(). This can be used to wait for the cursor to appear at one or more locations based on the built-in cursor variables in the expression. The entity parameter gives a context for evaluation of the expression. If entity is null or blank, the current entity will be used. If entity is not blank, the server will first wait for the specified entity and then evaluate the expression. If expression is null or blank and entity is not null or blank, the method will simple wait for the specified entity and return.
The following method returns the name of the HOME_ENTITY constant for the model:
This method has been added to AppConnModel and AppConnSession.
The following method gets the terminal field properties at the current cursor:
The above method has been added to AppConnTerm and AppConnSession. It returns a TerminalField object, which contains the following methods:
|int getTopRow()||Get the current absolute position for top row of the terminal field.|
|Get the current absolute position for the left column of the terminal field.|
|int getOffset()||Get the current screen offset for the starting position of the terminal field.|
|int getLength()||Get the length, in characters, of the terminal field.|
|TerminalAttributes getTerminalAttributes()||Get the TerminalAttributes object for the terminal field.|
|String toString()||Return a string object that represents this TerminalField object.|
The following method enables or disables logging of defined message levels for the current session:
This method has been added to AppConnTerm and AppConnSession.
Note: Level is an integer that is an enumeration of the following defined message log levels:
This setting lasts as long as the data object is connected to the current session. It has no effect if there is no current connection to Host Integrator Server. The setting can only increase the level of message logging from the default configuration set for the server; attempts to set the level lower than the current server configuration have no effect. For example, if the current server configuration has a logging level of 'Warnings and Errors', attempting to set the level to log only 'Errors' will have no effect. See getLoggingLevel() for more information.
The following method retrieves the current logging level for the current session:
This method has been added to AppConnTerm and AppConnSession. It returns an integer that is an enumeration of the following defined message log levels:
You can use getLoggingLevel to check the current logging level, which will return the default setting if no session level has been set via setLoggingLevel. See setLoggingLevel().
The following method inserts multiple data records into the current recordset:
It has been added to AppConnModel and AppConnSession. This method takes a list
of record objects and sends them to Host Integrator Server, which in turn inserts
them into the current recordset of the current VHI entity. Each record object
is the same type as that of the related insertRecord AppConn method.
Returns the name of the current host application model.