| WindX™ and JAVX |
|
| Overview | From a systems perspective, both WindX and JavX appear like intelligent graphical terminals that respond to a wide variety of command sequences. The command sequences are generated automatically by the system in response to your application logic and directives. |
| Mnemonic Processing | Both
WindX and JavX respond directly to the internal form of
all mnemonics. Therefore, unlike conventional terminals,
no translation table is required. Mnemonics, such as
'CS', are transmitted as $1B$ + "CS" and screen
position commands, such as @(1,2), are sent as $1B$ +
"@2" + CHR(1) + CHR(2). Long-form mnemonics,
such as 'WINDOW' and 'DROP', are sent in their native
form as well. WindX and Javx are highly optimized intelligent terminal emulators designed primarily for use with ProvideX. A lot of the functionality normally done by the host when dealing with 'Dumb' terminals is done by WindX or JavX locally. This means that less data needs to be sent to a workstation to handle functions such as window manipulation. On a normal terminal when a window is created, the characters that make up the window border are transmitted from the Host to the terminal. Additionally, when a Window is removed, then all of the data that was hidden behind the window must be redrawn. These two functions are processed locally by JavX and WindX, which reduces network traffic and improves system performance. These products also provide enhanced graphical terminal emulation that allows graphical applications to run remotely. All graphical mnemonics such as drawing fonted text, rectangles, circles, etc, are supported. |
| * Note * | Because
the 'PICTURE' mnemonic needs to access image files for
the purposes of rendering, special consideration needs to
be given to this mnemonic. On WindX:
On JavX:
|
| Input handling | All input entered on the workstation keyboard is sent directly to the host. Function keys and CTL events generated by graphical controls are included in the data stream as well. |
| Graphical Directives | The
host ProvideX/PxPlus tokenizes all graphical directives
and references and then forwards them to JavX or WindX
for processing. WindX or JavX process these tokenized commands locally. Access to the new control properties (e.g., BackColour$, Height, Enabled) are also tokenized and forwarded to the client for processing. |
| Remote File Access | WindX
provides the additional functionality of allowing files
to be opened and accessed remotely. Whenever a file open
is executed on the host with a pathname prefix of
"[WDX]" (or "[LCL]" for PxPlus), the
file open request is forwarded to the workstation for
processing locally. The host will then tokenize and
forward all subsequent requests against that file to the
workstation to be processed locally. This feature allows host application to read and write files on the workstation with a minimum of effort. The following File IO directives and functions are supported for remove files: Directives:
Functions:
Example:
In the above example, the remote file access facility is being used to allow the host application to read a file from a diskette (a:\Payroll.dat) on the client workstation. For more information on this subject, refer to the section of Special File Command Tags on [LCL] Access to users Local Machine and [WDX] Direct Action to Client machine. At present the DIR= option is not supported on remote files by WindX. |
| * Note * | To
simplify access to files on a workstation we generally
recommend on ProvideX that you set a Global variable
(%WDX$) to either "" or "[WDX]"
depending on whether you are running on a thin client.
This can be determined by test TCB(88) which will have a
non-zero value for Windx/JavX. PxPlus makes this easier by providing a "[LCL]" prefix that indicates the file is on the local workstation and will be ignored if non-thin client and consider as "[WDX]" if using a thin client. |
| Remote Command Processing | WindX
also supports the ability to remote process the INVOKE
and EXECUTE directives on the WindX PC.
If the string parameter passed to either of these
directives starts with the sequence "[WDX]" (or
"[LCL]" in PxPlus), the rest of the command is
passed to WindX to be executed locally. Examples:
The most common uses for issuing remote EXECUTE directives include:
|
| * Note * | Be aware that when using the EXECUTE directive remotely, it is possible that the local PC could be running a ProvideX with a different set of syntax tables, resulting in the directives not being correct. |
| Remote Procedure Call | One
of the more powerful features of WindX is its ability to
execute ProvideX subprograms remotely. Since WindX itself
is a ProvideX program, it is capable of calling and
passing parameters to a local sub-program. Like the OPEN directive, the file name passed to a CALL directive can be prefixed with [WDX] or [LCL]. This indicates that the specified sub-program is to be run on the local PC, not the host system. The sub-program must exist on, or be accessible from, the client PC. Any arguments specified in the CALL are sent to the WindX PC and any changes are passed back as per normal CALL processing. There is a limit of twenty (20) arguments that can be specified in a remote CALL. PxPlus provides a built-in mechanism for downloading called programs to the workstation. Check out the section on the Auto-download capability for more information. |
| * Note * | Remember that the called program is actually running on the client workstation, not on the host system that initiated the CALL. Only the variables that have been passed specifically on the CALL argument list are accessible. Global variables and files are not accessible to called programs. |
| Workstation requirements | Most
character-based or graphical applications can run without
modification with WindX however, there are a few things
to consider. File Requirements on the Local PC
|
| WindX Advantages | Apart
from the obvious advantages of being able to run
graphical applications remote, using WindX has the
following additional advantages over standard terminal
emulators or running the application locally. Remote Processing
Faster Screen I/O
Data Reliability
|