Virtel LU Nailing

Introduction

Description

This document describes procedures for assigning fixed LU names to specific users in VIRTEL Web Access. This is known as LU nailing. Before you attempt the procedures described in this document, you should first install VIRTEL and get basic access to your 3270 application working using the sample definitions provided with the product. Do not attempt to define LU nailing with cookies until you have got the basic VIRTEL Web Access functions working and demonstrated to your satisfaction.

What is VIRTEL Web Access?

VIRTEL Web Access is a software product which enables users to access mainframe 3270 applications from a standard web browser, without intermediate servers, without Java, and without installing any additional software on the workstation.

What is LU nailing?

When a user connects to a 3270 application through VIRTEL Web Access, VIRTEL makes it appear to the application as if the user is connecting from a virtual 3270 terminal. In VTAM terms a virtual 3270 terminal is called a Logical Unit or LU, and each LU has a unique eight character name (LU name). VIRTEL has at its disposal a pool of LUs known to VTAM, whose names are specified in the VIRTEL configuration file (the VIRARBO file). Normally when a user connects to a 3270 application, VIRTEL chooses any available LU from the pool.

While most mainframe applications will accept a connection from any LU name, certain applications (particularly applications which run under IMS) are sensitive to the LU name because they assign permissions to the user based upon the LU name of the user’s terminal. LU nailing allows VIRTEL to assign a particular LU name to a user based upon the user’s IP address or upon a cookie presented by the user’s browser.

What are the different types of LU nailing?

This document describes the following types of LU nailing:

  • LU nailing by IP address

  • LU nailing by cookie delivered by e-mail

  • LU nailing by cookie obtained by self-registration

  • LU nailing by URL

How to activate LU nailing by IP address

Description

This chapter describes the procedure for setting up a VIRTEL configuration which will map specific IP addresses to predefined LU names. This kind of mapping is suitable where users connect from fixed IP addresses. The mapping is done by VIRTEL “rules”, and does not require cookies.

The procedure is described by way of two examples. The first example shows how to map individual IP addresses to specified LU names. The second example shows how to map a range of IP addresses to a pool of LU names.

Mapping individual IP addresses to LU names

In this example we will choose three IP addresses and map each one to a specific LU name, as shown in the table below:

IP address

LU name

192.168.0.39

RHTVT001

192.168.0.147

RHTVT002

192.168.0.45

RHTVT003

To configure this mapping we will add three rules to the W-HTTP line. This is the line defined as port 41001 in the VIRTEL sample configuration.

First logon to VIRTEL via (tn)3270 and press F1=Admin, or select Admin from the VIRTEL Web Access menu. Then select F1=Lines. Put the cursor on W-HTTP and press F12 to see the LINE DETAIL DEFINITION panel, then F5 to see the rules associated with the line:

LIST of RULES in RULE SET: W-HTTP ---------------- Applid: SPVIRBW  14:18:20
Name     Status Description                              Entry Point
WHT00100 ACTIVE HTTP access (users authorised by cookie) $COOKIE$
WHT00200 ACTIVE HTTP access (other users)                WEB2HOST

P1=Update P2=Suppress P3=Return P6=1st page P7=Page-1 P8=Page+1 P12=Edit

Figure 1 List of rules for W-HTTP line

Place the cursor on WHT00200 and press F12 to add a new rule. We will add one new rule for each IP-LU mapping. Here is what you need to enter to create the first rule:

DETAIL of RULE from RULE SET: W-HTTP ------------- Applid: SPVIRBW 14:30:38
Name        ===> WHT00110 Rule priority is per name
Status      ===> ACTIVE 15 Feb 2010 14:30:35 SPTBOWL
Description ===> HTTP access from IP 192.168.0.39
Entry point ===> WEB2HOST Target Entry Point
Parameter   ===> RHTVT001 &1 value or LUNAME
Trace       ===> 1=commands 2=data 3=partner
C : 0=IGNORE 1=IS 2=IS NOT 3=STARTS WITH 4=DOES NOT 5=ENDS WITH 6=DOES NOT
1 IP Subnet   ===> 192.168.000.039 Mask ===> 255.255.255.255
0 Host        ===>
0 eMail       ===>
0 Calling DTE ===> Calling DTE address or proxy
0 Called      ===> Called DTE address
0 CUD0 (Hex)  ===> First 4 bytes of CUD (X25 protocol)
0 User Data   ===>
0 Days        ===> M: T: W: T: F: S: S:
0 Start time  ===> H: M: S: End time ===> H: M: S:
P1=Update P3=Return Enter=Add P4=Activate P5=Inactivate P12=Entry P.

Figure 2 Rule to map IP address 192.168.0.39 to LU RHTVT001

You must choose a unique name for the rule. Here we have chosen WHT00110, to fit in with the names delivered in the sample configuration. Rules are processed in alphanumeric order of name, so it is important that the name you choose should precede the name of the default rule, which is delivered as WHT00200. For a production configuration you could choose any naming scheme.

In the IP Subnet field, place a 1 in the column on the left (this activates the testing of the IP address for this rule), and then type the IP address “192.168.000.039” into the field as shown. The Mask field must contain 255.255.255.255 which means that the entire IP address is tested.

For documentation purposes, you should also include the IP address in the Description field.

In the Parameter field, type the name of the LU to be nailed to this IP address.

Note: the LU name must be defined in a VIRTEL pool, see Adding LUs to the pool’s.

The Entry Point field should contain WEB2HOST, which is the normal entry point associated with the W-HTTP line on port 41001.

Now press ENTER to add the rule, then F4 to activate it.

Next repeat the process to add the second rule:

DETAIL of RULE from RULE SET: W-HTTP ------------- Applid: SPVIRBW 15:58:04
Name        ===> WHT00120 Rule priority is per name
Status      ===> ACTIVE 15 Feb 2010 15:58:03 SPTBOWL
Description ===> HTTP access from IP 192.168.0.147
Entry point ===> WEB2HOST Target Entry Point
Parameter   ===> RHTVT002 &1 value or LUNAME
Trace       ===> 1=commands 2=data 3=partner
C : 0=IGNORE 1=IS 2=IS NOT 3=STARTS WITH 4=DOES NOT 5=ENDS WITH 6=DOES NOT
1 IP Subnet   ===> 192.168.000.147 Mask ===> 255.255.255.255
0 Host        ===>
0 eMail       ===>
0 Calling DTE ===> Calling DTE address or proxy
0 Called      ===> Called DTE address
0 CUD0 (Hex)  ===> First 4 bytes of CUD (X25 protocol)
0 User Data   ===>
0 Days        ===> M: T: W: T: F: S: S:
0 Start time  ===> H: M: S: End time ===> H: M: S:
P1=Update P3=Return Enter=Add P4=Activate P5=Inactivate P12=Entry P.

Figure 3 Rule to map IP address 192.168.0.147 to LU RHTVT002

Press ENTER to add the rule and F4 to activate it.

Then the same for the third rule:

DETAIL of RULE from RULE SET: W-HTTP ------------- Applid: SPVIRBW 16:00:45
Name        ===> WHT00130 Rule priority is per name
Status      ===> ACTIVE 15 Feb 2010 16:00:20 SPTBOWL
Description ===> HTTP access from IP 192.168.0.45
Entry point ===> WEB2HOST Target Entry Point
Parameter   ===> RHTVT003 &1 value or LUNAME
Trace       ===> 1=commands 2=data 3=partner
C : 0=IGNORE 1=IS 2=IS NOT 3=STARTS WITH 4=DOES NOT 5=ENDS WITH 6=DOES NOT
1 IP Subnet   ===> 192.168.000.045 Mask ===> 255.255.255.255
0 Host        ===>
0 eMail       ===>
0 Calling DTE ===> Calling DTE address or proxy
0 Called      ===> Called DTE address
0 CUD0 (Hex)  ===> First 4 bytes of CUD (X25 protocol)
0 User Data   ===>
0 Days        ===> M: T: W: T: F: S: S:
0 Start time  ===> H: M: S: End time ===> H: M: S:
P1=Update P3=Return Enter=Add P4=Activate P5=Inactivate P12=Entry Point

Figure 4 Rule to map IP address 192.168.0.45 to LU RHTVT003

Again press ENTER to add the rule and F4 to activate it.

Finally press F3 to go back to the list of rules for the W-HTTP line, which should now look like this:

LIST of RULES in RULE SET: W-HTTP ---------------- Applid: SPVIRBW    16:02:33
Name     Status Description                              Entry Point
WHT00100 ACTIVE HTTP access (users authorised by cookie) $COOKIE$
WHT00110 ACTIVE HTTP access from IP 192.168.0.39         WEB2HOST
WHT00120 ACTIVE HTTP access from IP 192.168.0.147        WEB2HOST
WHT00130 ACTIVE HTTP access from IP 192.168.0.45         WEB2HOST
WHT00200 ACTIVE HTTP access (other users)                WEB2HOST
P1=Update P2=Suppress P3=Return P6=1st page P7=Page-1 P8=Page+1 P12=Edit

Figure 5 Updated list of rules for W-HTTP line

Now, for example, when you connect to a host application via VIRTEL port 41001 from a browser at address 192.168.0.147, you will get LU name RHTVT002.

Mapping a range of IP addresses to a pool of LU names

The second example shows how to map a range of IP addresses to a pool of LU names. We will add an additional rule which will ensure that all connections in the network 192.168.100.0 through 192.168.100.255 will be assigned the next unused LU name in the range RHTVT1xx, as shown in the table below:

IP address

LU name

192.168.100.nnn

RHTVT1xx

To set up this mapping we will add another rule, using the same procedure as described in the previous section. The rule is shown below:

DETAIL of RULE from RULE SET: W-HTTP ------------- Applid: SPVIRBW    17:53:56
Name        ===> WHT00140 Rule priority is per name
Status      ===> ACTIVE 15 Feb 2010 17:53:49 SPTBOWL
Description ===> HTTP access from IP 192.168.100.nnn
Entry point ===> WEB2HOST Target Entry Point
Parameter   ===> RHTVT1\* &1 value or LUNAME
Trace       ===> 1=commands 2=data 3=partner
C : 0=IGNORE 1=IS 2=IS NOT 3=STARTS WITH 4=DOES NOT 5=ENDS WITH 6=DOES NOT
1 IP Subnet   ===> 192.168.100.000 Mask ===> 255.255.255.000
0 Host        ===>
0 eMail       ===>
0 Calling DTE ===> Calling DTE address or proxy
0 Called      ===> Called DTE address
0 CUD0 (Hex)  ===> First 4 bytes of CUD (X25 protocol)
0 User Data   ===>
0 Days        ===> M: T: W: T: F: S: S:
0 Start time  ===> H: M: S: End time ===> H: M: S:
P1=Update P3=Return Enter=Add    P4=Activate P5=Inactivate P12=Entry P.

Figure 6 Rule to map IP address 192.168.100.nnn to LU pool RHTVT1xx

The new rule is named WHT00140, the IP Subnet field specifies the IP address 192.168.100.000, and the Mask is set to 255.255.255.000 to indicate that only the first three octets of the IP address are tested to determine whether the rule matches the IP address of the client browser. The parameter field specifies a generic LU name RHTVT1* which signifies that any LU whose name begins with RHTVT1 may be assigned to clients whose IP address matches this rule.

Note: the LU names must be defined in a VIRTEL pool, see Adding LUs to the pool.

Press ENTER to add the rule, then F4 to activate it.

The default rule

You will notice that there is a default catch-all rule WHT00200 (other users) which will be taken for any IP address which is not matched by one of the earlier rules. If you do not want unmatched IP addresses to be able to access the system, change this rule so that it specifies a non-existent LU name in the parameter field. This will cause VIRTEL to issue an error message and close the connection. Optionally, you could change this rule so that it goes to an entry point which displays a panel with an appropriate message such as Access not authorized.

How to activate LU nailing with cookies delivered by e-mail

Description

This chapter describes the procedure for setting up LU nailing with cookies delivered by e-mail. The procedure consists of defining a user, associating an LU name with the user, and sending the user an e-mail containing a browser cookie. When the user’s browser subsequently connects to a mainframe application such as IMS or CICS via VIRTEL Web Access, VIRTEL recognizes the security code contained in the cookie and assigns the designated LU name to the user during communication with the application.

Setting up the SMTP line

In VIRTEL terms, a user identified by cookie is known as a correspondent. The cookie is initially delivered to the correspondent by e-mail, so before you can activate a correspondent, you have to make sure that you have your VIRTEL SMTP line correctly configured. See section Examples of line definitions subsection Definition of an SMTP line of the VIRTEL Connectivity Reference manual.

You can add an SMTP line to the VIRTEL configuration by running the ARBOLOAD job in the VIRTEL CNTL library. If you did not already do so at VIRTEL installation time, specify SMTP=YES in the options at the start of the job, and rerun ARBOLOAD which will add an SMTP line named S-SMTP to the VIRTEL configuration file. Now stop and restart the VIRTEL STC.

Next, logon to VIRTEL via (tn)3270 and choose F1=Admin then F1=Lines. Put the cursor on line S-SMTP and press F12. In remote ident you need to put the IP address and port number of your SMTP server (this will normally be the same SMTP server as you have configured in your desktop e-mail client). Leave local ident unchanged, we do not use it since VIRTEL will not be receiving any incoming e-mails for this application. Fill in the description field as defined in the VIRTEL Connectivity Reference manual.

Press F1 to save the updated line definition. Then stop and start the

SMTP line using these MVS commands:

F VIRTEL,LINE=S-SMTP,P
F VIRTEL,LINE=S-SMTP,S

Setting up the rules for LU nailing with cookies

A set of rules attached to the VIRTEL HTTP line determines how VIRTEL processes incoming requests. To see the rules attached to an HTTP line, go to the VIRTEL Configuration Menu and press F1=Lines, then put the cursor on the name of the line and press F5=Rules. The list of rules attached to the W-HTTP line (port 41001) is shown below:

LIST of RULES in RULE SET: W-HTTP ---------------- Applid: SPVIRBW 16:09:42
Name     Status Description                                   Entry Point
WHT00100 ACTIVE HTTP access (users with LU nailing by cookie) WEB2HOST
WHT00200 ACTIVE HTTP access (other users)                     WEB2HOST

P1=Update P2=Suppress P3=Return P6=1st page P7=Page-1 P8=Page+1 P12=Edit

Figure 7 Rules for line W-HTTP

Normally all requests are processed by a default catch-all rule. For the W-HTTP line the default rule is named WHT00200. This default rule assigns an entry point (in this case WEB2HOST) and selects the next available LU from the terminal pool *W2HPOOL. When LU nailing with cookies is in effect, a different rule WHT00100 is selected for users who present a cookie containing a valid security code. This rule also assigns entry point WEB2HOST, but the LU name is obtained from the user’s correspondent record.

The rule for LU nailing is shown below:

DETAIL of RULE from RULE SET: W-HTTP ------------- Applid: SPVIRBW 16:16:30
Name        ===> WHT00100 Rule priority is per name
Status      ===> ACTIVE 18 Feb 2010 16:09:40 SPTBOWL
Description ===> HTTP access (users with LU nailing by cookie)
Entry point ===> WEB2HOST Target Entry Point
Parameter   ===> $COOKIE$ &1 value or LUNAME
Trace       ===> 1=commands 2=data 3=partner
C : 0=IGNORE 1=IS 2=IS NOT 3=STARTS WITH 4=DOES NOT 5=ENDS WITH 6=DOES NOT
0 IP Subnet   ===> 000.000.000.000 Mask ===> 000.000.000.000
0 Host        ===>
0 eMail       ===>
0 Calling DTE ===> Calling DTE address or proxy
0 Called      ===> Called DTE address
0 CUD0 (Hex)  ===> First 4 bytes of CUD (X25 protocol)
0 User Data   ===>
0 Days        ===> M: T: W: T: F: S: S:
0 Start time  ===> H: M: S: End time ===> H: M: S:

P1=Update P3=Return Enter=Add P4=Activate P5=Inactivate P12=Entry P.

Figure 8 Rule for LU nailing by cookie

The rule for LU nailing has the special value $COOKIE$ in the Parameter field. This value has a two-fold meaning: firstly, it ensures that the rule is matched only for users who present a cookie containing a valid security code, and secondly, it indicates to VIRTEL that the LU name is taken from VTAM name field in the user’s correspondent record.

Users who do not present a cookie, or whose cookie contains an invalid or expired security code, will not match this rule and will drop through to the next rule, which in this example is the catch-all rule WHT00200.

Defining a user

Now you can define your first user. From the VIRTEL Configuration Menu, press F5=Correspondents. At the List of correspondent’s panel, press F12 then fill in these fields:

CORRESPONDENT DETAIL DEFINITION -------------------- Applid: SPVIRE2 16:37:59
Id                 ===> john.user@whatever.com    email address with '@' sign
Type of Id         ===> 1 1:Email 2:Local+fixed 3:Local+changing
Activation message ===> To activate your VIRTEL connection, click:&Rhttp://192.168.5.30:41001/web2host.htm++&C

Text of 'OK' message to user.

VTAM name      ===> RHTVT003 &1 parameter to specify VTAM LU name
Rule Set       ===> Rules to choose an entry point
Directory      ===> Where data is to be uploaded
Last contact   ===> QUEUE ACTIVATION
Contacts       ===> 00000000 Number of times cookie was updated
Date created   ===> 08 Jan 2009 17:02:12
Created by     ===> VIRDBA
Date activated ===> 20 Oct 2009 11:07:34
Activated by   ===> VIRDBA
Date disabled  ===> 16 Jan 2009 16:55:22
Disabled by    ===> SPTBOWL

P1=Update P3=Return Enter=Add P4=Activate P5=Disable P6=Rules

Figure 9 Correspondent detail screen (e-mail correspondent)

  • Replace john.user@whatever.com by the user’s e-mail address.

  • Replace 192.168.5.30 by the host IP address where VIRTEL is running.

  • Replace RHTVT003 by the LU name to be assigned to this user

Note: the LU name must be defined in a VIRTEL pool, see Adding LUs to the pool’s.

Leave the Rule Set and Directory fields blank Now press Enter. You should get the message CREATION OK

See section Correspondent management in the VIRTEL Web Access Guide for a detailed description of how to define a correspondent.

How to activate VIRTEL LU nailing with cookies obtained by self-registration

Description

This chapter describes the procedure for setting up LU nailing with cookies, where the users initially obtain the cookie by a procedure known as self-registration. This is similar to LU nailing described in the previous section, except that the cookie is delivered to the user by a web-page instead of by e-mail. The first time a user accesses VIRTEL, the user is directed to a special self-registration page which assigns an LU name, creates a record in the correspondent file, and delivers a cookie to the user’s browser. When the user subsequently connects to a mainframe application such as IMS or CICS via VIRTEL Web Access, VIRTEL recognizes the security code contained in the cookie and assigns the designated LU name to the user for communication with the application.

Setting up the rules for self-registration

This section will be completed in a subsequent edition of the documentation.

Adding LUs to the pool

Displaying the terminal pool

All LUs which participate in LU nailing must be defined to VIRTEL in a terminal pool. To view the terminal pools, logon to VIRTEL via (tn)3270 and press F1=Admin, or select Admin from the VIRTEL Web Access menu. Then select F2=Terminals. You will see a panel similar to the one shown in the figure below:

LIST of TERMINALS ---------------------------------- Applid: SPVIRBW 18:03:43
Terminal Repeated Relay    Entry     Type I/O Pool     2nd Relay
?\*\*\*  0000     RVTAM=== PC        2
CLLOC000 0050                        3     3
CLVTA000 0080              \*W2HPOOL 3     3
DELOC000 0010                        3     3
DEVTA000 0016              \*W2HPOOL 3     3
SMLOC000 0016               SMTP     3     3
W2HIM000 0080     RHTIM000           2     1
W2HTP000 0080     RHTVT000           3     3 \*W2HPOOL RHTIM000

P1=Update P2=Delete P3=Return P6=1st Page P7=Page-1 P8=Page+1 P12=Details

Figure 10 List of terminals

In the above display we can see that there are 80 terminals in the pool named *W2HPOOL, and their internal names are W2HTP000 to W2HTP079. The corresponding LU names are RHTVT000 to RHTVT079, and these are the LU names available for LU nailing when the system is initially installed.

In the following sections we shall see how to add LU names to the pool.

Adding a terminal to the pool

In this section we will add a new LU named NYCTERM to the terminal pool used for Web Access. Position the cursor on W2HTP000 and press F12 to display the TERMINAL DEFINITION DETAIL screen, and fill in the fields as shown below:

TERMINAL DETAIL DEFINITION ------------------------- Applid: SPVIRBW 12:45:13
Terminal ===> W2NYC000 ?wxyZZZZ for dynamic allocation
w : Sna or Non-sna or \* (category)
x : 1, 2, 3, 4, 5 or \* (model)
y : Colour, Monochrome or \*
Z : any characters
Relay    ===> NYCTERM Name seen by VTAM applications
= : copied from the terminal name
\*Pool name    ===> \*W2HPOOL Pool where to put this terminal
Description    ===> Relay pool for HTTP
Entry Point    ===> Enforced Entry Point
2nd relay      ===> Possible 2nd relay (Printer)
Terminal type  ===> 3 1 = LU1 2 = 3270 3 = FastConnect
Compression    ===> 2 0, 1, 2 or 3 : compression type
Possible Calls ===> 3 0=None 1=Inbound 2=Outbound 3=Both
Write Stats to ===> 12 1,4=VIRSTAT 2=VIRLOG
Repeat         ===> 0001 Number of generated terminals

P1=Update P3=Return Enter=Add P12=Server
KEY IN DATA AND PRESS ENTER

Figure 11 Adding a terminal to the pool

The terminal name is an internal name used only within VIRTEL. Any name may be chosen so long as it does not duplicate any other terminal name or any LU name.

The relay name is the LU name. This LU must also be defined in the VIRTAPPL node in USER.VTAMLST.

The pool name must be specified as *W2HPOOL to associate the terminal with Web Access.

Set the repeat count to 1 as we are defining only one terminal.

Now press Enter to add the terminal definition, and press F3 to return to the list of terminals.

Adding a range of terminals to the pool

In this section we will add a range of LU names SJC001 to SJC010 to the terminal pool for Web Access. Press F12 in the LIST of TERMINALS screen and fill in the fields as shown below:

TERMINAL DETAIL DEFINITION ------------------------- Applid: SPVIRBW 12:45:13
Terminal ===> W2SJC001 ?wxyZZZZ for dynamic allocation
w : Sna or Non-sna or \* (category)
x : 1, 2, 3, 4, 5 or \* (model)
y : Colour, Monochrome or \*
Z : any characters
Relay ===> SJC001 Name seen by VTAM applications
= : copied from the terminal name
\*Pool name ===> \*W2HPOOL Pool where to put this terminal
Description ===> Relay pool for HTTP
Entry Point ===> Enforced Entry Point
2nd relay ===> Possible 2nd relay (Printer)
Terminal type ===> 3 1 = LU1 2 = 3270 3 = FastConnect
Compression ===> 2 0, 1, 2 or 3 : compression type
Possible Calls ===> 3 0=None 1=Inbound 2=Outbound 3=Both
Write Stats to ===> 12 1,4=VIRSTAT 2=VIRLOG
Repeat ===> 0010 Number of generated terminals
P1=Update P3=Return Enter=Add
P12=Server
KEY IN DATA AND PRESS ENTER

Figure 12 Adding a range of terminals to the pool

The terminal name is the internal name of the first terminal in the range. The name should contain sufficient trailing numeric characters to accommodate the number of terminals in the range, without duplicating any other terminal name or LU name.

The relay name is the LU name of the first terminal in the range. This name must also contain sufficient trailing numeric characters. All the LUs in the range must be defined in the VIRTAPPL node in USER.VTAMLST.

The pool name must be specified as *W2HPOOL.

Set the repeat count to 10 to define ten terminals SJC001 to SJC010.

Displaying the updated terminal pool

Press Enter to add the terminal definition, then press F3 to return to the list of terminals, which should now look like this:

LIST of TERMINALS ---------------------------------- Applid: SPVIRBW 15:57:28
Terminal Repeated Relay        Entry Type I/O Pool     2nd Relay
?\*\*\*  0000     RVTAM===     PC       2   3
CLLOC000 0050                           3   3
CLVTA000 0080    \*W2HPOOL              3   3
DELOC000 0010                           3   3
DEVTA000 0016    \*W2HPOOL              3   3
SMLOC000 0016     SMTP                  3   3
W2HIM000 0080     RWTIM000              2   1
W2HTP000 0080     RWTVT000              3   3 \*W2HPOOL RWTIM000
W2NYC000 0001     NYCTERM               3   3 \*W2HPOOL
W2SJC001 0010     SJC001                3   3 \*W2HPOOL

P1=Update P2=Delete P3=Return P6=1st Page P7=Page-1 P8=Page+1 P12=Details

Figure 19 Updated list of terminals