Академический Документы
Профессиональный Документы
Культура Документы
3
for Windows 95, 98 and NT
http://www.redbooks.ibm.com
SG24-4689-01
SG24-4689-01
International Technical Support Organization
August 1999
Take Note!
Before using this information and the product it supports, be sure to read the general information in Appendix B,
“Special notices” on page 159.
This edition applies to IBM SecureWay Personal Communications Version 4.3 for Windows 95, 98 and NT.
When you send information to IBM, you grant IBM a non-exclusive right to use or distribute the information in any
way it believes appropriate without incurring any obligation to you.
© Copyright International Business Machines Corporation 1996 1999. All rights reserved.
Note to U.S Government Users - Documentation related to restricted rights - Use, duplication or disclosure is subject to restrictions
set forth in GSA ADP Schedule Contract with IBM Corp.
Contents
Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
The team that wrote this redbook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Comments welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Chapter 1. Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .1
1.1 Installation Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .1
1.1.1 Installation Manager highlights . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .1
1.1.2 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .1
1.1.3 Installing products . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .2
1.2 Installation overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .4
1.3 Migration of previous configuration files . . . . . . . . . . . . . . .. . . . . .. . . . . .5
1.3.1 Migrating CM/2 configurations . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .6
1.3.2 Migrating PCOMM configurations . . . . . . . . . . . . . . . .. . . . . .. . . . . .6
1.4 Unattended (silent) installation . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .7
1.5 Installation of PCOMM using Microsoft SMS . . . . . . . . . . . .. . . . . .. . . . . .8
1.6 Remote installation using Tivoli Courier . . . . . . . . . . . . . . .. . . . . .. . . . . .8
1.6.1 Using Profile Manager . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .9
1.7 Configuration file update support . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .9
1.7.1 How update files are created . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . .9
1.7.2 Using update files to change your configuration . . . . .. . . . . .. . . . .10
1.7.3 Using initial definition files to preload a configuration .. . . . . .. . . . .12
1.8 Installation usability improvements . . . . . . . . . . . . . . . . . . .. . . . . .. . . . .12
1.8.1 Validate server when installing client. . . . . . . . . . . . . .. . . . . .. . . . .13
1.8.2 Choose SNA type during a server installation . . . . . . .. . . . . .. . . . .13
1.8.3 Internationalization (I18N) . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . .13
1.9 Problem determination . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . .13
1.9.1 Installation Manager problems . . . . . . . . . . . . . . . . . .. . . . . .. . . . .13
1.9.2 SSL installation problems . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . .14
1.9.3 Silent-installation problems . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . .15
v
9.3.2 Debugging a HACL applet within Personal Communications . . . . . 136
9.3.3 Navigating the session screens . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
9.3.4 Navigating inside the screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
9.3.5 Transferring files from/to the host . . . . . . . . . . . . . . . . . . . . . . . . . 148
9.4 ActiveX controls vs. ActiveX OLE automation objects . . . . . . . . . . . . . . 150
9.4.1 Using the Personal Communications ActiveX Host Access controls 150
9.4.2 Using Host Access controls to communicate with host system . . . . 150
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
ix
x Personal Communications V4.3 for Windows 95, 98 and NT
Preface
This edition of the redbook will help you install, configure, administer and use IBM
SecureWay Personal Communications 4.3 for Windows 95, 98 and NT, known as
PCOMM. It is not a comprehensive manual about all the versions of PCOMM; it is
concerned only with features that are new in Version 4.3.
The book describes all the new functions of Personal Communications 4.3, from
the point of view of both administrator and user. It explains how the functions
work and the ways in which they can be configured to suit differing requirements.
Major topics include security, which is becoming more and more important as
host applications are made available on extranets or the Internet, and system
management, which is provided through support of the Tivoli Management
Environment. Also included is information about enhancements to PCOMM’s IP
and IPX connectivity, and the introduction of a Java programming interface.
Juan Rodriguez
Jorge Ferrari
Martin Murhammer
International Technical Support Organization, Raleigh Center
Tom Brawn
Personal Communications Development, Raleigh
PCOMM 4.3 can be installed in a variety of ways. In this chapter we will describe
the different methods that can be used, from a manual installation to distributing
PCOMM across hundreds of clients.
1.1.2 Implementation
Installation Manager is written in Java and has several parts:
• SETUP32.EXE - Called from SETUP.EXE, this is a C program that the user
can choose to initiate the installation process.
• Install Splash - Java AWT program that displays the graphical launch screen.
• TaskGuides - Java program that displays Wizard panels to prompt for user
selections, and guide the user through the installation.
• Installation Engine - This is the back-end program that manages the
product-installation processes and displays the progress indicator.
• A Java Run-time Environment (JRE) V1.1.6 is included on the CD.
Installation Manager
and it's JAVA Installation Manager
16 Bit Windows
components "Install Splash"
PCOMM install
"TaskGuides"
"Install Engine" program
(No Installation Manager)
For PCOMM ODBC data access to work properly, it is critical that DB2 be
installed with certain options. To enforce this, the installation of DB2 is
automated. The only option available is to choose where the files are installed.
Installation Manager will check installation prerequisites. For example, with DB2
Connect for Personal Communications, an SNA stack is required. If a supported
stack is not found on the system and PCOMM was not selected for installation
with DB2, PCOMM is automatically added. Another example is if API Client for
NetWare for SAA is chosen, the PCOMM full SNA stack is not installed. The
following stacks are supported:
• PCOMM
• CS/NT Server/Client
• NWSAA
• MS SNA Server/Client
Installation Manager installs the chosen products in the correct order. After each
product has been installed, it is verified. The user is allowed to cancel the whole
installation if one product installation fails or is cancelled (this does not remove
the products that have already been installed). Figure 3 shows PCOMM
installation in progress.
Installation 3
Figure 3. Installation Manager installing PCOMM, showing status bar
Other things to notice include a progress indicator to let the user know the current
installation status of the products. The user will be prompted for only one reboot
after all of the chosen products have been installed. If reboot occurs while
Installation Manager is still in progress, it will pick up where it left off.
If back-level configuration files exist in the \private subdirectory when you install
PCOMM, the migration program will start automatically upon reboot; old files are
not deleted or overwritten after migration. Migrating from 16-bit Windows will
result in your being prompted for a CP (Control Point) name. The migration
program can also be started manually from the Personal Communications Admin
& PD Aids folder.
Installation 5
1.3.1 Migrating CM/2 configurations
The migration program has been redesigned for PCOMM 4.3 and now supports
migration of CM/2 (Communications Manager/2) configuration files (RSP). One
WS file will be created for each session defined in the RSP file, and one ACG file
will be created for each RSP file. The program allows migration of a single file or
a directory of files. Command-line functions are also available.
Installation 7
Installation Manager uses this file to install DB2 silently during a normal
installation.
• Silent installation of PCOMM from Installation Manager
Personal Communications can be installed silently using Installation Manager.
You can do this by modifying the file PRODUCT.TXT, located in the \INSTMGR
directory of the CD image code (you must copy the CD-ROM image to a file
server to do this). Make sure that the path of the response file (file.iss) is
correct. In the example section of PRODUCT.TXT, below, PCOMM is installed
using SILENT.ISS, from the server path where the image code is installed,
\PCOMM\WIN32.
ProductName=ProductNamePCOM
ProductKey=PCOM
Version=
Regkey=SOFTWARE\IBM\Personal Communications\CurrentVersion\VersionNumber
Regname=
Regvalue=4300 Combo
RegType=4
Type=current
OS=BOTH
MapperText=MapperTextPCOM
Command=win32\install\all\disk1\setup.exe -s -f1\pcomm\win32\silent.iss -f2d:\pcomm.log -NOREBOOT -SMS
endOfProduct
Having edited the file, you can install PCOMM silently by running Installation
Manager and selecting the file.
Two samples are provided with PCOMM to assist in Tivoli Courier installation:
• Sample package file on the CD.
<cd-rom>\win32\install\admin\distrib\pcomm.cdf
• Sample batch file for invoking PCOMM silently
<cd-rom>\win32\install\admin\distrib\instpcom.bat
Installation 9
MODE=(
MODE_NAME=IBMRDB
AUTO_ACT=0
COMPRESSION=PROHIBITED
COS_NAME=#CONNECT
DEFAULT_RU_SIZE=1
MAX_NEGOTIABLE_SESSION_LIMIT=256
MAX_RU_SIZE_UPPER_BOUND=1024
MIN_CONWINNERS_SOURCE=128
PLU_MODE_SESSION_LIMIT=256
RECEIVE_PACING_WINDOW=3
)
CPIC_SIDE_INFO=(
SYM_DEST_NAME=DB2CPIC
CONVERSATION_SECURITY_TYPE=NONE
MODE_NAME=IBMRDB
PARTNER_LU_NAME=USIBMRA.RALYAS4C
TP_NAME=076b
TP_NAME_TYPE=SNA_SERVICE
)
When it is run, the update program, VACGCON, checks to see if the above
definitions existed in the ACG file; if they did not, it would add them. If they did
exist, it would only change those values that were different. That’s how an update
is added to the ACG configuration file. To delete sections of a configuration, the
DELETE keyword should be used. For example, the update file below would undo
our changes to the ACG file by removing the MODE and CPI-C definitions.
MODE=(
MODE_NAME=IBMRDB
DELETE
)
CPIC_SIDE_INFO=(
SYM_DEST_NAME=DB2CPIC
DELETE
)
For more details, please refer to Chapter 6 of Personal Communications V4.3 for
Windows NT Reference Volume I, SC31-8680.
For example, to add the changes in file update.acg to config.acg, and create
the new file as new.acg, you would need to do the following:
Add to the end of config file CONFIG.ACG, the statement:
INCLUDE=UPDATE.CHG;
This tells VACGCON where your update file is.
3. Next run the following:
VACGCON CONFIG.ACG NEW.ACG
This creates a new file called NEW.ACG by merging CONFIG.ACG with
UPDATE.CHG. Your old configuration file, CONFIG.ACG, is not changed.
Note
Before you run VACGCON, make sure that the keyword INCLUDE=<update
file>, followed by a carriage return, has been added to the end of the ACG file.
If, at a later time, configuration updates are required for each PCOMM client,
an administrator can simply roll out a new update file to each client. The
update files can then be combined with the current ACG files to produce new
ACG files for each client. This can avoid your having to reconfigure each
PCOMM client on the network. This is shown in Figure 10.
Figure 10. Example of using update files to update PCOMM client node configurations
Installation 11
1.7.3 Using initial definition files to preload a configuration
An administrator can now provide each PCOMM client installation with files that
contain initial SNA node and session parameters. When the user starts the SNA
node, or a session, these settings are loaded into the configuration before the
user starts to configure anything. This reduces the amount of configuration a user
has to do, thus making it easier to configure a connection, and ensuring that
certain important settings are present on each client. When a user later creates a
new configuration, these settings will be preloaded, reducing configuration time
and complexity.
This can be done by creating an ACG and a WS file, and renaming them as
template files (PCSINIT.AC$ and PCSINIT.WS$, respectively). Distributing these
files to the \PRIVATE directory on the client provides the user with initial-definition
files that contain common configuration values.
In Figure 11, each PCOMM client has been provided with an initial-definition file;
these are the same for each client, and contain the destination address of the
gateway and other common connection information. When the user configures a
new session, he has only to provide unique workstation parameters to get a
connection, because the other definitions are already configured.
Attention
To avoid a problem that occurs when a user attempts to create a configuration
from initial definition files, you should get the fix for APAR IC23636; this
prevents the AC$ file from appearing to be unverified and therefore unusable.
Installation 13
Response file for silently installing DB2.
If the installation procedure hangs or crashes, try running it from the command
line; this creates a console to display exceptions and errors.
To run the Manager from a command line, go to the \instmgr directory on the CD,
then type:
bin\jre -cp;sguide.jar SmartGuide installPCOMM.sgs
If SSL’s silent installation fails, PCOMM displays an error message with a return
code that says that you can continue to install, and recover later by following
instructions in the readme file. Here’s what the return codes mean:
• 1 = error launching the SSL installation
This is often caused by copying the installation image from the CD without the
SSL subdirectory. Verify that the PCOMM installation image has the SSL
subdirectory and all of its contents.
• 2 = error in writing to the SSL response file
See above.
• 10 = time-out
This means that the 6-minute timer ran out. This is usually caused by slow
networks or some other process taking all of the processor’s resources.
• <0 = SSL’s silent installation failed with an Installshield Silent problem
These return codes are the same as PCOMM’s silent-installation failures. See
the reference guide for detailed explanations.
[InstallShield Silent]
Version=v3.00.000
File=Log File
[ResponseResult]
ResultCode=0
If there is a problem, an error code is written to the log file, in ResultCode=. Below
is a list of what the ResultCode values mean:
• 0 - Success
• -1 - General error
• -3 - Required data not found in the SETUP.ISS file
• -4 - Not enough memory available
• -5 - File does not exist
• -6 - Cannot write to the response file
• -9 - Not a valid list type (string or number)
• -10 - Data type is invalid
• -11 - Unknown error during setup
• -12 - Dialogs are out of order
Installation 15
16 Personal Communications V4.3 for Windows 95, 98 and NT
Chapter 2. Securing your connections - SSL and firewalls
Personal Communications 4.3 supports secure connections for 3270, 5250 or VT
sessions to telnet servers by means of Secure Sockets Layer (SSL) 3.0; such
servers might be Communications Server for Windows NT, AIX, OS/390, or
OS/400 V4R4. Connection is established by means of certificate authentication
and data on the connection is encrypted. The Service Location Protocol (SLP)
can be used in conjunction with SSL to discover only secure telnet servers and
ports.
PCOMM provides RC-4, MD-5 or SHA encryption, 128-bit for use in the USA and
elsewhere under licence, and 40-bit for general export.
If client machines are to be used on the Internet, the internal network has to be
protected by one or more firewalls, of course. This chapter also explains how
PCOMM works with firewalls.
You can combine SSL with SLP, in which case the client will connect only with
servers that fulfill both the security and SLP requirements that you define; SLP is
described in Chapter 4, “Load balancing and hot standby” on page 49.
When you have connected successfully, you will see a normal session window
except that the status bar has a locked padlock in the bottom left-hand corner and
tells you that it is connected to a secure server:
2.1.4 Troubleshooting
If you have a connection problem, you should take a PCOMM TCP/IP trace.
Problems within the SSL code itself are more difficult to resolve; the SSL (SKIT)
layer does not have a tracing utility, so it is difficult to debug SSL handshake
problems. You might have to take a line (sniffer) trace.
Appendix A, “Trace of a connection that uses SSL and SLP” on page 153 has a
trace of a connection to CS/NT; it is an example of what happens when the client
does not have a valid certificate for a server.
PCOMM for:
• Win-NT 4.1a CSD 2 : IC20289
• Win-32 4.2 CSD 1 : IC20287
• OS/2 4.1 CSD 3
• OS/2 4.2 GM
Non-transparent mode applies when you have to authenticate with the firewall
before you are let through. This is where PCOMM’s new NVT support is used, in
order for an ASCII connection to be made with the firewall so that logon can take
place, before switching to TN3270/5250 when a host connection is made. In this
case, the address of the firewall is required as the destination address; the
address of the server that you wish to connect to is entered in the logon to the
firewall. In this chapter we talk about PCOMM NVT support in order to get a
non-transparent connection through the firewall to a server.
We will talk about each stage, using an example of connecting a PCOMM client
from the Internet through a secure firewall to get a TN3270E session from the
intranet.
When a session is started, it stays in NVT mode after the socket connection has
been opened, allowing a connection to be established with the firewall. Once a
client gets a connection to a firewall’s Telnet proxy, the proxy prompts for an
authorization and PCOMM displays the firewall’s logon screen.
After logon has been done, the firewall proxy may prompt for a destination
address. The user can specify any Telnet server (3270/5250 host or comms
server/gateway - see the warning on page 22) to connect to. In NVT mode,
character-ECHO is on and communication is in ASCII.
Please note that a Telnet connection using Secure Sockets Layer (SSL) through a
firewall is currently not supported because the NVT protocol does not understand
SSL.
Attention
If you attempt to connect from PCOMM through a firewall to a CS/NT or CS/2
gateway providing a TN3270/5250 service, you might get a PROG750 in the
OIA of the session screen. This problem has now been fixed but requires you to
install a modified DLL. Connection from PCOMM through a firewall directly to a
host system does not have this problem.
Once a session has been established to the host, the firewall acts merely as a
passthru for the session. See Figure 17.
Enter the address of the firewall. Backup connections can also be used,
consisting of Telnet servers, LUs or pools, or ports, which Personal
Communications can try to use if the primary connection fails.
Failure-to-connect means:
• The host does not exist.
• The host is unreachable.
• The host is not answering.
You may be prompted for a user ID/password and/or the name of the host to
which you want to connect. In Figure 19, we are not prompted for a user
ID/password; this depends on how the firewall is set up.
In the example below, we are now connected to the host through the firewall.
Notice that the Control Unit Status field B flag has now changed to M, which
means that we have now switched from NVT mode to a TN3270 data stream and
are connected to the host system. The firewall now acts as a pass-through for the
session.
Select the options shown above for a TN3270/5250 trace. The trace of a
connection through a firewall is different from a normal Telnet trace; note the
following:
• Connection to a firewall has a different Telnet negotiation sequence.
The trace formatter assumes that the data is always for EBCDIC sessions,
which means that it will try to display ASCII text and graphics as characters in
EBCDIC. Sometimes this results in reports of TN3270/TN5250 control
sequences in NVT sessions.
• Communication to a firewall is a stream of ASCII data with very few control
codes. This occurs because it is in NVT ASCII mode when connecting to the
firewall, and also because of the trace formatting (see above).
• Each client-originated character gets ECHOed back to the client. NVT mode is
half-duplex with ECHO set to on, so each character typed will be echoed back
to the client.
Figure 22. Sample trace, part 1 - socket initialization and NVT-mode indication
In Figure 23, you can see the options from the host only during ASCII (NVT/VT)
emulation. Notice [ 3270 (data...)]; this should be ignored - as mentioned before,
the trace formatter converts the flow to EBCIDIC and sometimes misinterprets
the control flow in NVT mode.
In Figure 24, the trace options indicate a switch from NVT mode to TN3270 mode.
Telnet switches from NVT to TN3270 or TN5250 mode upon negotiation of either
the DO-END-OF-RECORD and/or the DO TRANSMIT-BINARY option.
Figure 24. Sample trace, part 3 - switching from NVT to TN3270 or TN5250 mode
Finally, in Figure 25, we can see that we have switched to a TN3270E data flow.
This can be seen by the [3270...] events and the session screen.
0c15616deddcdc444dcdede44441eed6cec4dddcdc1610541f444444444444444444441fec
dcddc4ed4ccd4cddccd4ecdeccce4444444444444444444
571dbd094559570009135440000d85415210653955d01010d000000000000000000000d865
33645036092407362130259593520000000000000000000
..~ .0___ .8RRR . RESEARCH TRIANGLE
PARK..............................
The following documents contain more detailed information that can be useful
when configuring or troubleshooting HPR/IP links:
• High Performance Routing in IP Networks, document number HPRIP-06.
This is a contribution to assist the APPN Implementer's Workshop. It is
available via anonymous ftp from ftp.networking.ibm.com in the directory
/aiw/appn/hpr/.
• eNetwork Communications Server Version 6.0 for Windows NT and eNetwork
Personal Communications Version 4.2 for Windows 95 and Windows NT
Configuration File Reference, SC31-8655.
• Systems Network Architecture Formats, GA27-3136.
• Systems Network Architecture Technical Overview, GC30-3073.
• Inside APPN - The Essential Guide to the Next-Generation SNA, SG24-3669.
While Branch Extender is a new "node type", Enterprise Extender is rather a new
DLC. Enterprise Extender is a way to transport HPR NLPs in UDP packets. The
terms Enterprise Extender and HPR/IP are both used to describe this new
solution. This solution still allows you to take advantage of the HPR benefits in an
IP-routed network:
• Non-disruptive path-switches
• ARB flow/congestion control
• Distinction between high, low, medium and network priority
The EEDLC support now provided in PCOMM 4.3 is the same as EEDLC in
Communications Version V6. Please refer to IBM eNetwork Communications
Server for Windows NT Version 6.0 Enhancements, SG24-5232 for detailed
information on configuring and using EEDLC.
In Figure 26, you can see three combo configuration boxes for type of host,
interface, and attachment. These always show default values that were selected
at initialization; the defaults can only be changed by using a template file to
preload some default configuration settings. See 1.7, “Configuration file update
support” on page 9 for information on how to do this.
Miscellaneous enhancements 31
Figure 26. New Customize Communication user interface
As each host or interface is selected, the interface and attachment combo boxes
change accordingly. Also, the pictorial and textual feedback sections are
automatically updated to explain the configuration you are selecting. Once a
connectivity is chosen, you must configure the Session and Link parameters,
which brings up the appropriate configuration dialog.
Status bar
You can also see a history of the status bar messages; Figure 28 shows this.
Notice also that the text in the status bar changes when you select any option to
display help on that option.
Selecting Status Bar History brings up the window shown in Figure 29.
Status-bar text is stored in a history buffer and can be saved to the message log
for diagnostic purposes. Opening the message log viewer (Personal
Communications -> Administrative & PD Aids -> Log Viewer), will then show
the status bar history entry. See Figure 30.
Figure 30. Log Viewer showing PCSSB101 - emulator status bar history
Miscellaneous enhancements 33
3.2.3 PCSCC058 message improvements
In the past, PCSCC058 error messages did not clearly describe what the problem
was. This has been improved with the addition of four new messages that can be
displayed before the PCSCC058 message. These new messages are:
• PCSCC011 - The SNA subsystem could not be started, please check
message log (%s) for more information.
• PCSCC012 - A link error occurred while a connection was being established,
check message log (%s) for more information.
• PCSCC013 - Cannot start connection because the SNA subsystem has not
been started, see message log (%s) for more information.
• PCSCC014 - Cannot start connection because the device is inactive, please
check message log (%s) for more information.
PCSCC058 is still displayed, but the previous message(s) will help determine the
exact cause of the failure.
These parameters are not accessible through the GUIs; you must edit the ACG
file to modify them. For information on these parameters, please refer to the
Configuration File Reference online manual.
If the Microsoft SNA client loses connection to the server, PCOMM will continue
to try and re-establish the session. This is automatic, so no configuration setting
is available.
If the SNA client has a backup server configured and is able to establish a
successful connection with the backup, PCOMM will attempt to establish a new
session with the host, using the new connection.
Support was first added in V4.2 CSD2. APAR IC23030 for V4.3 and IC22990 for
V4.2 CSD2 are available (see the APARs for details).
Miscellaneous enhancements 35
[Transfer]
CUTprotocol=Y
285 1146 UK
Euro currency keyboard support has also been implemented. This is shown in
Figure 31 on page 37.
Euro currency support has been provided by adding a new character to PCOMM’s
fonts. The new code pages and additional keyboard characters work just like
other code pages and characters.
UseOnlyPCOMM=Yes
Exactly the same functionality is also in 4.2 CSD 2 for Windows 95 and Windows
NT, and in PCOMM 4.2 CSD 1 for OS/2 (except that no PC code page changes
have been implemented).
Miscellaneous enhancements 37
• Code pages
• Fonts
• IME (Input Method Enabler)
Was Is
WinAPPC WAPPC32
WinCPIC WCPIC32
WinRUI WinRUI32
WinSLI WinSLI32
WinCSV WinCSV32
Miscellaneous enhancements 39
3.5.3.3 EHLLAPI performance improvements
Improvements have been made to EHLLAPI that greatly improve performance for
most applications. Screen-scraper applications can run up to 2x faster, for
example. Most of the improvements were also shipped in PCOMM 4.2 CSD #1.
Attention
Because of these performance improvements, certain timing-critical
applications may not run correctly. If you experience problems, you should
consider re-writing the application to incorporate a timing delay. Refer to
eNetwork Personal Communications Version 4.3 for Windows 95, Windows 98,
and Windows NT and Version 4.2 for OS/2 Emulator Programming, SC31-8478
for more information.
VBScript macros use the HACL (Host Access Class Library) interface; the
components involved are PSHSH and PCSMC2VB. You can edit the script by
clicking Assist -> Macro Script Setup, selecting the macro, then clicking
Customize. See Figure 34.
3.6 New viewer utility for the message and trace-log file
Major changes have been made to the PCOMM log viewer to improve usability.
These are:
• It is now a Multiple Document Interface (MDI) application.
Allows multiple log files to be viewed from the same window.
• It has new menu functions.
Supports viewing of trace log (*.tlg) files as well as message (*.mlg) files.
• New pop-up menu when you right-click on a message.
Miscellaneous enhancements 41
Figure 35. PCOMM 4.3 Log Viewer - multiple files open
As mentioned, you can filter out unwanted trace points. To do this, right click on a
message or trace entry. Messages can be filtered by component only but traces
can be filtered by component, by process ID, or by thread ID.
Filter In - Include highlighted item
Filter Out - Exclude highlighted item
Figure 37. Trace Event filter options (right click the event)
Miscellaneous enhancements 43
Key is HKEY_LOCAL_MACHINE\SOFTWARE\IBM\Personal Communications\CurrentVersion
This is part of the SNA stack. To trace it, use the IPS trace. Additional RTP
logging can be enabled by changing the following registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\IBM\Personal Communications\CurrentVersion
The value is set by default to: RTPTimesLogging: No; change it to Yes to enable
logging.
The real advantage is for Client Access users who require 3270 emulation. They
can use PCOMM for all types of emulation and use other functions provided by
Client Access simultaneously.
Note
PCOMM ignores the /CA parameter if Client Access Express is not installed.
Note: This setting is not enabled by default and can only be enabled via the
command line. To enable it, type:
CSSTART -a <filename>. (<filename> = the node configuration file)
This sets the SNA Node to be a Windows Service that starts automatically when
the system starts and that will not be affected by a user logoff. You should reboot
after making this change. If no configuration file is specified, it uses the default.
Typing CSSTART /? on a command line will provide help about other options
available with CSSTART:
where:
-p display messages in a pop-up message box.
-q quiet mode, no messages are displayed.
-a enable automatic node start at boot time.
-m manual start, disables automatic start at boot time.
-d set the default configuration file name.
Note
Remember, this setting changes the node service type; it will not start the
node.
[KEYBOARD]
DeleteWordClassic=Y
Miscellaneous enhancements 45
3.7.6 New edit function
The PCOMM 4.3 edit function has been changed. Click Edit -> Edit Options to
display the new options.
Some parameters formerly in *.WS have been added to the new property sheet:
Windows must have an APL font available to support this - for example,
Miscellaneous enhancements 47
IBM3270APL, IBMVT, IBMAPL_VT_NORMAL (TrueType)
The PCOMM bundle file (x23456.ram) is created from the Information Bundler
tool that is one of the Administrative and PD Aids. Use the Internet Service's
Browse window to quickly find any information bundles that you have captured.
The Internet Service provides detailed help to guide you through the process of
transmitting information bundles.
4.1 Overview
The Service Location Protocol (SLP) is defined in Request for Comments
(RFC) 2165. It is a ser vice-discovery method for TCP/IP-based
communications, a simple and lightweight protocol for automatic
adver tisement and maintenance of intranet services and minimizes the use
of broadcast and multicast in the network. SLP uses multicast, which targets
a group of nodes, unlike broadcast, which targets all nodes. The benefit of
multicast is that it sends one packet that all the members of the group
receive but that only the intended recipients read. A multicast packet is not
isolated to a local segment; routers can forward it to whatever subnets are
attached.
Figure 44 on page 50 shows a group of servers that support SLP. Each server
broadcasts its hostname/IP address, scope name, type of service, secure or
non-secure, port numbers, LU-pool names and, for load balancing purposes, its
session load.
4.1.1.1 Clients
Clients request services from servers by multicasting their requirements in terms
of scope, LU pool and security.
4.1.1.2 Servers
Servers respond to requests from clients by returning their capabilities as
described above. At present, only two servers support SLP: IBM Communications
Server for Windows NT (CS/NT) and NetWare for SAA 3.0 or later (NWSAA).
4.1.1.3 Agents
Three types of agent are involved in SLP; please see Figure 45.
User agents Request service information for user applications.
Service agents Adver tise service information.
PCOMM takes the server list returned by its service request and sorts it by
least-to-most session load, then connects to the server with the least load.
The load for dependent LUs represents a percentage of available resources from
a particular server. The load percentage is calculated by dividing the number of
active application connections by the total number of LUs (0 to 3) available; this
means that, the more LUs there are defined on a server, the less will be the
notified load.
Figure 46 shows the panel on which Telnet3270 SLP definitions are made. For
Telnet5250, the required definitions are the same except that LU or Pool Name is
replaced by AS/400 Name. The parameters are adequately explained in the Help;
however, please note that, for SPL, you cannot specify the name of an individual
LU - you can specify only the name of an LU pool.
For QELMU over TCP/IP, the configuration is different because other parameters
come into play. You can specify service names and several categories of LU, but
the principles are the same. Figure 48 shows the basic definitions.
4.3.3 Troubleshooting
Here are two possible sources of difficulty with SLP:
• Default scope name. An asterisk is a valid scope name but the PCOMM
configuration panels have it as the default. If you use an asterisk but such
a scope does not exist, the OIA shows only "a" and the application hangs;
you cannot disconnect or reconfigure or even close the session - you
must kill the process through the task manager. The only valid default
value is "blank"; this will be fixed in a CSD.
• Routers. In the network shown in Figure 50, port 427, which is used for
multicasts, is not open in the router; as a result, multicasts do not pass to
NET2 and thus servers on NET 2 that specify the scope PRAVIN are not
found. The client on NET 1 can ping all the servers in NET 2 but cannot get a
session from a server there.
PCOMM 4.3 provides load balancing, hot standby, and Service Location Protocol
(SLP) support for LU2 Queue Element/Message Unit (QEL/MU) connectivity to
Communications Server for Windows NT (CS/NT) and NetWare for SAA servers.
"LAN via NetWare for SAA" connectivity has been renamed to "NWSAA or IBM
Communications Server" since CS/NT 6.0 added the support for this connectivity.
A further new feature is that you can specify that a connection be regarded as
suitable for a Bindery user, by checking a box.
The IPX external network number is the first item to be read in a packet
sending/receiving interaction. An internal network number assigns a logical
network for the NetWare server.
Note: You can change the internal network number only on an NT server, not on
a workstation. The following panels illustrate how to change it.
SAP is a protocol that provides a way for servers to advertise their services on a
NetWare internetwork. Routers send periodic SAP broadcasts to keep all routers
on the internetwork synchronized; they also send SAP update broadcasts
whenever they detect a change in the internetwork configuration.
Workstations can query the network to find a server by broadcasting SAP request
packets. When a workstation logs in to a network, it broadcasts a “Get Nearest
Server” SAP request and attaches to the first server that replies.
Note: The acronym SAP is used for several different purposes and is therefore
confusing. In the Windows NT environment as well as in the context of routing
and IPX, SAP is an acronym for Service Advertising Protocol. In NetBeui and
802.2, SAP is an acronym for Service Access Point, in which each link-layer
5.3 Hot standby and load balancing over IPX/SPX and TCP/IP
The NWSAA hot standby feature ensures that connections to a host can continue
to function when a critical server goes down, by triggering the activation of
alternative connections on a backup server. If the active session to the server
goes down because of server or link failure, Personal Communications will try to
reconnect the session with the provided backup server name, service name, or
pool name. Load balancing can be used in conjunction with hot standby.
Note: NWSAA 3.0 IPX load balancing is done on SNA link or pool load, unlike
SLP (refer to TCP/IP), which load balances on overall server load.
When NWSAA (using IPX) responds to a request from a client emulator, it sorts
all the links in LU pools in order of load, instead of in alphabetical order. Links
with a higher number of sessions are moved down so that client requests for LU
assignment will be satisfied by the server or link with the least load.
IPX enhancements 59
5.4 Using the NWSAA or IBM Communications Server attachment
In previous releases of PCOMM, there was a LAN via IPX/SPX attachment-type;
in 4.3, this has been changed to NWSAA or Communications Server because
both these servers now accept IPX and TCP/IP connections.
The following panels show how to configure this attachment for CS/NT via IPX.
For CS/NT access via IPX, you must click Advanced so that you can check the
box IBM Communications Server.
Figure 54. First Link Parameters panel - choose the IPX protocol
For Server Name, enter the computer name as defined in Network Properties.
The LU Category Any cannot be used for CS/NT access. Use Public, or Pooled
and a pool name.
Figure 56. Specifying the server and user name and the pool type
IPX enhancements 61
When you start the session, you may see an error message on the status bar
because login is required but the login prompt soon comes up.
If the user is logged into a NetWare Server Bindery context (for example,
contextA) and NWSAA is located on a server with a different context (for example,
contextB), check the Bindery User NetWare User Type on the advanced
configuration panel for user to be authenticated as a bindery user. This function
was not available in previous PCOMM releases and many customers asked for it.
5.6 Troubleshooting
CS/NT has many troubleshooting facilities; those that pertain to PCOMM
attachments are mentioned here.
IPX enhancements 63
Figure 60. Node Operations main panel
IPX enhancements 65
Figure 64. Enabling SNA API Client Services
If the user ID is not defined on the NT Server, the likely error message is 1424.
One possible cause is that there is another server that has the same Internal
Network Number as the CS/NT. To check this, you can use a NetWare Server.
On a NetWare server we can see the external network number via LOAD
INETCFG or via LOAD INSTALL -> NCF FILE OPTIONS -> EDIT
AUTOEXEC.NCF. The next panel shows information provided by the first of these
commands.
IPX enhancements 67
Figure 68. External network address
On the Windows NT 4.0 server with SP3, running as a CS/NT and as a PCOMM
client, we used the IPX/SPX protocol stack and the NetWare client provided with
Windows.
On Windows 98, we had to use the NetWare Client 3.1 for Win95/98 from Novell’s
Web page.
IPX enhancements 69
70 Personal Communications V4.3 for Windows 95, 98 and NT
Chapter 6. VT emulation enhancements
For connection to ASCII hosts, Personal Communications provides an emulator
for VT340, VT220, VT100, and VT52 terminals. ASCII hosts commonly use these
terminals’ control sequences as standards for session presentation, and many
ASCII-host application programs assume a VT-compatible terminal. Software that
is designed to operate a VT terminal should work correctly with the Personal
Communications VT emulator.
VT emulation enhancements 73
This option indicates whether all selected areas on the page are sent to the
host or only the area selected by the cursor. This option is ignored if the
Selected Area field is set to All. Possible values are Multiple and Single.
Multiple: Default, transmits all selected areas.
Single: Transmits only area where the cursor resides.
• VT131 Transfer: Determines whether to use the ANSI style or the VT131 style
of data transmission.
This option indicates the type of data transmission used if the Line Transmit
Mode field is deselected. The size of the block is based on whether the
Transfer Termination Mode field is selected. Possible values are ANSI or
VT131.
ANSI: Default, uses ANSI standard.
VT131: Works like a VT131 terminal.
• Line Transmit Mode: Determines how to send characters.
Selecting this option indicates that characters are sent to the host one line at a
time.
Disabled: Default, sends full or partial page based on Transfer Termination
setting and VT131 Transfer setting.
Enabled: Transmits only a line of characters.
• Transfer Termination Mode: When Line Transmit mode is disabled then this
option determines if the scrolling region or a partial page is transmitted.
Selecting this option indicates that a partial page or the scrolling region is sent
to the host. This field is ignored if the Line Transmit Mode field is selected.
Enabled: Default, the scrolling region will be transmitted.
Disabled: Transmits a block of data based on VT131 Transfer Mode setting.
• EOL Characters: Sets the End of Line indicator.
This option enables you to specify the characters used to indicate the end of a
line (EOL) in a data block. The default value used for VT340 emulation is a
carriage return (CR). You can specify up to six hexadecimal characters.
^M: x'0D' (CR) is the default setting.
The user may enter control characters by keying in the circumflex followed
by the appropriate character.
• EOB Characters: Sets the End of Block indicator.
This option enables you to specify the characters used to indicate the end of a
data block (EOB). There is no default value for this field. You can specify up to
six hexadecimal characters.
The user may enter control characters by keying in the circumflex followed
by the appropriate character.
• Page Coupling: Determines scrolling mechanism when the cursor moves to a
new page in memory.
Selecting this option couples the cursor to the display when the cursor moves
to a new page. The new page appears in the display to keep the cursor visible.
The active screen always has the cursor.
VT emulation enhancements 75
• Character protection
• Independent protection
• Visual attribute protection
• Local edit and block transmission
• Panning and cursor coupling
- 6 pages of 24 lines
x 80 or 132 columns
- 4 pages of 36 lines
x 80 or 132 columns
- 2 pages of 72 lines
x 80 or 132 columns
The host application determines whether or not the emulator is using page
memory; it is not a feature that is turned on or off by the end user. Page memory
should not be confused with a feature on most VT emulations known as a History
Window or Logging.
In normal (interactive) mode, the following control functions cannot change, erase
or move protected characters:
• Erase in display (ED)
• Erase in line (EL)
• Erase character (ECH)
In edit mode, the following control functions will not change, erase or move
protected characters:
• Insert line (IL)
• Insert character (ICH)
• Delete line (DL)
• Delete character (DCH)
The following control functions cannot change, erase or move visual protected
characters:
• Insert line (IL)
• Insert character (ICH)
• Delete line (DL)
• Delete character (DCH)
• Erase display (ED)
• Erase in line (EL)
• Erase character (ECH)
VT emulation enhancements 77
6.3.3 VT text local edit and block transmission
The VT340 emulation can operate as an interactive (echo mode) or editing (block
mode) terminal. An interactive terminal immediately sends each character typed
to the host. An editing terminal stores each character typed in local page memory
and displays that character on screen. Then, when the transmit key is pressed,
the data is sent in a block to the host.
Interactive mode is the default when the terminal is first started. Edit mode is
made available via the Edit mode field on the Customize Communication
configuration panel. If available, switching between edit mode and interactive
mode is accomplished via a host command (DECEDM) or the Shift+Home keys.
Currently, the home key is assigned the VT Edit key function.
Note
Edit mode is not an optional mode. It must be supported by the host
application or the terminal will not work properly.
Three new OIA messages have been added to support local editing. These are:
1. Indicator for whether or not in Edit mode
2. Insert/Overstrike indicator
3. Page-number indicator
A coupled cursor is a cursor that appears to drag the user window through page
memory. When the host application writes data to an area of page memory that is
not currently visible, the view window will pan to that area to display the newly
written data.
Note
PCOMM 4.3 does not need to use panning, and cursor coupling functions, as
PCOMM’s implementation sizes the window to match the line-length (24, 36, 72
or 144).
When ReGIS mode is started, the virtual screen and physical screen space is
limited to what is visible in the PCOMM client's window:
• The default mapping space is 800 pixels across by 480 pixels down.
• The upper-left corner of the screen is coordinate 0,0.
The ReGIS instruction set can be divided into 11 distinct command sets:
1. Screen control (S)
2. Write control (W)
3. Position (P)
4. Vector control (V)
5. Curve command (C)
6. Text command (T)
VT emulation enhancements 79
7. Load command (L) not supported
8. Macrograph facility (@)
9. Report command (R)
10.Polygon fill (F)
11.Re-synchronization (;)
Each of the commands can have many options. The entire ReGIS data stream is
in a somewhat readable ASCII data format. For example:
• This command draws a circle 'C[+50]'
• These commands move the cursor to coordinate 100,100 and draw a line that
is 100 pixels in length 'P[100,100]V[-100]'
Beneath the 11 command types are 60 options. Some of the options are shared
across the command types, while others are unique to a command. Some of the
suboptions have suboptions themselves. The complexity of understanding issues
with ReGIS is in the combination of different commands and their effect on the
display space. See Figure 75.
Sixel data stream introducer: <esc>P or (DCS) followed by P1; P2; P3; then a q.
• P1 is the pixel aspect ratio.
• P2 is the background color mode.
• P3 is the horizontal grid size parameter.
As the sixel data is processed, it is possible for the sixel to display beyond the
bottom margin; if so, the display is scrolled. See Figure 76.
VT emulation enhancements 81
82 Personal Communications V4.3 for Windows 95, 98 and NT
Chapter 7. Database access with PCOMM 4.3
Database access has been improved. PCOMM 4.3 comes shipped with DB2
Connect 5.2 for Personal Communications, which is a light version of DB2
Connect and has been provided with Personal Communications for ODBC
database access. DB2 comes with ODBC V3 driver support, enabling an ODBC
connection to any DB2 database by using only one driver. ODBC is an API that
provides a powerful means of communicating with a database; with ODBC, a user
can access a database on a host from a PC using any ODBC-enabled
application, for example, Lotus 1-2-3. This allows full access to a remote
database using SQL to perform functions such as querying the data on a
database and displaying it in a spreadsheet, and the ability to change data on the
database from the PC application.
This chapter describes how ODBC is implemented with PCOMM 4.3 and gives an
example of how to configure a connection to a DB2 database on an AS/400,
using ODBC.
Previously, with PCOMM 4.2, two ODBC drivers were provided (for MVS and for
AS/400). Configuration of an ODBC data source was through the ODBC
Administrator. This has changed with PCOMM 4.3; ODBC access is now through
one ODBC driver provided by DB2 Connect.
Note: This does not provide TCP/IP connectivity for database access; the
full-product version of DB2 Connect would be required for this.
Figure 77 shows how ODBC is implemented with PCOMM 4.2 and PCOMM 4.3;
You can see that a DB2 ODBC driver is used for PCOMM 4.3 database access.
For example, if your application makes a request to use ODBC, the request
enters the ODBC Driver Manager and chooses which data source to use for its
connection. The ODBC Driver Manager then calls DB2CLI.DLL as the driver. DB2
then goes to its configuration information and looks up the data-source
parameters for the data source specified when the database connection was
created. This means that DB2 is keeping track of all data sources itself internally,
referring them to their appropriate ODBC name in the driver manager.
Attention
It is recommended that you use DB2 Client Configuration Assistant (CCA) to
add and configure your data sources.
The addition and configuration of DB2 database connections are handled using
DB2’s Client Configuration Assistant (CCA), and not the ODBC Administrator as
with PCOMM 4.2. When you configure DB2 database connections using DB2’s
CCA, it automatically creates and registers ODBC data sources for the
connection. The names of the data sources it creates can be modified, as before,
using CCA.
Note
Figure 81 refers to the sample configuration that will be created. Because ODBC
is an open API, any application written to use ODBC can be used, such as
Microsoft Access or Excel, or Personal Communications’ own ODBC application,
Database Access. The program allows data to be retrieved from the host
database using SQL queries. There is a sample configuration for the program that
can be used with this database configuration. Please refer to 7.5, “Database
Access Utility” on page 95 for more information on this program and how it can be
configured to access a host database.
A P P C /C P I-C
O D B C D ri v e r :
D B 2 C L I.D L L
(D B 2 C l ie n t )
O D B C D ri v e r M a n a g e r
M ic r o s o ft L o tu s J o e 's
Access A p p ro a c h App
or o r 1 -2 - 3
Excel
2. Configure devices.
Configure Client’s LAN device here.
3. Configure connections.
Configure the link to the AS/400 here. You must provide the MAC/LAA address
of the AS/400. On the Advanced tab, enter the Adjacent CP name for the
AS/400. The Adjacent CP type can be left at Learn.
4. Configure modes
Create a new Mode definition called IBMRDB; this is the DRDA mode used on
the AS/400. Select BLANK, and View->Change->Add. Change the Mode
name to IBMRDB, and keep all other parameters at their defaults. See Figure
82.
4. APPC tab: Enter the symbolic destination name (CPI-C name) here. This is
the symbolic destination name that was configured under the PCOMM SNA
Node configuration in the CPI-C Side Information. See Figure 85.
6. Alias tab: You can enter an Alias name for your database connection here.
Make sure that the SNA node configuration is correct, and that you have an
Active link to the AS/400. To do this, click PCOMM SNA Node Operations ->
Start the Node, and check that the upstream link is active by clicking View
Connections. Next, test your database connection. To do this select Done; you
are then given the opportunity to test the database connection. Click Test
Connection. See Figure 89:
When the database configuration has been tested, you will be shown the main
Client Configuration Assistant screen again, with the new database connection
definition. See Figure 90:
From Database Access, you can perform any of the following actions:
• You can see and modify the SQL statements that are created automatically.
• You can see available database-table lists.
• You can copy spreadsheet data to the clipboard.
• You can show data in the grid in the main window spreadsheet, send data to
other applications (for example Lotus 1-2-3 or Microsoft Excel), or send data
to a printer.
• If you want to know the meaning of items in the windows, you can see an
explanation when you select the item and then click Help.
The Database Access Utility acts like any other ODBC application program, and
simply pipes standard functional requests into the ODBC Driver Manager. The
ODBC Driver Manager would then pass those requests to the specified ODBC
driver.
Finally, you will be prompted to connect to the database on the host. First, select
the database name that was created using DB2 CCA (ELCRTP06 in this
example), then enter the user ID and password to connect. See Figure 93.
Now you can run a query on a table to display its contents. See Figure 95.
The trace can be saved as a formatted trace file or as a control-flow trace file.
See Figure 98:
TRACEFLUSH causes each execution to delete the existing trace log and create
a new one. Without this option set, the traces would be appended to each other. If
you wish to save the trace to a directory instead add:
[COMMON]
TRACE=1
TRACEPATHNAME=E:\SQLLIB\TRACES
In either example, if the specified directory does not exist, the trace
logs will not be saved.
This chapter provides an overview of the new features in PCOMM 4.3 to support
the Tivoli environment:
• Plus module - for administering PCOMM
• Command-line programs - for local and Plus-module use
For software distribution (Tivoli Courier - for installing PCOMM), refer to Chapter
1, “Installation” on page 1.
8.1 Overview
Tivoli is IBM’s premier enterprise-management solution. This is the brand-name
of a set of products that provide systems-management capabilities across
multiple platforms. Tivoli includes a structured framework that provides core
services and capabilities for management applications and a growing set of
applications that take advantage of the framework.
Tivoli defines three types of node within a Tivoli Management Region (TMR):
• TMR Tivoli server - one server per TMR. It runs Tivoli Framework and other
Tivoli products.
TMR servers maintain the TMR server database and coordinate all
communications with TME 10 managed nodes.
• Managed node - up to 200 nodes per TMR. It runs Tivoli Framework.
It runs the same software on a TMR server (installed remotely from the
server). Managed nodes maintain their own databases, which can be
accessed by the TMR server. PCOMM and the PCOMMPlus module can be
installed on a managed node.
• PC managed node, which runs Tivoli Agent.
Tivoli Framework provides the Tivoli management services used by the Tivoli
applications. Tivoli supports Plus modules. These modules can be written to
integrate application specific management requirements with the Tivoli
Framework, thus providing application management capabilities using the Tivoli
interface and services. All Plus modules have a similar installation and user
interface because they are integrated into Tivoli. This means that Tivoli
PCOMM itself is not Tivoli ready, but it does support various Plus-module
functions, such as application launching, administration tasks, subscriptions lists
and software distribution.
To create a managed node, the Tivoli Remote Execution Service (TRIP) must be
installed on the managed node first. The managed node is then created from the
TMR Server Region. Please refer to the Tivoli TME10 Framework planning and
installation manual for detailed information on creating managed nodes and
installing/configuring your Tivoli environment.
The IBMPCOMMPlus module for Tivoli is shipped with PCOMM 4.3, on the
CD-ROM. Figure 100 shows where the Plus module is located.
Note that the files are in the format of a Tivoli Installable image. To install the
IBMPCOMMPlus module, do as follows:
1. Make sure that the IBMPCOMM.IMAGE directory is accessible to the Tivoli
Server; you can install directly from the CD-ROM or from a server drive.
2. Select Desktop->Install->Install Product... from the Tivoli desktop.
5. Click IBMPCOMMPlus for Tivoli in the Select Product to Install list. Make
sure that the Clients to Install On window contains the target node (TMR
server or managed node). Then click Install & Close to start the installation.
You will see a panel that contains messages, which vary according to whether
you already have the Plus module installed and according to how the installation
goes.
When installation of the IBMPCOMMPlus module has finished, and all of the
install dialog boxes have been closed, an icon is added to the Tivoli Plus panel.
Note
Make sure that all PCOMM nodes that require management by the Plus module
are registered with the Subscription List function.
The list on the right shows the available subscribers. From this list you can select
the PCOMM nodes you want to manage with the PCOMMPlus module, and add
them to the list on the left. The PCOMM nodes in the Available list come from the
policy region. Clicking Set Subscriptions & Close will then set your
subscriptions.
Figure 109 shows the next panel that you will see. This panel allows you to
specify the properties of the job you wish to create, including a list of PCOMM
nodes on which to run this job.
Tasks targeting one or more of the same nodes must be run separately, otherwise
the result can be unpredictable. This is a known, but not well documented Tivoli
restriction.
Figure 110 shows how Tivoli sends tasks to the PCOMM SNA Node (Tivoli
Agent). A PCOMM command-line program, cs*.exe, is used for each of the tasks.
Figure 111 shows the Execute Task panel. You must select your subscribed
PCOMM nodes in the Execution Targets section. One of the Output Destinations
must be selected; Display on Desktop displays the output on your screen.
Enter the type of resource you want to display; you can enter the optional (case
sensitive) Resource id and select the Output detail level. Refer to 8.4.1.4,
“CSDSPY.EXE” on page 121 for more information. If you leave the Resource id
blank, information on all resources of the type selected is displayed. Figure 121
shows the output.
Enter the type of Resource you want to change, followed by the Resource id
(case sensitive), then select the action to be performed. Refer to 8.4.1.5,
“CSMODIFY.EXE” on page 123 for more information. See Figure 123 for the
output.
Also new for PCOMM 4.3 is the NOPAPI.DLL. This is the SNA Node Operations
API for the CSDSPY.EXE and CSMODIFY.EXE commands. For more information,
see 8.4.1.6, “NOPAPI.DLL” on page 124.
8.4.1.1 CSSTART.EXE
2
New for PCOMM 4.3; interfaces to SNA Node Operations API.
Function:
Stops the SNA node
Syntax:
csstop [-h] | [-p | -q]1
-h display help
-p display messages in a popup message box
-q quiet mode, no messages are displayed
_________________
1. Specifying no switches, or the -p or -q switch, stops the SNA node.
8.4.1.3 CSQUERY.EXE
Function:
Displays the status of the SNA node - whether it is stopped or
running. Also displays the default and active (if applicable)
config-file specifications.
Syntax:
csquery [-h] | [-p | -q]1
-h display help
-p display messages in a popup message box
-q quiet mode, no messages are displayed
_________________
1. Specifying no switches, or the -p or -q switch, queries the SNA node .
Function:
Displays information about SNA node resources
Syntax:
csdspy [-h] | [ resource [resource_id] [-d#] ]
-h display help
resource resource type1
resource_id resource identifier2
-d# level of detail: # = 1 (min), 2 (normal), 3 (max)
_________________
1. The mandatory resource type specifies a 3-character abbreviation.
2. The optional resource identifier specifies a specific resource.
resource_id1
An optional resource-specific identifier:
A case-sensitive attribute value (for example, LU001 or LINK0001)
that identifies the resource to be displayed--i.e., this is the first
attribute value that CSDSPY displays for the resource.
-d#
The level of output detail. # is a number: 1, 2, or 3, where:
1 is the lowest level, the first attribute of each resource is displayed
2 is an intermediate level of detail (the default)
3 shows all information about the resources
_________________
1. The resource id, if used, must be spelled correctly, including case. An incorrect
resource id will result in nothing being displayed.
Function:
Modifies the state of an SNA resource
Syntax:
csmodify [-h] | [ resource resource_id action ]
-h display help
resource resource type1
resource_id resource identifier2
action action to perform on the resource3
_________________
1. The mandatory resource type specifies a 3-character abbreviation.
2. The mandatory resource identifier specifies a specific resource.
3. The mandatory action specifies a 2-character abbreviation.
resource
One of the following 3-character abbreviation codes:
code resource type actions allowed
CON Connections SN, SI, ST, DL
CPS CPI-C Side Information DL
DLC Data Link Controls SN, SI, ST, DL
DEV Devices SN, SI, ST, DL
DPU DLUR PUs SN, SI, ST
LU0 Local LU 0 to 3 DL (only if the LU is not in use)
L62 Local LU 6.2 DL
RTP RTP Connections PS
8.4.1.6 NOPAPI.DLL
Function:
Provides an API to the SNA Node Operations component for
the CSDSPY.EXE and CSMODIFY.EXE programs.
Supports the same set of SNA node resources as the SNA
Node Operations program, PCSNOPS.EXE.1
_________________
1. CSDSPY.EXE supports the same set of resourses as PCSNOPS.EXE. However,
CSMODIFY.EXE supports only a subset of the resources -- e.g., CSMODIFY.EXE
supports connections, but not LU 6.2 sessions.
Many of these applications are accessible from 3270 or 5250 clients like Personal
Communications, Host On-Demand and others. Much work has been spent to
enable these clients to send data from/to the host as well as performing very
sophisticated tasks on the workstation side with and without user interaction.
But the world has changed dramatically over the last 5-10 years. New design
paradigms have been introduced, from both the development and the user
interface point of view. New computer architectures and concepts become more
and more important for this new world.
But what about legacy applications? Must we re-develop host applications in only
a few years, or die? Or can we move these applications step by step?
Actually, there are several ways to move legacy applications, addressing several
development needs.
1. First of all, you can isolate the business logic on the host side and implement
new code around this logic. Probably the most consistent way needs the
highest effort, applicable only for a few very special situations where
re-developing from scratch is more costly.
2. Second, you can analyze the programs running on the host. For instance, you
may find that the program runs under the control of CICS. Installing the CICS
Universal Client or any similar product allows you to write new non-CICS
applications that gain access to CICS facilities and data using the ECI and EPI
programming interfaces. The new applications must not only run on the host
but on any other operating system where a CICS client is available.
In a similar way, extending CICS, you can manage other host resources like
databases (DB2, IMS, etc.), message queuing (MQSeries), and others from
any client you like. Visit the appropriate websites for the newest information:
http://www.software.ibm.com/ts/
http://www.software.ibm.com/mqseries/
http://www.software.ibm.com/ts/cics/
http://www.hursley.ibm.com/cwuf/
http://www.software.ibm.com/data/
http://www.software.ibm.com/data/db2/
http://www.software.ibm.com/data/ims/
http://www.software.ibm.com/network/
http://www.s390.ibm.com/java/
http://www.as400.ibm.com/java/javahome.htm
3. Third, you can improve the transfer of a non-specific data stream between the
host and the client using APIs like APPC, CPI-C, jCPIC or SRPI. This works
well with both existing and new host applications, but requires that both sides
9.1 Using the Host Access Class Library for Java (HACL)
Some people may ask "What’s going on in this crazy world - is Java really the
coolest stuff, or only marketing hype?" But whatever Java is supposed to be, we
cannot ignore the momentum. Java is on the way to becoming a very effective
development and execution environment. It’s more than just a new programming
language - even today, Java supports the integration of virtually any enterprise
resource, any user interface, and any computer architecture better than all other
programming languages.
First shipped with Host On-Demand, the Java support has been added to
Personal Communications V4.3. It is based on a very powerful API called Host
Access Class Library for Java, and its companion Host Access Beans for Java.
The Host Access Class Library (HACL) is an object-oriented library for accessing
host data, typically used to automate user interaction with a terminal emulator. It
essentially gives the programmer complete read and write access to the emulator
sessions. Host Access Beans based on HACL are visual components that can be
manipulated inside a Visual Development Environment to visually construct host
access programs.
Personal Communications is not the only product which provides Host Access
Class Library support; other products are:
• IBM Communications Server for Windows NT
Read This!
Although the HACL versions provided with Host
On-Demand and Personal Communications 4.3 are
assumed to be 100% portable, there are some small
differences.
One way is a client/server solution which allows direct access to the host
database from your Java program. The only requirement is a local database
client, or a database gateway running a JDBC daemon somewhere in your
network. In other words, just install DB2 Connect V5.2 for Personal
Communications. This will make it easy to access DB2 on the mainframe, the
AS/400 2, or any other platform via JDBC 3.
JDBC is the standard way to access relational databases in Java; DB2 Connect
provides two JDBC drivers, one for local and one for remote access. Originally,
JDBC was only specified for dynamic database access using X/Open’s Call Level
Interface (CLI) specification. The DB2 JDBC driver also implements a technology
called SQLJ specified by Oracle which allows programming Static SQL for faster
database access.
JDBC sounds good for new applications, but it only keeps the data and not the
application code. If you don’t want to touch millions of legacy applications but only
1
Some major improvements have been introduced in the new CICS Transaction Server V1.3 for OS/390. Visit the appropriate Web sites
for more information.
2 Another way to access AS/400 databases directly without using DB2 Connect is a JDBC driver provided by the AS/400 Toolbox for
the IBM IMS client for Java to access applications and data, and the IBM IMS TOC Connector for Java for transaction support.
Figure 124 demonstrates access to host data in two ways: 1) Direct access via
JDBC to the database in a client/server environment. 2) Access via Host Access
Class Library using a terminal emulator in a traditional host environment. It
demonstrates both local and remote access (*needs only one of the telnet
servers TN3270, TN3270E, TN5250, VT340, VT100, VT52, etc.).
The low-level approach using HACL as shown in Figure 124 provides the basics
for any other development. From the coding point of view, this approach is
probably the most powerful and fastest, and allows unrestricted access to all
features provided by the underlying library with little code overhead.
On the other hand, the high-level approach eases developing applications and
applets that work well in visual development environments like Sun's Bean
Development Kit (BeanBox), IBM’s VisualAge for Java, SunSoft's Java Studio,
Lotus Development's BeanMachine, Symantec's Visual Cafe, Inprise's JBuilder,
and others. For more information, visit the Host Access Beans Hints and Tips
Web page:
http://www.software.ibm.com/network/hostondemand/library/publications/beans.ht
ml
The restriction on going this way is that any improvement will require you to code
all of the infrastructure by hand; that is, you will not be able to benefit from other
developer’s work. People who are familiar with object-oriented concepts, or
working on large projects, may find Enterprise Java Beans, or vendor-specific
Frameworks more useful. But because this approach is considerably more
abstract, the learning curve is much higher, and you must spend much more time
really understanding the concepts behind object orientation. The advantage,
however, is that you don’t have to deal with low-level APIs or infrastructure
designs, so you can save a lot of time in large projects, especially if you already
know the basics.
Ideally, you would only need to deal with business objects. The mapping of the
persistent state of your business objects to databases, as well as the transaction
handling, the management of multiple users accessing the same data
concurrently, and a lot of other tasks are done automatically. Moreover this
addresses problems like resource management if you cannot keep all objects in
memory at the same time, as well as remote management and error detection.
You can run your code within application servers like IBM WebSphere Advanced
or Enterprise edition, manage it with system management tools like Tivoli, and
easily integrate it into your corporate network.
At this time, IBM provides no direct support for running HACL-based applications
inside an Enterprise Java Bean environment, but because the concept is
well-documented, it should be easy to bring HACL and Enterprise Java Beans
together.
4 Actually, Data Access Beans are features of VisualAge for Java V2, both Professional and Enterprise edition. Similar functionality can
be found in almost all other development tools which address enterprise needs. Ask your tool vendor for details.
Read This!
Host On-Demand and Personal Communications 4.3
provide the same set of classes. If you are installing
these products on the same system, caution should be
used when modifying the global CLASSPATH
environment to make sure your applications are using
the correct product's Java classes.
Compiling Java code needs the Java compiler javac, and executing requires the
runtime environment java (sometimes referred to as JRE). To invoke them call:
• For .java files (compile):
javac -verbose <package name> \<Java file name> .java
• For .class files (execute):
java -verbose package name>.<class file name>
<package name> is a string you specified as package name in your Java code.
Using packages is optional but must be in sync with the directory structure on
your disk. For example, when the specified package name is mypackage the Java
environment is looking for the classes included in the subdirectory mypackage\
starting from the current directory. You can specify an assembled package name,
but this means that classes in the package mypackage.next must be included in
the mypackage\next\ subdirectory. You may use Java archives (.jar or .zip) to hide
the directory structure.
<file name> is the file name of your Java file (with extension .java), or class file
(with the extension .class). Be aware that Java is case sensitive, and normally the
name of a class must be exactly the same as its file name.
Troubleshooting:
• Don’t touch file names, or move files to another subdirectory inside the Java
file tree! Move the whole directory if needed.
• Expect problems with file systems that do not support long file names, for
example, diskettes. Be careful when using them to save files temporarily.
• Use the -verbose option extensively when the system can’t find a class or
something it requires.
• Start both compiler and runtime environment from the root directory of the
Java file tree (or where the Java archive is located), unless you use special
command line options (-d or -classpath).
For more information review the online reference that comes with the product. A
step-by-step tutorial shows what’s necessary to write and compile a Java HACL
application. Be aware that although the library interface is 100% portable
between Host On-Demand and Personal Communications there are minor
differences.
Tip
We recommend the excellent introduction to the Host
Access Class Library for Java and the Host Access
Beans for Java in Chapters 10 and 11 of IBM SecureWay
Host On-Demand: Enterprise Communications in the Era
of Network Computing, SG24-2149-00.
This can be done in several steps, though you can usually let most properties
default:
1. Define the behavior and characteristics of the session by passing an instance
of Properties to the constructor of ECLSession. The Properties object must
contain all configuration information. Configuration information includes the
host, port, session name, presentation space size (for example, 24 rows by 80
columns), some SSL features, and the host code page. Properties may
depend on the session type chosen. You can run several sessions at the same
time connecting the same or different hosts, and using the same or different
session types.
HACL architecture is not limited to 26 sessions; it uses the concept of a
session name which is simply a string that identifies a session. But because
the HACL implementation provided by Personal Communications maps
internally to this product, in fact, this restriction is only obsolete for the HACL
implementation provided by Host On-Demand.
At least the following properties must be specified:
• SESSION_TYPE - Type of session to establish unless you use the default.
The following session types are valid: 3270 (default), 5250, VT, CICS, 3270
Printer.
• SESSION_HOST - In Host On-Demand, specify the TCP/IP name or
address of a host to which the session will be established. For CICS
sessions, it should be the host name or address of the CICS Transaction
Gateway.
In Personal Communications, specify the name of the workstation profile
(.WS file) which contains the Session configuration information. You may
include or not include the .ws profile extension when setting the Host
property.
try {
// Step 2: Create, initialize virtual emulation session with a host
myECLSession = new ECLSession(configData);
Figure 125. Sample code to start SNA communication, using an ECLSession object
ECLSession inherits from ECLConnection , and it is the only access point for the
methods in ECLConnection. ECLConnection represents the connection
information for a session with a particular host and contains information such as
the connection status, the type of connection (for example, 3270 or 5250), and
the name of the session. More useful methods can be found by reviewing the
product information for the ECLConnection class, too.
Once an ECLSession object has been constructed, you can get instances of
ECLPS (presentation space), ECLOIA (operator information area), and ECLXfer
(file transfer) from the ECLSession instance.
Choosing Run Java Applet... from the Assist menu of the session window shown
in Figure 126 brings up a dialog-box which lets you specify the name of an applet
class file (with or without extension). This class file must be located in the private
subdirectory of your Personal Communications installation directory.
Follow the package name structure; for example, create a subdirectory called
Personal Communications\private\mypackage\ for a class within the package
To load and run successfully, the applet must implement the ECLAppletInterface
interface to accept an ECLSession object, and have a default constructor. When
the Java program is run, Personal Communications will call the Init(...) method of
the program, passing an ECLSession object that corresponds to the Personal
Communications session currently active. You can then invoke methods against
the ECLSession object to interact with that Personal Communications session.
Sounds very powerful for test purposes ... if we could only escape the restrictions
this feature of Personal Communications currently has. We can, and the code
from Figure 128 on page 138 to Figure 131 on page 141 does the job for us. Of
course, these four figures look like a lot of code but help to save much more code.
First at all, the code provided is a modification of code from earlier in this book. It
can run as both an application and as applet within Personal Communications or
from a Web browser. It always picks up the right methods. Second, it redirects the
standard input, standard output, and standard errors to a window!
To test what you have written, just open a PCOMM session, go to the right
screen, then run your applet. You can watch the messages and follow the
program flow in the Standard Out pane interactively, or enter information you want
to pass to the applet in the Standard In pane (see Figure 127). In either case, you
are informed immediately.
It looks crude but is powerful behind the scenes. To reduce the lines of code
needed, we only implemented a simple interface.
...A PLACEHOLDER for three methods from Figure on page 139 ...
System.out.println("Communication started");
return myECLSession;
}
try {
myECLSession = start(this);
perform(myECLSession);
stop(myECLSession);
} catch (ECLErr e) {
System.out.println("ECL error: message number - " + e.GetMsgNumber());
System.out.println("Message text: " + e.GetMsgText());
} catch(Exception e) {
System.out.println("Unspecified error: " + e.getMessage());
}
}
try {
perform(myECLSession);
} catch (ECLErr e) {
System.out.println("ECL error: message number - " + e.GetMsgNumber());
System.out.println("Message text: " + e.GetMsgText());
} catch(Exception e) {
System.out.println("Unspecified error: " + e.getMessage());
}
}
try {
myECLSession = mySimpleSample.start(null);
mySimpleSample.perform(myECLSession);
mySimpleSample.stop(myECLSession);
} catch (ECLErr e) {
System.out.println("ECL error: message number - " + e.GetMsgNumber());
System.out.println("Message text: " + e.GetMsgText());
} catch(Exception e) {
System.out.println("Unspecified error: " + e.getMessage());
}
}
Figure 129. Using an ECLSession object with the SimpleSample class (continued)
The ConsoleOutput class (see Figure 130) is designed to start as a sub window
from an applet or application. Be aware that in the current implementation closing
the frame window finishes the whole program. If you experience any problems
feel free to change the code.
// ---------------------------------------------------------------------
// Redirect Standard In/Out/Err to a Frame, useful for tests with PCOMM
// ---------------------------------------------------------------------
public class ConsoleWindow extends Frame {
...This is a PLACEHOLDER for the code from Figure 131 on page 141 ...
try {
if (log != null)
log.close();
if (fos != null)
fos.close();
} catch (IOException e) {
println("Cannot close log file");
}
super.dispose();
System.exit(0); // Your program exits when you close the window !!
}
// GUI part - show two panels for both Standard Out and Standard In -
Button inButton = new Button("Clean Input");
Button outButton= new Button("Clean Output");
Panel inPanel = new Panel(new BorderLayout());
Panel outPanel = new Panel(new BorderLayout());
Label inLabel = new Label("Standard In");
Label outLabel = new Label("Standard Out");
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose(); // Your application window wouldn’t close otherwise
}
});
inButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
inText.setText(""); // Clean input area
}
});
outButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
outText.setText(""); // Clean output area
}
});
inText.addKeyListener( new KeyAdapter() {
public void keyTyped(KeyEvent evt) {
try {
outPipe.write(evt.getKeyChar()); // Writes input to "Standard In"
} catch (IOException e) {
println("Error writing to console standard in");
}
}
});
Figure 131. ConsoleOutput class code from Figure 130 on page 140 (continued)
Navigating the session screens with the previous release of HACL assumed
monitoring the notification of any event that happened to both presentation
screen (ECLPS) and operator information area (ECLOIA), and validating if the
expected screen had been received. Every event that occurred needed checking
to ensure the screen was not inhibited (ECLOIA) as well as if the current screen
appearance was identical to that defined (ECLPS). For every definition included,
for example, the appearance of a screen-specific string at a screen-specific
position, you had to write code to look for it.
In this respect, you needed to code every single step. In addition, because events
your code was to listen for occurred very often a lot of unnecessary event
processing could reduce the performance of your program dramatically.
A major improvement in the new release of Host Access Class Library, called
Screen Recognition Technology, addresses exactly this problem. It is supported
by two new classes and one new interface (ECLScreenDesc, ECLScreenReco,
ECLRecoNotify).
All you have to do is set up an object of the ECLScreenReco class. Setting up the
object means registering a presentation space (ECLPS) object it is monitoring for,
and also providing a description of the screen you are interested in
(ECLScreenDesc) plus the related "callback handler". After registering, the
methods of the callback handler are asynchronously called back whenever the
related screen appears in the presentation space. Multiple ECLPS objects can be
monitored at the same time, while multiple screen descriptions and related
callback handlers can be registered. Because you get informed asynchronously,
that is, in a separate thread, it makes automated screen processing easy. Later
we will give an example on page 144.
...
...
...
// Say the screen is identified by a cursor position, a key wordsomewhere on
// the screen, don’t care if the operator information area is inhibited or not.
ECLScreenDesc myScreenDesc = new ECLScreenDesc();
The sample code shown in Figure 132 sets up a new screen description based on
an ECLScreenDesc object. You can test this code excerpt by adding it to the
perform method in Figure 128 on page 138. Adapt the description so that it
matches your screen, or you will never hear from your application again!
import com.ibm.eNetwork.ECL.*;
myScreenReco.AddPS(myECLPS);
myScreenReco.RegisterScreen(myScreenDesc, myCallback);
// CODE NOT NECCESSARY, avoids that the program test finishes early.
System.in.read();
myScreenReco.UnregisterScreen(myScreenDesc, myCallback);
...
...
...
Figure 134. Sample code for a simple "callback handler" class (continued)
Figure 134 shows sample code for a screen recognition set based on an
ECLScreenReco object. This code excerpt assumes that you have already
created a session object myECLSession and a screen description object
myScreenDesc. To test the code put it into the code from Figure 128 on page 138
below the code from Figure 132.
After demonstrating the basics of screen recognition we are going to add code to
automate some work. Whenever the "More..." screen occurs it should be cleared
automatically sending the ECLPS.CLEAR_STR keystroke to the host.
1. First, modify the SimpleRecoCallback class to make it more handy. The new
class can serve as a base class for several "callback handlers" and allows
them to act both as screen description class and as callback handler class.
Moreover, it provides a default implementation of the Notify... methods.
import com.ibm.eNetwork.ECL.*;
import com.ibm.eNetwork.ECL.*;
try {
ps.SendKeys(ps.CLEAR_STR); //Clear the screen
System.out.println("Notify: clear ’More...’ screen");
} catch (ECLErr e) {
System.out.println("Exception "+ e.getMessage());
}
}
public MoreCallback() {
AddString("More...");
}
Figure 136. A "callback handler" class to clear the "More..." screen automatically
...
...
...
// We need the presentation space object to monitor for
ECLPS myECLPS = myECLSession.GetPS();
myScreenReco.AddPS(myECLPS);
myScreenReco.RegisterScreen(myScreenDesc, myCallback);
myScreenReco.RegisterScreen(myMoreCallback, myMoreCallback);
// CODE NOT NECESSARY, avoids that the program test finishes early.
System.in.read();
myScreenReco.UnregisterScreen(myScreenDesc, myCallback);
myScreenReco.UnregisterScreen(myMoreCallback, myMoreCallback);
...
...
...
Figure 137. Three statements added to the code from Figure 134.
The last example in this chapter demonstrates how to reimplement the Waiter
class based on the screen recognition technology (see Figure 138). The Waiter
class was originally introduced in the redbook IBM SecureWay Host On-Demand:
Enterprise Communications in the Era of Network Computing, SG24-2149.
import com.ibm.eNetwork.ECL.*;
Figure 138 shows reimplementation of the Waiter class using screen recognition
technology. The state machine has been temporarily removed because it needs
code changes in several classes to keep it.
Methods from ECLPS wait synchronously until an attribute, the cursor, a string, a
string in a specified rectangle, or a screen described by ECLScreenDesc,
appears/disappears in the presentation space. Where applicable, methods expect
the change to occur at a given row and column position. Methods regard the OIA
input state.
Methods from ECLOIA wait synchronously until the host application or host
system is available, the input isn’t inhibited, or a transition is taking place from
host system to host application or vice versa. Many of the methods mentioned
wait indefinitely, while others let you specify a time-out value.
These methods work very well for short running tasks, or tasks that can time out
(see Figure 139). If using these methods for long running tasks you should
probably run a separate thread while waiting to see what changes occur.
Elsewhere any user interaction with the application is disabled. In some cases,
hard-killing a non-responding application is the only way to stop it. Therefore, a
better solution for long running tasks is an asynchronous event notification as
shown in 9.3.3, “Navigating the session screens” on page 142.
try {
myECLPS.WaitForCursor(23, 16, 1000, true);
myECLPS.WaitWhileString("DEMO");
} catch (InterruptedException e) {
System.out.println("Wait Exception" + e.getMessage());
}
super.perform(myECLSession);
}
}
Figure 139 shows sample code that waits synchronously until the cursor appears
at a given position and the OIA input is not inhibited; it waits for a maximum of
1000 milliseconds. It then waits until the string "DEMO" is no longer in the
presentation space, and the OIA input is not inhibited, then waits an infinite time.
For additional options see the online documentation of the ECLXfer class.
import com.ibm.eNetwork.ECL.*;
ft.start();
synchronized (ft) {
try {
while (ft.STATE == false) {
if (System.in.available() > 0) {
ft.Cancel();
System.out.println("Key pressed, transfer aborted");
}
ft.wait(100);
}
} catch (InterruptedException e) {
System.out.println("Wait Exception" + e.getMessage());
}
}
super.perform(myECLSession);
}
}
xfer = s.GetXfer();
xfer.RegisterXferEvent(this);
try {
} catch (ECLErr e) {
System.out.println("File transfer: " + e.GetMsgText());
} catch (Exception e) {
if ((s.GetConnType() != ECLSession.SESSION_TYPE_3270) ||
(s.GetConnType() != ECLSession.SESSION_TYPE_CICS))
System.out.println
("File transfer is only supported for 3270 and CICS sessions.");
else
System.out.println(e.getMessage());
}
STATE = true;
xfer.UnregisterXferEvent(this);
synchronized (this) {
notify();
}
}
if (evt.IsReceive() == true) {
System.out.println("Host file name: "+evt.GetSourceFile() );
System.out.println("PC file name: "+evt.GetTargetFile() );
System.out.println(evt.GetBytesSent()+" of "+evt.GetBytesToSend()+"
received.");
} else {
System.out.println("PC file name: "+evt.GetSourceFile() );
System.out.println("Host file name: "+evt.GetTargetFile() );
System.out.println(evt.GetBytesSent()+" of "+evt.GetBytesToSend()+" sent.");
}
}
The ActiveX OLE Automation objects provide the HACL API in the ActiveX
environment. Generally, these objects should be used when you desire a
non-visual programming API to interact with the host.
The ActiveX Host Access controls provide visual components that can be visually
manipulated within Visual Development Environments such as Visual Basic.
These objects should be used when you want to present emulator-like visual
objects to the user.
By default, the Host Access controls are NOT enabled. This can be changed by
adding the Personal Communications Host Access control archive (pcseclj.jar) to
the classpath environment variable on your system (see 9.2, “Setting up the Java
environment” on page 129).
Note that enabling the Host Access controls by modifying the global CLASSPATH
environment variable can cause compatibility problems with Host On-Demand.
Once you have enabled the Host Access controls, you may use them as you
would any other ActiveX control. See your ActiveX development-tool
documentation for help.
Note that it is not necessary to use the .ws profile extension when setting the
Host property. See your ActiveX tool documentation for help on setting ActiveX
control properties, or see the Host Access Beans for Java online reference for
information about other Terminal/Session properties.
When the client’s session starts, Server 2, which has the lower load in relation to
load balancing, answers first, but because the client does not have its certificate,
the connection is not established.
The client then tries to connect to Server 1; since it has this server’s certificate
and the scope name is valid, the session is established.
0000080188000501004000f000108018a00000050105010188000fffffffffffffff008800ffff
fff008800000890001888001000000000b0200f0c03
00000807111000081104000309070011600b100008000806160804112233445566770d17400112
24407180120619000b1520900000700029051013316
..a..aefghrwy..
00888888889aafe
0d10015678968ff
00202e7100d85415210653955d8111d8000764782557295b05b8b00000000000000000d8ccc000
0000000000000cc000000000000000121d895359513
ional Technical .H*** ** * **** ** ********
**** .C1.8 Support Organization .H******** ** *
Information in this book was developed in conjunction with use of the equipment
specified, and is limited in application to those specific hardware and software
products and levels.
IBM may have patents or pending patent applications covering subject matter in
this document. The furnishing of this document does not give you any license to
these patents. You can send license inquiries, in writing, to the IBM Director of
Licensing, IBM Corporation, North Castle Drive, Armonk, NY 10504-1785 USA.
Licensees of this program who wish to have information about it for the purpose
of enabling: (i) the exchange of information between independently created
programs and other programs (including this one) and (ii) the mutual use of the
information which has been exchanged, should contact IBM Corporation, Dept.
600A, Mail Drop 1329, Somers, NY 10589 USA.
The information contained in this document has not been submitted to any formal
IBM test and is distributed AS IS. The information about non-IBM ("vendor")
products in this manual has been supplied by the vendor and IBM assumes no
responsibility for its accuracy or completeness. The use of this information or the
implementation of any of these techniques is a customer responsibility and
depends on the customer's ability to evaluate and integrate them into the
customer's operational environment. While each item may have been reviewed by
IBM for accuracy in a specific situation, there is no guarantee that the same or
similar results will be obtained elsewhere. Customers attempting to adapt these
techniques to their own environments do so at their own risk.
Any pointers in this publication to external Web sites are provided for
convenience only and do not in any manner serve as an endorsement of these
Web sites.
C-bus is a trademark of Corollary, Inc. in the United States and/or other countries.
Java and all Java-based trademarks and logos are trademarks or registered
trademarks of Sun Microsystems, Inc. in the United States and/or other countries.
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of
Microsoft Corporation in the United States and/or other countries.
SET and the SET logo are trademarks owned by SET Secure Electronic
Transation LLC.
Other company, product, and service names may be trademarks or service marks
of others.
This information was current at the time of publication, but is continually subject to change. The latest information for
customer may be found at http://www.redbooks.ibm.com/ and for IBM employees at http://w3.itso.ibm.com/.
Company
Address
We accept American Express, Diners, Eurocard, Master Card, and Visa. Payment by credit card not
available in all countries. Signature mandatory for credit card payment.
L
D Learn Node 34
Database Access Utility 95 link reactivation 34
Database Management System 83 load balancing 49
DB2 83 load balancing (TCP/IP) 51
DB2 Client Configuration Assistant (CCA) 85
DB2 Connect 83
DBMS 83 M
DDE convert 40 Managed node 103
DECEDM 78 MD-5 20
Delete Word Classic 45 message/trace, new viewer facility 41
Delete Word Classic function 29 miscellaneous enhancements 43
directory agent (SLP) 51 Multiple Document Interface (MDI) 41
Distributed Relational Database Architecture 83
DRDA 83
Your feedback is very important to help us maintain the quality of ITSO redbooks. Please complete this
questionnaire and return it using one of the following methods:
• Use the online evaluation form found at http://www.redbooks.ibm.com
• Fax this form to: USA International Access Code + 1 914 432 8264
• Send your comments in an Internet note to redbook@us.ibm.com
Please rate your overall satisfaction with this book using the scale:
(1 = very good, 2 = good, 3 = average, 4 = poor, 5 = very poor)
Was this redbook published in time for your needs? Yes___ No___