Virtel User Guide
User Manual: Pdf
Open the PDF directly: View PDF
.
Page Count: 321
| Download | |
| Open PDF In Browser | View PDF |
Virtel User Guide
Release 4.57
Syspertec Communications
Feb 08, 2018
TABLE OF CONTENTS:
1 The Virtel Engine
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 What is Virtel . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2 VIRTEL Web Access (VWA) . . . . . . . . . . . . . . .
1.1.3 VIRTEL Web Modernisation (VWM) . . . . . . . . . . .
1.1.4 VIRTEL Web Integration (VWI) . . . . . . . . . . . . .
1.1.5 VIRTEL Service Transactions . . . . . . . . . . . . . . .
1.2 VIRTEL URL Formats . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Static pages . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2 How the path name corresponds to a VIRTEL directory
1.2.3 Dynamic pages . . . . . . . . . . . . . . . . . . . . . . .
1.2.4 3270 session management . . . . . . . . . . . . . . . . .
1.2.5 Capability URLs . . . . . . . . . . . . . . . . . . . . . .
1.2.6 Transmission of Security Tokens by URL . . . . . . . . .
1.2.7 Propagation of signon by URL . . . . . . . . . . . . . .
1.2.8 The Universal Transaction . . . . . . . . . . . . . . . . .
1.3 Directory Management . . . . . . . . . . . . . . . . . . . . . . .
1.3.1 Accessing the administration application . . . . . . . . .
1.3.2 Access through 3270 . . . . . . . . . . . . . . . . . . . .
1.3.3 Security . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.4 Creating, modifying, and deleting directories . . . . . . .
1.3.5 Defining directory parameters . . . . . . . . . . . . . . .
1.3.6 Associated functions . . . . . . . . . . . . . . . . . . . .
1.3.7 Acccess administration portal via the web . . . . . . . .
1.4 Creating Virtel Template Pages . . . . . . . . . . . . . . . . . .
1.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.2 Defining the tag delimiters . . . . . . . . . . . . . . . . .
1.4.3 Session and context management . . . . . . . . . . . . .
1.4.4 Transmitting data to the host . . . . . . . . . . . . . . .
1.4.5 Where to position the elements of an HTML page . . . .
1.4.6 Inserting host application data into a page . . . . . . . .
1.4.7 Colour and font management . . . . . . . . . . . . . . .
1.4.8 Cursor management . . . . . . . . . . . . . . . . . . . .
1.4.9 Function key management . . . . . . . . . . . . . . . . .
1.4.10 Setting and unsetting local options . . . . . . . . . . . .
1.4.11 Handling table variables . . . . . . . . . . . . . . . . . .
1.4.12 Inserting VIRTEL configuration values into a template .
1.4.13 Conditional generation . . . . . . . . . . . . . . . . . . .
1.4.14 Debugging facilities . . . . . . . . . . . . . . . . . . . . .
1.4.15 Signon and password management . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
3
5
8
11
12
13
13
14
19
21
23
23
24
24
25
25
25
26
26
28
29
30
33
33
33
34
35
35
36
42
45
47
49
50
54
56
58
58
i
1.4.16 Encryption management . . . . . . . . . . . . . . .
1.4.17 EBCDIC translation management . . . . . . . . . .
1.4.18 HTTP protocol management . . . . . . . . . . . .
1.4.19 Cache management . . . . . . . . . . . . . . . . . .
1.4.20 MIME type management . . . . . . . . . . . . . . .
1.4.21 Capability tokens . . . . . . . . . . . . . . . . . . .
1.4.22 Template Page upload . . . . . . . . . . . . . . . .
1.4.23 3287 printing . . . . . . . . . . . . . . . . . . . . .
1.4.24 Generating PDF output . . . . . . . . . . . . . . .
1.5 Web Access Customization . . . . . . . . . . . . . . . . . .
1.5.1 Uploading HTML Pages . . . . . . . . . . . . . . .
1.5.2 Web Access Settings . . . . . . . . . . . . . . . . .
1.6 Application Selection Menu . . . . . . . . . . . . . . . . . .
1.6.1 Contents of menu . . . . . . . . . . . . . . . . . . .
1.6.2 Presentation modes . . . . . . . . . . . . . . . . . .
1.7 Printing With Web Access . . . . . . . . . . . . . . . . . .
1.7.1 VIRTEL definitions for virtual printers . . . . . . .
1.7.2 Associating virtual printers with terminals . . . . .
1.7.3 Autoconnect for virtual printers . . . . . . . . . . .
1.7.4 VTAM definitions for virtual printers . . . . . . . .
1.7.5 CICS definitions for virtual printers . . . . . . . . .
1.7.6 Scenarios for SCS printing . . . . . . . . . . . . . .
1.7.7 SCS to PDF conversion . . . . . . . . . . . . . . .
1.7.8 PCL printing . . . . . . . . . . . . . . . . . . . . .
1.7.9 PCL to PDF conversion . . . . . . . . . . . . . . .
1.8 TSO File Transfer . . . . . . . . . . . . . . . . . . . . . . .
1.8.1 Definitions required for file transfer . . . . . . . . .
1.8.2 Toolbar icons for file transfer . . . . . . . . . . . .
1.8.3 Receiving a file . . . . . . . . . . . . . . . . . . . .
1.8.4 Sending a file . . . . . . . . . . . . . . . . . . . . .
1.8.5 Selecting PC Codepage for file transfer . . . . . . .
1.8.6 Saving and reusing file transfer parameters . . . . .
1.9 Accessing VTAM Applications . . . . . . . . . . . . . . . .
1.9.1 VTAM logon screen . . . . . . . . . . . . . . . . . .
1.9.2 Installing the VTAM logon transaction . . . . . . .
1.10 Site Customization - Colors And Logo . . . . . . . . . . . .
1.10.1 Using a CSS file for customization . . . . . . . . .
1.10.2 Customizing the toolbar color by application . . .
1.10.3 Adding custom text to the toolbar . . . . . . . . .
1.10.4 Showing / Hiding server informations . . . . . . . .
1.10.5 Hiding the toolbar . . . . . . . . . . . . . . . . . .
1.10.6 Adding a company logo . . . . . . . . . . . . . . .
1.10.7 Removing 3D/hover effects on the toolbar buttons
1.10.8 Changing background color of the toolbar buttons
1.10.9 Icon display troubleshooting . . . . . . . . . . . . .
1.11 Site Customization - Javascript Functions . . . . . . . . . .
1.11.1 Javascript Exits which can be customized . . . . .
1.11.2 Customizing Toolbar icons . . . . . . . . . . . . . .
1.11.3 Centering non-standard icons . . . . . . . . . . . .
1.11.4 Removing unwanted toolbar icons . . . . . . . . . .
1.11.5 Positioning Toolbar Icons . . . . . . . . . . . . . .
1.11.6 Modifying the text of the status bar . . . . . . . .
1.11.7 Custom hotspot recognition . . . . . . . . . . . . .
1.11.8 Adding a watermark to the 3270 screen . . . . . . .
ii
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
60
61
63
64
64
65
66
67
68
70
70
70
80
80
81
84
84
85
86
87
87
88
88
88
88
90
90
90
91
94
98
98
100
100
101
102
102
103
103
104
105
106
106
107
107
108
108
109
110
110
111
112
113
113
1.11.9 Modifying Web Access Settings . . . . . . . . . . . . . . . . . . . .
1.12 Site Customization - The Help Page . . . . . . . . . . . . . . . . . . . . . .
1.12.1 Standard Help Page . . . . . . . . . . . . . . . . . . . . . . . . . .
1.12.2 Installing a Custom Help Page . . . . . . . . . . . . . . . . . . . .
1.13 Enable Copy, Cut And Paste . . . . . . . . . . . . . . . . . . . . . . . . . .
1.13.1 Internet Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.13.2 Firefox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.13.3 Chrome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.13.4 Manage the settings on Host with chrome . . . . . . . . . . . . . .
1.13.5 Using Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.13.6 Edge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.14 Virtel Customization Modes . . . . . . . . . . . . . . . . . . . . . . . . . .
1.14.1 Compatibility Mode . . . . . . . . . . . . . . . . . . . . . . . . . .
1.14.2 Option mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.14.3 Default mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.14.4 Global level modifications (All transactions under an Entry Point)
1.14.5 Transaction level modifications (Individual transactions) . . . . . .
1.14.6 Compatibility Option id . . . . . . . . . . . . . . . . . . . . . . . .
1.14.7 Defining Transaction Options . . . . . . . . . . . . . . . . . . . . .
1.15 Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.15.1 Storing the Macros . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.15.2 Macros in Local Storage . . . . . . . . . . . . . . . . . . . . . . . .
1.15.3 Macro controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.15.4 Macros in VIRTEL Storage . . . . . . . . . . . . . . . . . . . . . .
1.15.5 Setting up to use DDI and macros . . . . . . . . . . . . . . . . . .
1.15.6 User Macros synchronization . . . . . . . . . . . . . . . . . . . . .
1.15.7 Managing macros with DDI . . . . . . . . . . . . . . . . . . . . . .
1.15.8 Automatic refresh of macros in local storage . . . . . . . . . . . . .
1.15.9 Format of the macros.json file . . . . . . . . . . . . . . . . . . . . .
1.15.10 Available macro commands . . . . . . . . . . . . . . . . . . . . . .
1.15.11 DDI Macro Errors . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.16 VIRTEL Web Modernisation . . . . . . . . . . . . . . . . . . . . . . . . . .
1.16.1 VIRTEL Presentation modules and Scenarios . . . . . . . . . . . .
1.16.2 Scenarios stored in a load library . . . . . . . . . . . . . . . . . . .
1.16.3 Scenarios stored in a VSAM directory . . . . . . . . . . . . . . . .
1.16.4 Using a presentation module . . . . . . . . . . . . . . . . . . . . . .
1.16.5 Types of scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.16.6 Virtel Scenario language . . . . . . . . . . . . . . . . . . . . . . . .
1.16.7 Examples of VIRTEL Web Modernisation Scenarios . . . . . . . .
1.16.8 Scenario AUTOREFRESH . . . . . . . . . . . . . . . . . . . . . . .
1.16.9 PDF output generation . . . . . . . . . . . . . . . . . . . . . . . . .
1.17 VIRTEL Web Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.17.1 Parsing Query input . . . . . . . . . . . . . . . . . . . . . . . . . .
1.17.2 Parsing XML input . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.17.3 Presentation of XML output . . . . . . . . . . . . . . . . . . . . . .
1.17.4 VIRTEL as an XML parser/generator . . . . . . . . . . . . . . . .
1.17.5 Automatic scenario generation . . . . . . . . . . . . . . . . . . . . .
1.18 Incoming E-mails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.18.1 Rules of the SMTP line . . . . . . . . . . . . . . . . . . . . . . . .
1.18.2 File transfer by e-mail . . . . . . . . . . . . . . . . . . . . . . . . .
1.18.3 Starting an application by E-Mail . . . . . . . . . . . . . . . . . . .
1.19 VIRTEL Batch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.19.1 Assembling the VIRTCT for VIRTEL Batch . . . . . . . . . . . . .
1.19.2 Allocating the page template file for VIRTEL Batch . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
114
115
115
116
118
118
118
122
125
127
129
130
130
131
131
131
133
134
134
139
139
140
141
143
143
146
146
153
153
153
154
155
155
155
155
156
156
158
210
215
216
219
219
221
226
228
232
235
235
235
236
239
239
241
iii
1.19.3
1.19.4
1.19.5
1.19.6
1.19.7
Allocating work files for VIRTEL Batch
Running the VIRTEL Batch job . . . . .
VIRTEL Batch commands . . . . . . . .
VIRTEL Batch RAW command . . . . .
VIRTEL Batch return codes . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
241
242
243
244
245
2 Outgoing Calls
247
2.1 Outgoing E-mails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
3 Programming Interfaces
3.1 Structred Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 General format of a 3270 structured field . . . . . . . . . . . . . . .
3.1.2 Sending structured fields via the Write Structured Field command
3.1.3 Sending structured fields using the SRTVIRTEL prefix . . . . . . .
3.1.4 How To Determine If Running Under Virtel . . . . . . . . . . . . .
3.1.5 Use a different transaction code . . . . . . . . . . . . . . . . . . . .
3.1.6 Include parameters after the transaction code . . . . . . . . . . . .
3.1.7 Use a specific range of terminal names . . . . . . . . . . . . . . . .
3.1.8 FA88: Transmit large data message to application . . . . . . . . . .
3.1.9 FAC8: Selection of page template . . . . . . . . . . . . . . . . . . .
3.1.10 FAE5, FAE6: Sending a table variable . . . . . . . . . . . . . . . .
3.1.11 Call Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.12 HOST4WEB commands . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
249
249
249
250
250
250
250
251
252
253
254
256
257
265
4 Incoming Calls
269
4.1 Incoming E-mails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
4.1.1 FAC8: Retrieve data from an e-mail . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
4.1.2 FAD4: Sending an e-mail from a host application . . . . . . . . . . . . . . . . . . . . 272
5 Security
5.1 VIRTEL Web Access Security . . . . . . . .
5.1.1 Specifying security in the entry point
5.1.2 Specifying security in the transaction
5.1.3 Mixed-case password support . . . .
5.1.4 Automatic retrieval of username . . .
5.1.5 Data encryption by AT-TLS/SSL . .
5.1.6 Identification by certificate . . . . . .
5.1.7 Password encryption . . . . . . . . .
5.1.8 Signon using HTML fields . . . . . .
5.1.9 Virtel Rules . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
275
275
275
276
276
276
277
277
278
278
279
6 HOWTOs
6.1 How To Use Different Screen Sizes . . . . . . . . . . . . .
6.1.1 LOGMODE defined by the transaction . . . . . .
6.1.2 Assigning a LOGMODE by URL parameter . . .
6.1.3 User-specified LOGMODE . . . . . . . . . . . . .
6.1.4 Dynamic logmode with user-specified screen size
6.2 How To Support Multiple Codes Pages . . . . . . . . . .
6.2.1 Defining Code Pages translation defaults . . . . .
6.2.2 Supporting multiple countries. . . . . . . . . . . .
6.3 How To Handle Host Session Termination . . . . . . . . .
6.3.1 Return to the application selection menu . . . . .
6.3.2 Displaying a specific page on disconnection . . .
6.3.3 Closing the browser window automatically . . . .
6.4 How To Access A Host Application Directly . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
283
283
283
284
285
286
286
286
287
287
287
287
288
288
iv
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6.4.1 Full path URL . . . . . . . . . . . .
6.4.2 Default URL for the entry point . . .
6.5 How To Change The Font For Web Access .
6.6 How To Change The 3270 Display Style . . .
6.7 How To Customize The Enter Key Settings .
6.7.1 Managing CTRL keydown being lost
6.8 How To Customize Display Styles . . . . . .
6.8.1 Add or remove a display style . . . .
6.8.2 Add or remove a print style . . . . .
6.8.3 3270 support blinking fields . . . . .
6.9 How To Change The Default User Settings .
6.10 How To Support A Reverse Proxy . . . . . .
6.11 How To Support Virtual Hosting . . . . . . .
6.12 How To Control APPLIST behaviour . . . .
7 Appendix
7.1 Appendix A . . . . .
7.1.1 Default values
7.2 Trademarks . . . . . .
7.3 Open Source Software
. .
for
. .
. .
. . . . . . . . . .
W2H parameters
. . . . . . . . . .
. . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
288
289
289
289
290
290
290
290
291
292
293
293
293
293
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
295
295
295
296
297
v
vi
Virtel User Guide, Release 4.57
VIRTEL User Guide
Warning: This is a draft version of the document.
Version : 4.57
Release Date : 08 Jan 2018. Publication Date : 08/01/2018
Syspertec Communication
196, Bureaux de la Colline 92213 Saint-Cloud Cedex Tél. : +33 (0) 1 46 02 60 42
www.syspertec.com
NOTICE
Reproduction, transfer, distribution, or storage, in any form, of all or any part of the contents of
this document, except by prior authorization of SysperTec Communication, is prohibited.
Every possible effort has been made by SysperTec Communication to ensure that this document
is complete and relevant. In no case can SysperTec Communication be held responsible for any
damages, direct or indirect, caused by errors or omissions in this document.
As SysperTec Communication uses a continuous development methodology; the information contained in this document may be subject to change without notice. Nothing in this document
should be construed in any manner as conferring a right to use, in whole or in part, the products
or trademarks quoted herein.
“SysperTec Communication” and “VIRTEL” are registered trademarks. Names of other products
and companies mentioned in this document may be trademarks or registered trademarks of their
respective owners.
TABLE OF CONTENTS:
1
Virtel User Guide, Release 4.57
What’s new in Virtel 4.57
VIRTEL Web Access:
• Bidirectional presentation support.
• Enhanced font stretch mode. Optimization of screen size.
• Additional RACHECK support for ForceLUNAME
• Licence warning feature
• Enhancements to USSMSG10 support module
• Enhancements to Virtel Web Macro interface (VWM)
– Keyboard mapping enhancements
• Enhancements to Virtel Dynamic Directories Interface (DDI)
– Hotkey support for DDI macros
– New refresh options.
VIRTEL Web Modernisation & Integration:
• Enhancements to COPY$ NAME-OF. Support for TERMINAL, GROUP and RELAY items.
• Enhancements to DEFAULT-FILED-WITH-CURSOR statement.
Miscellaneous:
• Customizable HELP solution.
• DNS access to resolve IP address or DNS name.
• TCT option to support mixed case passwords
• Additional language support
• Batch export/import of RAW TRSF files.
Note: For further details see the Technical Newsletter: TN201706 - What’s new in Virtel 4.57.
2
TABLE OF CONTENTS:
CHAPTER
ONE
THE VIRTEL ENGINE
1.1 Introduction
1.1.1 What is Virtel
Simply put, Virtel is a host-based protocol converter that runs as a started task on the mainframe. At
the core of Virtel is the Virtel Engine which sits between host applications and external environments such
as the web or another external server. Virtel supports the following standard protocol - TCP/IP, SMTP,
HTTP/S, SOAP, MQ-SERIES, SNA, 3270, ICAL (IMS) and the inherited protocols - X25, XOT, XTP,
LU 6.2 to interface between host applications and external services. A classic example for Virtel would
be interfacing between legacy 3270 applications, running on the host, and the web. Virtel would provide
protocol conversion between data arriving from the browser is converted into a 3270 data-stream and sent
to the application. Users would no longer require 3270 terminal emulators products to interface with legacy
host applications. Access can now be provided through the users standard web browser. Various character
code page sets are supported, including DBCS character code sets.
The following diagram illustrates some of the protocols and applications supported by the Virtel Engine.
The Virtel Engine
3
Virtel User Guide, Release 4.57
Virtel provides three models. Web Access (VWA/W2H), Web Modernisation (VWM) and Web Integration
(VWI). In the next section each model is described in detail. Regardless of the model, Virtel’s mainframe
requirements are the same. The basic file requirements are as follows:• SAMP TRSF VSAM File. Contains the templates and web artefacts (JavaScript, Images, HTML, CSS
elements etc.) which are served to the browser.
• HTML TRSF VSAM File. Contains user customisation web artefacts (JavaScript, HTML, Images,
HTML, CSS elements etc.)
• LOADLIB PDS. Virtel load library
• ARBO VSAM File. Contains customer configuration data.
• Ancillary files. Statistics, logs, tracing etc.
Virtel normally runs as a started task on the mainframe. Multiple instances of Virtel can be run on the
same LPAR and can run within a SYSPLEX environment, benefiting from the load balancing services that
such environments provide. See the Virtel Installation manual for a full description of the Virtel mainframe
requirements. Virtel can also be run as a batch process, providing a “batch” service between external servers.
See the section Virtel Batch or the Virtel Connectivity Manual for further information on running Virtel in
batch.
Like any other web page servers Virtel responds to an incoming URL and serves template pages. The URL
targets one of the TCPIP ports that Virtel is listening on. The URL will identify the IP address of the
z/OS environment, and the port address will target the Virtel Instance. The pathname and parameters of
the URL will identify the Virtel Transaction that will be used to process the URL request. A URL example
is shown below. This is a URL requesting a connection to a CICS application called SPCICS. SPCICS is
the name of the Virtel transaction that will deal with the request. The pathname “/w2h/WEB2AJAX.htm”
identifies a Virtel 3270 template that will be used to support the transaction, providing the framework to
convert between 3270 data-stream and HTML presentations.
http://192.168.170.33:41002/w2h/WEB2AJAX.htm+SPCICS
For more information on the Virtel URL formats see the section Virtel URL Formats.
4
Chapter 1. The Virtel Engine
Virtel User Guide, Release 4.57
1.1.2 VIRTEL Web Access (VWA)
VIRTEL Web Access, formerly known as “Web-to-Host” (W2H), is a set of functions which provides access
to mainframe 3270 legacy applications via the user’s browser window. In the VWA model the Virtel Engine
comprises of two components, a HTTP server and a VTAM component serving the back-end VTAM legacy
applications, pertaining to operate as an LU2 device(s).
The principle operation of VWA is the production and delivery of 3270 data-streams as HTML pages. Static
template page and web elements supporting VWA are stored and maintained in a Virtel directory on the
mainframe at the host site. The pages served to the browser contain standard HTML tags, CSS, JavaScript
elements and HTML tags specific to VIRTEL. Invoked by a browser or a program, these pages form the basis
of an “on the fly” translation of 3270 data-streams, thus enabling the dynamic generation and delivery of a
3270 presentation to the browser. No terminal emulation software is required. The VWA model also includes
functions which allow dynamic modification of the original 3270 presentation, with the aim of making the
interface as “clickable” as possible. This chapter describes the set of functions required to support VWA
and presupposes a certain knowledge Web technologies and HTML page construction.
Some fundamental differences to standard terminal emulation protocol must be taken into consideration:
1. Sessions between a browser and the Virtel HTTP server are in disconnected mode, while they are in
connected mode between VIRTEL VTAM component and the host application.
2. The flow of information between the Virtel HTTP server and a client’s browser occurs on the initiative
of the client or through an optional ‘Long Poll’ asynchronous session.
3. A single request from the browser will only invoke a single response from the HTTP server, while the
transmission of a message to an application on the host may generate several response messages at
once (for example, a message to clear the screen followed by a new screen image).
These differences give rise to a need to ensure maintenance of session context between a client and a host
application. This is done by the SESSION-CODE tag embedded in the Virtel template pages. Although
the HTML pages used to display 3270 data contain specific VIRTEL tags, these pages can be developed
using standard web development tools. The pages containing VIRTEL specific tags are stored in a VIRTEL
directory along with other Virtel web elements such as Java Script modules, CSS style sheets and images.
The VIRTEL directory, known as the W2H directory, is located in the VSAM SAMP.TRSF file.
1.1. Introduction
5
Virtel User Guide, Release 4.57
Let’s look at how VWA works.
VWA Overview
1. The user enters a URL which points to the Virtel Engine.
In this case http:www.myHost.com/WEB2AJAX+TSO5. Virtel, running as a web server, will be listening on default port
80 for any incoming calls. When Virtel receives the call-in it will process the pathname of the URL
(/WEB2AJAX+TSO5) to determine a course of action.
2. The pathname /WEB2AJAX+TSO identifies a Virtel HTML page TEMPLATE (WEB2AJAX) and a
transaction. In this case the transaction is TSO. Virtel, through its configuration, recognizes the TSO
transaction as being a VTAM application and initiates a VTAM session with TSO.
3. A VTAM connection is established between TSO and Virtel with Virtel acting as a virtual terminal
relay between the browser and TSO. Subsequent HTML pages received from the browser will now be
converted to 3270 data streams and will be sent to TSO as if they had come from a 3270 terminal. 3270
data streams sent by the TSO application will be converted into HTML pages using the WEB2AJAX
template and sent to the browser.
4. TSO responds to the session request and sends a 3270 screen to Virtel.
5. Virtel, acting as a SLU in the VTAM session, receives the 3270 data stream from the host and constructs
a HTML web-page incorporating the 3270 data. It uses the HTML page WEB2AJAX.HTML as a
template. Virtel pages are maintained in the W2H directory located within the SAMP.TRSF VSAM
file.
6. The constructed HTML page is sent to the users browser.
7. The browser displays the page created by Virtel which will resemble a 3270 screen.
6
Chapter 1. The Virtel Engine
Virtel User Guide, Release 4.57
Features of Virtels VWA Presentation
A sophisticated and rich set of features are available with VWA through the use of the tool bar. Configuration
of the tool-bar is also possible. The following list summarizes the tool-bar features presented with the
standard VWA 3270 template:-
VWA 3270 Example
• Keyboard Controls. A user can send a variety of keyboard functions, such as PA2, ATTN,
etc. through the keyboard control.
• IND$FILE support.
Note: The IND$FILE function must not be considered as a replacement for a FTP client/server
architecture. Sending or receiving large files across this interface could result in performance
issues. Virtel provides a means of restricting file transfer sizes to avoid such a situation.
• Screen capture controls which provide a variety of capture options including 1/2/3 page-up
images within a single capture buffer.
• User setting controls enables an individual user to set their own Virtel controls and preferences.
• Macro Support. Enables a user to create macros to drive screen logic and repetitive tasks.
• Configurable help panels. Bespoke help panels can be developed to support business applications.
• Language support. Virtel supports a variety of different languages.
1.1. Introduction
7
Virtel User Guide, Release 4.57
1.1.3 VIRTEL Web Modernisation (VWM)
VIRTEL Web Modernisation, formerly known as “Host-Web-Services” (HWS), allows the presentation of
3270 host applications to be modified, without modifying the application itself. The presentation can be
adapted to a format (HTML, XML, Excel, etc.) suited to the requester, while hiding the details of navigation
within the 3270 transactions.
This function is implemented through a combination of the VIRTEL Web Access functions described in
Creating HTML and XML templates, and the Virtel scenario language described in Web Modernisation
VIRTEL Scenarios.
VIRTEL Web Modernisation allows “frozen” or “untouchable” 3270 transactions to be accessed by intermediate servers (n-tier architecture) or from a browser, while hiding the details of navigation within the
transactions. Variable input data for the transaction can either be included in the URL (GET method), or
sent as data with the HTTP request (POST method).
With modernisation, for example, several 3270 round trips can be made to the host application within a
presentation scenario before returning the final result to the browser. Data could be extracted from the
individual host responses and encapsulated into one HTML page. For example when a user requests a “list”
this could result in a sequence of key strokes and displays between the application and Virtel. Taking the
example:User enters "ASMITH" in CICS MAP as a search operand. Presses Enter.
First Screen returned.
User press PFK8 to obtain next screen.
Second screen returned.
User press PFK8 to obtain next screen.
Third screen returned. Last in sequence.
The above business logic i.e. “search for a name” can be incorporated into a Virtel Scenario as illustrated in
the diagram below. We have called the scenario GETDATA. The user enters the search argument “ASMITH”
and presses Enter. The HTML request is sent to Virtel. The HTML request, based upon the submitted
URL, is targeted towards transaction CUSTDATA which is a VTAM application transaction associated with
CICS6, a legacy CICS application. The CUSTDATA Virtel transaction is defined with scenario GETDATA.
This configuration data is maintained in the VIRTEL ARBO file.
8
Chapter 1. The Virtel Engine
Virtel User Guide, Release 4.57
When the user submits the URL from the browser Virtel will establishe a VTAM session with CICS6 and
then will continue to run the scenario GETDATA. The scenario contains the business logic which will perfom
the key stokes to obtain all the relevant data from multiple 3270 screens. The scenario will then build a
modernised web page which will contain a GUI “drop down list” encapsulating all data obtained from the
three 3270 CICS displays. The HTML response is sent back to the user.
The user has entered only one keystroke to submit the transaction and received one response. The data
within the HTML response will represent all the data extracted from several 3270 displays. The response
data will be presented in a “modernised” GUI fashion.
VWM Overview
1. The user enters a URL which identifies the Virtel transaction CUSTDATA.
2. The configuration data for the transaction CUSTDATA is loaded from the Virtel Configuration repository held within the Virtel ARBO VSAM dataset. The transaction CUSTDATA has a scenario
associated with it called GETDATA.
3. The GETDATA scenario is then used to navaigate through 3270 screens, collecting data from each
screen.
4. The scenarion builds a “clickable” GUI template using the data extracted from the three 3270 screens.
The template is presented to the browser.
5. The user has a modernised version of the original 3270 presentation incorporating a GUI drop down
from which they can navigate to the next sceen. A master/detail pattern has been deployed by
1.1. Introduction
9
Virtel User Guide, Release 4.57
the Virtel scenario, presenting the user with data from three separate 3270 screens. Modernisation
improves the users UX/UI presentation experince and by doing so enhances and improvers navigation
of the legacy business logic. Less network transfer is consumed as the number of original 3270 screens
is consolidated into one Virtel GUI master/detail screen.
10
Chapter 1. The Virtel Engine
Virtel User Guide, Release 4.57
1.1.4 VIRTEL Web Integration (VWI)
The objective of VIRTEL Web Integration, formerly known as “Host-for-Web” (H4W), is to allow a host
application to take maximum control of its web interface, for example through web services. This is in
complete contrast to VWA/VWM, whose objective is to avoid modification of host applications.
To control its web interface, an application has at its disposal primarily the 3270 screen, the VIRTEL table
variable facility, the HTML page template, and a set of VIRTEL commands contained in structured fields.
Additionally, for browser requests which enter VIRTEL using an entry point which specifies emulation type
“HOST4WEB”, the application can also use a set of VIRTEL control commands which can be embedded in
the 3270 screen via a BMS map, ISPF panel, or 3270 data stream. These HOST4WEB commands, available
from VIRTEL version 4.28 onwards, provide the same general functions as the structured field commands
in earlier versions.
Table variables, structured field commands, and HOST4WEB commands, are sent by the application to the
3270 session using standard methods (EXEC CICS SEND, ISPEXEC DISPLAY PANEL, TSO TPUT, etc).
VIRTEL intercepts and acts upon these commands, for example by selecting the page template or loading
data which can be referenced by VIRTEL orders embedded in the page templates and used to build lists of
values or data tables.
VMI enables an application to create a dynamic dialog between its transactions and web applications through
the creation of interactive bidirectional dialogs across the Internet between host (CICS, IMS, Ideal, Natural,
etc.) and server-based applications using XML/HTML web services or other communication procedures.
Incoming and outgoing Web Services Support
Incoming calls
• To expose host applications to web clients though web services, Virtel can be configured to:
• Receive and parse incoming web service calls
• Execute the appropriate transactions
• Receive data returned by the transactions in the form of screens, structured fields, COMMAREA, or
database segments
• Reformat and wrap that data with XML, JSON, HTML, SOAP, CSV, PDF, Word, JSON, etc.
• Serve it back to the web callers
Outgoing calls
• In the outgoing direction (host-initiated web services) the mechanism is the same, just reverse.
VWI can be configured to support a wide range of interfaces, protocols and APIs which can :• Expose mainframe applications and data as web services to web clients
• Invoke web services for the count of mainframe applications
• Support interactive exchange procedures between mainframe and web applications for cooperative work
• Function as a SOAP, MQ, PHP… server
• Transfer data blocks larger than 32KB, or blocks of data with variable format
• Convert data from DBCS (Double Byte Character Set) used by Japanese, Chinese, Russian… workstations or applications to EBCDIC, and vice/versa
• Serve 3270 data as international icons to eliminate natural languages from user interfaces
• Replace web connectors developed by IBM (CWS, CTG, HOD, IMS Connect, etc) and ISVs, or homegrown (CICS socket programming)
1.1. Introduction
11
Virtel User Guide, Release 4.57
VWI Overview
For more information, refer to the chapter “Programming Interfaces”.
1.1.5 VIRTEL Service Transactions
A Service Transaction is a long-running VIRTEL transaction which maintains a session with a host application and uses this session to serve a series of HTTP request / responses. Unlike a regular HTTP transaction,
which serves requests only from its originating user, identified by a specific VIRTEL SESSION-CODE, a
service transaction can serve a different user each time it processes an HTTP request. Service transactions
are typically used to provide fast access to public information such as the lists of field values displayed by
the “VIRTEL Suggest” feature.
A service transaction is started by an HTTP URL in exactly the same way as a regular transaction, but when
it has finished processing its first HTTP request, it indicates its readiness to serve another user, either by
means of the script command &) described under the heading “Transactions — Connection / Disconnection
Scripts” in the VIRTEL Connectivity Reference documentation, or by means of the ACTION$ SERVEANOTHER-USER command in a scenario.
A service transaction remains connected to the host application between input messages. It is then eligible
to process any HTTP request which specifies the same entry point and transaction name. Since service
transactions can potentially be used by many different users, a typical service transaction will provide
information which is not sensitive to being signed-on as a particular user.
12
Chapter 1. The Virtel Engine
Virtel User Guide, Release 4.57
1.2 VIRTEL URL Formats
1.2.1 Static pages
Virtel locates static HTML pages through the URL passed to the Virtel Engine and the configuration definitions defined within the Virtel ARBO VSAM file. An endpoint for Virtel is defined by a Virtel line definition
which identifies the TCP/IP port that Virtel listens on for incoming calls. By default Virtel uses two endpoints or ports, 41001 for Administration and port 41002 for user or client transactions. Each endpoint is associated with a default Entry Point; WEB2HOST in the case of 41001 and CLIWHOST for 41002. Transactions
are associated with End Points. An endpoint can be associated with more than one Entry Point. Virtel provides a Rule facility whereby an Entry Point can be selected by incoming call criteria - IP address for example.
Virtel Static Pages
Virtel stores pages and web elements within VIRTEL diretories located in TRSF VSAM files. The general
form of the URL for an HTML page stored in a VIRTEL directory is:
http://ipaddr:port/pathname/pagename
ipaddr:port Corresponds to the “Local ident” field of an HTTP line defined to VIRTEL. The rules of the
line are used to select the entry point. This entry point, which must specify emulation type HTML,
contains the list of transactions which the user is authorized to invoke.
pathname Represents a VIRTEL directory containing HTML pages or other elements. Refer to the section
“How the path name corresponds to a VIRTEL directory” below for details of how the pathname is
1.2. VIRTEL URL Formats
13
Virtel User Guide, Release 4.57
used to select the VIRTEL directory.
pagename Is the name of an element (HTML page, etc.) in the specified directory. VIRTEL converts the
element name to upper case (unless “case sensitive” is specified in the directory definition), and truncates the name if necessary to the maximum length specified in the directory definition (see “Directory
Management”).
VIRTEL also accepts certain abbreviated forms of the URL:
http://ipaddr:port/pathname
ipaddr:port Is the address of the HTTP line, as before.
pathname Represents a VIRTEL directory, as described above. In this case, VIRTEL loads a default page
from this directory. The default page name is the same as the entry point name. Note: the trailing
slash is compulsory.
http://ipaddr:port/pagename
ipaddr:port Is the address of the HTTP line, as before.
pagename Is the name of a page to be loaded from the default directory. The default directory corresponds
to a default pathname equal to the entry point name.
http://ipaddr:port
ipaddr:port Is the address of the HTTP line, as before.
In this case, VIRTEL loads the default URL. VIRTEL obtains the default URL from the “TIOA at logon”
field of the default transaction. The default transaction is a type 4 transaction which has the same name as
the entry point. See example 7 below for an example of a default URL. If the “TIOA at logon” field of the
default transaction is blank, then VIRTEL loads the default page from the default directory. The default
page has the same name as the entry point, and the default directory corresponds to a default pathname
equal to the entry point name.
1.2.2 How the path name corresponds to a VIRTEL directory
The pathname specified in a VIRTEL URL is used to select a VIRTEL directory which contains
HTML page templates and other elements such as CSS stylesheets, JavaScript procedures, and
GIF or JPEG images. VIRTEL directories have a simple 8-character case-insensitive name,
whereas the pathname is expressed in Unix-style syntax (one or more casesensitive components separated by slashes), as is conventional for web applications. VIRTEL
must therefore translate the Unix-style pathname into a VIRTEL directory name.
The process of mapping a pathname to a VIRTEL directory name is carried out by means of
VIRTEL transactions which are defined under the entry point selected for each request by the
rules of the HTTP line. The entry point contains both processing transactions (application types
1, 2, and 3) and directory transactions (application type 4).
To find the directory which corresponds to the pathname, VIRTEL looks for a type 4 transaction
whose external name matches the first component of the pathname, and whose “Check URL
prefix” field is either blank or matches the start of the pathname. The name of the VIRTEL
directory is contained in the “Application name” field of the first such matching transaction found
under the entry point.
Note:
14
Chapter 1. The Virtel Engine
Virtel User Guide, Release 4.57
• The comparison of the first component of the pathname with the transaction external name
is case insensitive, and if the first component of the pathname is longer than 8 characters,
only the first 8 characters are compared.
• The comparison of the beginning of the pathname against the transaction’s “Check URL
prefix” field is case sensitive.
• The “Check URL prefix” field may contain “%20” to represent a blank and “?” to ignore a
character position.
• If the “Check URL prefix” field is completely blank it is considered to match any pathname
whose first component matches the transaction external name.
Examples
Assume that entry point WEB2HOST contains the following transactions:
Transactions under entry point WEB2HOST
In this example, transactions W2H-00, W2H-03*, W2H-05* are “application type 4” (directory transactions).
Other transactions, such as “application type 1” (processing transactions i.e. TSO, CICS, etc.) play no part
in the directory selection process.
The figure below shows an example of the detail of a directory transaction:-
1.2. VIRTEL URL Formats
15
Virtel User Guide, Release 4.57
Example of a directory transaction
Example 1: Neither pathname nor pagename specified
http://ipaddr:port
The pathname defaults to the entry point name, WEB2HOST, which matches transaction W2H-00. The
pagename also defaults to WEB2HOST. VIRTEL therefore fetches page WEB2HOST from the directory
W2H-DIR.
Example 2: pagename specified
http://ipaddr:port/menu.htm
The pathname defaults to the entry point name, WEB2HOST, which matches transaction W2H-00. VIRTEL
therefore fetches page menu.htm from the directory W2H-DIR.
Example 3: Pathname specified
http://ipaddr:port/w2h/user/
The pathname /w2h/user matches transaction W2H-04. The pagename defaults to the entry point name,
WEB2HOST. VIRTEL therefore fetches page WEB2HOST from the directory USR-DIR.
16
Chapter 1. The Virtel Engine
Virtel User Guide, Release 4.57
Example 4: Pathname and pagename specified
http://ipaddr:port/w2h/user/index.html
The pathname /w2h/user matches transaction W2H-03U. VIRTEL therefore fetches page index.html from
the directory USR-DIR.
http://ipaddr:port/home/user3/index.html
Example 5: Undefined pathname specified
http://ipaddr:port/w2h/badpath/index.html
In this case the pathname /w2h/badpath does not match any transaction. VIRTEL therefore rejects the
request.
Example 6: Partly-defined pathname specified
http://ipaddr:port/SECURE/misc/myPage.html
The pathname /SECURE/misc is not specifically defined to VIRTEL. However there is a transaction W2H-02
whose external name is SECURE and whose “Check URL prefix” field is blank, which matches all pathnames
whose first component is /SECURE. VIRTEL therefore fetches the any /SECURE/misc/myPage.html from
the designated directory W2H-DIR.
Example 7: Entry point with default URL
When a user connects to a VIRTEL line without specifying either pathname or pagename, as in the example
below, the entry point may be configured to redirect the request to a default URL:http://ipaddr:port
A default URL may be specified in the transaction whose external name is the same as the entry point name.
In the example type 4 transaction CLI-00 shown below, the default URL for the entry point CLIHOST is
//w2h/appmenu.htm+applist and thus the URL
http://ipaddr:port
is processed by VIRTEL as if
http://ipaddr:port//w2h/appmenu.htm+applist
had been specified.
1.2. VIRTEL URL Formats
17
Virtel User Guide, Release 4.57
Example of a default transaction with default URL
The entry point CLIWHOST can access the w2h directory through a directory definition specifing the
external directory path as an external name in the transaction. Here the transaction needs access to web
elements located in the W2H-DIR. The /w2h/ pathname in w2h/appmenu.htm matches the external name
of the directory transaction CLI-03W. This match defines a path to the W2H-DIR:-
18
Chapter 1. The Virtel Engine
Virtel User Guide, Release 4.57
Providing access to a directory through a transactions external name
1.2.3 Dynamic pages
The general form of the URL for a VIRTEL Web Access, VIRTEL Web Integration, or VIRTEL Web
Modernisation transaction is:
http://ipaddr:port/pathname/pagename+tranname
ipaddr:port Is the address of the HTTP line, as before.
pathname Represents a VIRTEL directory, as described earlier.
pagename Is the name of an element (HTML or XML) in the specified directory. This name may be
converted to upper case and truncated to the maximum length defined in the directory definition, as
previously described. This element is used as the “template page” into which VIRTEL inserts dynamic
data.
tranname Is the external name of a transaction defined under the entry point. The application program
(which may be a CICS transaction or other VTAM application, a VIRTEL sub-application, or an
external server) invoked by this transaction provides the dynamic data which VIRTEL inserts into the
template page.
Dynamic URL with userdata
A second form of URL allows user data to be passed to VIRTEL:http://ipaddr:port/pathname/pagename+tranname+userdata
ipaddr:port Is the address of the HTTP line, as before.
1.2. VIRTEL URL Formats
19
Virtel User Guide, Release 4.57
pathname Represents a VIRTEL directory, as described earlier.
pagename Is the name of a template page, as before.
tranname Is the name of the transaction which provides the dynamic data for the template page.
userdata Is a character string which can be tested by the “User Data” field in the rules of the HTTP line
(see “Rules” in the VIRTEL Connectivity Reference documentation). This allows the administrator
to assign an entry point to the request based upon the contents of the userdata in the URL. The
userdata also becomes the value of the “routing parameter” associated with the tranname transaction.
The routing parameter can be referenced by the variable &1 in the “TIOA at logon” field of the
tranname transaction (see “Defining transaction parameters” in the VIRTEL Connectivity Reference
documentation). Additionally, if the rule which is selected specifies “$URL$” in its “Parameter” field,
and only if the HTTP terminal relays are defined in a logical pool (see “HTTP Terminals” under the
heading “Definition of an HTTP line” in the VIRTEL Connectivity Reference documentation), then
the routing parameter is used by VIRTEL to select a relay LU for the tranname transaction.
Dynamic URL with parameters
A third form of URL allows one or more parameters to be passed to a transaction by means of an “Input
Scenario” or by a “Connection / Disconnection Script”:
http://ipaddr:port/pathname/pagename+tranname?param1=value¶m2=value
ipaddr:port Is the address of the HTTP line, as before.
pathname Represents a VIRTEL directory, as described earlier.
pagename Is the name of a template page, as before.
tranname Is the name of the transaction which provides the dynamic data for the template page. This
transaction must be defined with the name of a presentation module in its “Output Scenario” field.
param1, param2, … These are the names of the parameters which the scenario can pick up using the
COPY$ INPUT-TO-VARIABLE or COPY$ INPUT-TO-SCREEN instructions (described 153) or
which can be substituted in a script by means of the &=paramn= system variable (see “Transactions – Connection / Disconnection Scripts” in the VIRTEL Connectivity Reference documentation.
The cumulative length of the URL parameters is limited by the BUFSIZE parameter of the VIRTCT.
If blanks or other special characters are required in the parameter value, then the special characters
must be coded in the standard URL escape format %xx where xx is the hexadecimal value of the
character in ASCII. For example, a blank is represented as %20.
Dynamic URL with userdata and parameters
A URL may contain both userdata and query parameters, as shown in the following example.
The various components of the URL have the same meaning as described in the preceding two
sections.
http://ipaddr:port/pathname/pagename+tranname+userdata?param1=value¶m2=value
20
Chapter 1. The Virtel Engine
Virtel User Guide, Release 4.57
1.2.4 3270 session management
VirtelSession parameter
Once a session has been established with the host 3270 application, the template page allows the user to
link to the next screen in the 3270 application dialog by means of a URL in the following format:
http://ipaddr:port/pathname/pagename++VirtelSession=sessionid
ipaddr:port Is the address of the HTTP line, as before.
pathname Represents a VIRTEL directory, as described earlier.
pagename Is the name of the template page to be used for displaying the next 3270 screen (usually the
same as the current template page).
sessionid Is a VIRTEL-generated code which allows VIRTEL to identify the user as being already connected
to an existing host session. The parameter VirtelSession=sessionid is inserted by the {{{SESSIONCODE}}} tag embedded in the template page (see “Session And Context Management”).
PrintVirtelSession parameter
A second form of the URL with SESSION-CODE allows display of print data sent by the application to the virtual printer associated with the specified session. Normally this URL will be
embedded in a template page and will be triggered by the {{{IF-PRINT-IS-READY}}} tag.
http://ipaddr:port/pathname/pagename++PrintVirtelSession=sessionid
ipaddr:port Is the address of the HTTP line, as before.
pathname Represents a VIRTEL directory, as described earlier.
pagename Is the name of the template page to be used for displaying the print data. This page must
contain the special {{{PRINT}}} tag (see “3287 Printing”) at the point at which the print data are
to be inserted in the page.
sessionid Is a code which allows VIRTEL to identify the printer associated with the user’s 3270 session.
The parameter PrintVirtelSession=sessionid (where sessionid is the associated 3270 session identifier),
is generated by the {{{SESSION-CODE}}} tag as in the following example:imprim.htm++Print{{{SESSION-CODE}}}
ValidateVirtelSession parameter
A third form of URL with {{{SESSION-CODE}}} allows a JavaScript procedure embedded in a template
page to determine whether there are pending updates to the 3270 screen image. For this type of URL,
VIRTEL returns no data, only an HTTP response code. The possible response codes are:
• 205 (Reset Content) The host application has updated the 3270 screen image since the last time it
was sent to the user.
• 304 (Not Modified) The host application has not updated the 3270 screen image
• 404 (Not Found) The sessionid code does not represent a valid host session.
Note: When response code 205 is indicated, the JavaScript procedure sends a further request to VIRTEL
to retrieve the updated 3270 screen image. This technique can be useful in handling host applications which
1.2. VIRTEL URL Formats
21
Virtel User Guide, Release 4.57
use multiple 3270 write commands to paint a single 3270 screen, where the user might otherwise be presented
with a partially updated screen. An example of this technique is contained in the WEB2VIRT.htm page
delivered in the VIRTEL sample directory W2H-DIR.
http://ipaddr:port/pathname/pagename++ValidateVirtelSession=sessionid
ipaddr:port Is the address of the HTTP line, as before.
pathname Represents a VIRTEL directory, as described earlier.
pagename May be specified but is not used.
sessionid Is a code which allows VIRTEL to identify the 3270 session whose status is being queried. The
parameter ValidateVirtelSession=sessionid, where sessionid is the associated 3270 session identifier, is
generated by the {{{SESSION-CODE}}} tag as in the following example:check.htm++Validate{{{SESSION-CODE}}}
Note: For compatibility with previous versions, the keyword VerifyVirtelSession is also accepted. VerifyVirtelSession is similar to ValidateVirtelSession except that it produces only two possible return codes:
• 205 (screen updated)
• 304 (screen not updated or session invalid)
$UseCookieSession$ parameter
As an alternative to specifying the VirtelSession parameter in the URL, the SESSION-CODE may be sent
to VIRTEL in a cookie. An example URL is shown below:
http://ipaddr:port/pathname/pagename++$UseCookieSession$
ipaddr:port Is the address of the HTTP line, as before.
pathname Represents a VIRTEL directory, as described earlier.
pagename Is the name of the template page to be used for displaying the next 3270 screen (usually the
same as the current template page).
$UseCookieSession$ Indicates that the SESSION-CODE is contained in the VirtelSession cookie.
The VirtelSession cookie should be generated by Javascript as shown in the example below. This function
may be added to the custom Javascript script (see “Site customization of Javascript functions”):
/* Save VirtelSession cookie after each subpage is loaded */
function after_responseHandle(o, url, xtim) {
var node = document.getElementById("sesscode");
if (node) {
var text = node.textContent || node.innerText;
var sess = text.replace(/^VirtelSession=/i,"");
createCookie("VirtelSession", sess, 1);
}
}
Figure 1.5 Custom Javascript function to generate a VirtelSession cookie
22
Chapter 1. The Virtel Engine
Virtel User Guide, Release 4.57
1.2.5 Capability URLs
A URL may contain a “capability token” generated by another terminal. In this case the URL
inherits certain rights or capabilities conferred by the other terminal. The capabilities inherited
depend on the parameters specified in the SET-HEADER tag which generated the capability
token. For further details, see “Capability Tokens”.
http://ipaddr:port/pathname/pagename+tranname+capabilitytoken
ipaddr:port Is the address of the HTTP line, as before.
pathname Represents a VIRTEL directory, as described earlier.
pagename Is the name of a template page, as before.
tranname (optional) Is the name of the transaction which supplies the dynamic data for the page. If the
transaction name is omitted then two “+” signs must separate the pagename from the capabilitytoken.
capability token is a token which grants rights to another terminal’s resources. This code, whose format is
x-Virtel-name:token, is generated by the “{{{SET-HEADER}}}” tag. The code is case-sensitive and
so the capitalization must be exactly the same as the generated token.
1.2.6 Transmission of Security Tokens by URL
A security code, which identifies a user during a HTTP page upload request, is normally transmitted between
the browser and VIRTEL as a cookie (see “Uploading HTML Pages”). If, for security or other reasons, your
browser does not allow the use of cookies, then the security code can, as an alternative, be embedded in a
URL of the form shown below:http://ipaddr:port/pathname/pagename+tranname+securitycode
ipaddr:port Is the address of the HTTP line, as before.
pathname Represents a VIRTEL directory, as described earlier.
pagename Is the name of a template page, as before.
tranname Is the name of the transaction which supplies the dynamic data for the page.
securitycode Is the code which allows VIRTEL to identify the user. This code, whose format is VirtelCookie=xxxxxxxxxxxxxxxx, is generated by the “{{{SECURITY-TOKEN}}}” tag, as shown in the
example below:upload2.htm+upload+VirtelCookie={{{SECURITY-TOKEN}}}
The following format allows a static page to be displayed:
http://ipaddr:port/pathname/pagename++securitycode
ipaddr:port Is the address of the HTTP line, as before.
pathname Represents a VIRTEL directory, as described earlier.
pagename Is the name of the page.
securitycode Is a code of format VirtelCookie=xxxxxxxxxxxxxxxx which allows VIRTEL to identify the
user, as before.
On receipt of this URL, VIRTEL treats the VirtelCookie= parameter as if it were a cookie transmitted
by the browser.
1.2. VIRTEL URL Formats
23
Virtel User Guide, Release 4.57
1.2.7 Propagation of signon by URL
A URL embedded in a page sent by VIRTEL may contain a VirtelUserSignon parameter in order to propagate
the user’s signon credentials to another page. The value of the parameter is generated by the “({{{USERSIGNON-CODE}}} tag “. This can be useful in cases where the browser does not propagate the user name
and password from one page to another, for example when using VIRTEL transaction security type 4. The
format of a URL containing a signon code is shown below:http://ipaddr:port/pathname/pagename+tranname+VirtelUserSignon=signoncode
ipaddr:port Is the address of the HTTP line, as before.
pathname Represents a VIRTEL directory, as described earlier.
pagename Is the name of a template page, as before.
tranname Is the name of the transaction which supplies the dynamic data for the page.
signoncode Is a code which allows VIRTEL to identify the signed-on user. This code is generated by the
{{{USER-SIGNON-CODE}}} tag, as shown in the example below:http://web2virt.htm+cics+VirtelUserSignon={{{USER-SIGNON-CODE}}}
1.2.8 The Universal Transaction
A transaction may be defined with an external name consisting of an asterisk, and this is considered to be
a “universal” transaction. A universal transaction matches any URL not already matched by a preceding
transaction in the entry point. This allows VIRTEL to process URLs whose format does not conform to the
classic VIRTEL formats previously described.
24
Chapter 1. The Virtel Engine
Virtel User Guide, Release 4.57
1.3 Directory Management
HTML and XML template pages and other entities such as CSS stylesheets, JavaScript procedures, and GIF
or JPEG images used by VIRTEL Web Access are stored in directories within a VSAM KSDS managed by
VIRTEL. Each KSDS defined to VIRTEL can contain one or more directories. The system administrator
can upload pages and other elements into a VIRTEL directory by using a web browser or by e-mail, as
described in detail in the section “Uploading HTML Pages”.
1.3.1 Accessing the administration application
Virtel provides an administrative portal which contains various sub applications used to administer Virtel.
The administrative portal can be access either through the 3270 administration application or the HTML
GUI portal.
1.3.2 Access through 3270
Access to the 3270 application is through a normal VTAM logon using the VIRTEL APPLID as the application name. For example, from a VTAM screen enter LOGON APPLID=VIRTEL. The following screen
will appear:-
Logon screen for 3270 Administration
After logging in with security details the main application menu will be presented. Select PF1 from the main
menu to access the administration and configuration menu.
1.3. Directory Management
25
Virtel User Guide, Release 4.57
Directory sub application
The directory management sub-application allows the administrator to define directories. The subapplication is accessible by [PF6] from the configuration menu, or by [PF12] from the system services menu
followed by option 3, or from the VIRTEL Multi-Session menu via a transaction which invokes VIRTEL
module VIR0042.
1.3.3 Security
If security is active, access to the directory management sub-application from the configuration menu or the
system services menu is controlled by resource $$PCPC$$.
When invoked via a transaction, normal transaction security rules apply.
In addition, each directory is protected by a resource whose name is the same as the directory name. The
administrator must have access to this resource in order to view or manage the contents of the directory, or
to upload pages to the directory. When an external security product is used, the resource is defined in the
class named by the RNODE parameter in the VIRTCT (see “Parameters of the VIRTCT” in the VIRTEL
Installation Guide).
Security management is described in the VIRTEL Security documentation.
1.3.4 Creating, modifying, and deleting directories
When the directory management sub-application is invoked, it displays a list of the directories already defined
in the system:-
26
Chapter 1. The Virtel Engine
Virtel User Guide, Release 4.57
Figure 1.6 Directory management summary screen
Using the associated Admin(3270) functions
These functions are accessed from either the browsers Administration portal or by logging on to Virtel using
it’s VTAM interface.
Deleting a directory definition
To delete a directory definition, place the cursor on the name of the directory to be deleted and press [PF2].
The message CONFIRM DELETE appears at the bottom of the screen. Press [PF2] again. The message
DELETE OK indicates that the deletion of the directory definition was successful. While the message
CONFIRM DELETE is displayed, you can press any function key other than [PF2] to cancel the operation.
Displaying directory contents
To display the contents of a directory, place the cursor on the directory name and press [PF4]. VIRTEL
displays the directory contents management screen described below.
Adding a directory definition
To create a new directory definition, place the cursor on the blank line after the last directory, and press
[PF12] to display an empty directory detail screen. Fill in all of the fields and press [ENTER]. The message
CREATION OK indicates that the directory definition was successfully created.
1.3. Directory Management
27
Virtel User Guide, Release 4.57
Scrolling the list of directories
To scroll to the top of the list, press [PF6]. To scroll up or down the list, press [PF7] or [PF8].
Exiting from directory management
To return to the configuration menu, press [PF3].
1.3.5 Defining directory parameters
To access the detail screen for any directory, place the cursor on the directory name and press [PF12]:
Directory management detail screen
Name The name of the directory as known by VIRTEL. If security is active, this name must also be defined
as a resource to which the user must be authorized.
Description Comment associated with the directory.
Type V (or blank) indicates that the directory is held in a VSAM KSDS.
DD name The file name of the VSAM KSDS which contains the directory. This name must be defined in
one of the UFILEn parameters in the VIRTCT, and a DD statement with the same name must appear
in the VIRTEL started task JCL.
Keyword This is an 8-byte key which allows multiple directories to be stored within a single VSAM KSDS.
Each directory in a KSDS must have a unique key.
Size of names The maximum length of the names of HTML pages and other elements stored in this
directory. The minimum (and default) value is 8. The maximum value is 64.
28
Chapter 1. The Virtel Engine
Virtel User Guide, Release 4.57
Case Any non-blank character in this field indicates that the element names stored in this directory are
case sensitive. Blank indicates that the names are not case sensitive.
Copy up This field is used by VIRTEL/PC. For VIRTEL Web Access directories, the value X must be
coded.
Copy down This field is used by VIRTEL/PC. For VIRTEL Web Access directories, the value X must be
coded.
Delete This field is used by VIRTEL/PC. For VIRTEL Web Access directories, the value X must be coded.
After pressing [PF4] at the directory management summary screen or detail screen, VIRTEL displays
a list of the files in the directory:
Figure 1.8 Directory contents management screen
1.3.6 Associated functions
Deleting an element
To delete an element from a directory, place the cursor on the name of the element to be deleted and
press [PF2]. The message CONFIRM DELETE appears at the bottom of the screen. Press [PF2] again.
The message DELETE OK indicates that the deletion of the element was successful. While the message
CONFIRM DELETE is displayed, you can press any function key other than [PF2] to cancel the operation.
Copying an element to another directory
To copy an element from directory A to directory B, first display the contents of directory A. In field [7]
type the name of the target directory B, then press [ENTER]. Next, place the cursor on the name of the
element to be copied, then press [PF6]. The message COPY COMPLETED indicates that the operation
1.3. Directory Management
29
Virtel User Guide, Release 4.57
was successful. If the element exists in the target directory, the copy fails and the message THIS FILE IS
ALREADY IN THE TARGET DIRECTORY is displayed at the bottom of the screen.
Scrolling the list
The list of elements can be scrolled up and down using [PF7] and [PF8].
Exiting from directory contents management
To return to the list of directories, press [PF3].
1.3.7 Acccess administration portal via the web
Access to the HTML GUI Administration portal is through the web using the Administration endpoint. By
default this is port 41001. The URL http://192.168.129.33:41001 is an example of a URL to access the WEB
administration portal. After providing security information the following screen will appear:-
Logon screen for Web Administration
Selecting the Admin (HTML) will prompt for a userid and password. After providing security details the
following administration portal will appear:-
30
Chapter 1. The Virtel Engine
Virtel User Guide, Release 4.57
Web Administration Portal
Directory administration can be invoked from the Directory link. Selecting a directory will display
a content menu proving options to list, edit, delete or create new directories.
1.3. Directory Management
31
Virtel User Guide, Release 4.57
Directory Context Menu
When selecting a directory, the detail panel will be displayed. The ICONs on the right hand side of the title
bar provide actions such as add, update or list.
Directory Detail Display
32
Chapter 1. The Virtel Engine
Virtel User Guide, Release 4.57
1.4 Creating Virtel Template Pages
1.4.1 Introduction
Template pages are the means by which VIRTEL presents host application data to the user via a web
browser. In addition to standard HTML or XML tags, template pages contain VIRTEL-specific tags enabling
integration of information delivered by the mainframe application programs. HTML template pages may
contain GIF or JPEG images, sounds, scripts such as JavaScript or any other function or program elements
that are compatible with the browser. Template pages may be produced either by hand or by using standard
HTML or XML design tools available on the market.
For VWA, users would not be required to produce or modify any template pages as all the necessary template
pages are provided by the Virtel product. For VWM or VWI, new pages may be produced by Virtel tools
such as Virtel Screen Redesigner to support modernisation or integration projects. Virtel Studio may also
introduce new templates to support business logic in Virtel scenarios. Sometimes it may be necessary to
modify these pages.
The following sections provide details on Virtel tags.
1.4.2 Defining the tag delimiters
VIRTEL-specific tags are used to insert data originating at the host into an HTML or XML page, and to
manage colours and function keys in an HTML page. VIRTEL-specific tags are identified by special begin
and end delimiters. The delimiters themselves are defined by means of a comment placed between the tags
and of the HTML page. The actual delimiters may vary from one page to another.
In this example, VIRTEL-specific tags are defined as being represented by a succession of 3 opening braces
and terminated by a succession of 3 closing braces. This convention is maintained throughout the remainder
of this chapter. A minimum template required for Virtel to work with and display a 3270 application looks
something like this:
Virtel Unplugged - Example 1
Sample Virtel Template
Note: See the use of the Virtel tags {{{ }}} within the HTML template. Virtel injects data into these
fields before sending the template to the browser.
1.4.3 Session and context management
VIRTEL uses the concept of a session code to maintain the context between a client using a browser and
the host application to which the client is connected. This code allows VIRTEL to identify the client and to
associate the client with a session already established with a host application.
SESSION-CODE tag
The SESSION-CODE tag is used to create the URL associated with form submission.
{{{ SESSION-CODE }}}
The SESSION-CODE tag allows a session code to be inserted in the template page in the format VirtelSession=xxxxxxxxxxxxxxxx. The value of the session code changes after each message. For examples of its use,
see “Transmitting Data To The Host”, and “3287 Printing”.
AJAX-SESSION-CODE tag
The AJAX-SESSION-CODE tag is similar to the SESSION-CODE tag, but it generates the code in a
different format which does not change with each request. This is useful when implementing an AJAX
dialog between the application and the browser. For this type of application, it is not always possible to
transmit the VIRTEL session code to the browser, especially if a Javascript library is used.
{{{ AJAX-SESSION-CODE }}}
The AJAX-SESSION-CODE tag allows a session code to be inserted in the template page in the format
AjaxSession=xxxxxxxxxxxxxxxx. For example:result.txt+cics+{{{ AJAX-SESSION-CODE }}}
SET-INITIAL-TIMEOUT tag
The SET-INITIAL-TIMEOUT tag allows a timeout to be started when VIRTEL builds the page.
34
Chapter 1. The Virtel Engine
Virtel User Guide, Release 4.57
{{{ SET-INITIAL-TIMEOUT "n" }}}
For example, if the instruction
{{{ SET-INITIAL-TIMEOUT "10" }}}
is coded in a page or a sub-page, then VIRTEL will cancel the session if the workstation has not sent another
request after 10 seconds.
1.4.4 Transmitting data to the host
Transmission of data to the host uses the principle of sending an HTML form. In conjunction with the
SESSION-CODE tag, the form allows the transmission of input fields to the host application, and the
display of the subsequent application screen.
The form is defined as follows:
name Form name. The name of the form is used in JavaScript procedures to refer to various elements of
the form. For an example, see the section “Cursor management”.
action URL transmitted to the server, in the following format:
action="pagename++{{{SESSION-CODE}}}"
pagename Is the name of the template page to be used to display the subsequent screen sent by the host
application (usually the same as the current template page)
SESSION-CODE Identifies the session established with the host application
method Transmission mode. Always POST.
Example :
. In order to minimise traffic, it is also advisable to place only useful data in
the tag fields for example, generated fields or copies resulting from GENERATE-HTML and COPY-FROM
tags, as well as indispensable fields such as focusField and pfkField. Other data may be placed anywhere in
the area of the HTML page, provided that their position conforms to the standards. The following presents
a template structure example.
35
Virtel User Guide, Release 4.57
.GREEN {font-family: monospace; background: #000000; color: #00FF00; }
//-->
{{{ON-ATTRIBUTE (PROTECTED,WHITE)}}}
{{{ON-END-OF-ATTRIBUTE (PROTECTED,WHITE)}}}
{{{ADD-TO-FIELDS (NORMAL,NOCOLOR) class="GREEN" }}}
{{{DEFINE-HTML-PFKEY "PFKFIELD"}}}
{{{DEFINE-HTML-FOCUS-FIELD "FOCUSFIELD"}}}