Apple SNA•ps: Difference between revisions

From Try-AS/400
Jump to navigation Jump to search
(Even better)
Line 33: Line 33:
The SNA•ps 5250 client requires System 7.0 or higher. Launching it on System 6 gets you a corresponding error message, and the client does not open. The 3270 terminal client runs under System 6.0.7 with no errors, though.
The SNA•ps 5250 client requires System 7.0 or higher. Launching it on System 6 gets you a corresponding error message, and the client does not open. The 3270 terminal client runs under System 6.0.7 with no errors, though.


The client works on Mac operating system versions up to, and including 8.1. OpenTransport compatibility seems sufficient to support that old software without changes. It does not work on PowerPC Macs, though.
The client works on Mac operating system versions up to, and including 8.1. OpenTransport compatibility seems sufficient to support that old software without changes. The client crashes upon connecting via a SNA•ps gateway on PowerPC Macs, though.


A connection via TCP (possible with client version 1.1) provokes the message that the other party doesn't use the 5250 protocol. This is reproducible under System 7.6.1/OT/PPC as well as under 7.1/MacTCP/68k. Reasons are unknown.
A connection via TCP (possible with client version 1.1) provokes the message that the other party doesn't use the 5250 protocol. This is reproducible under System 7.6.1/OT/PPC as well as under 7.1/MacTCP/68k. Reasons are unknown.

Revision as of 22:29, 11 February 2023

Package
Active 5250 client connection
SNA•ps Gateway information windows

Apple SNA•ps is an application software package for Apple Macintosh Computers running System 7. Its purpose is to provide Macintosh users access to resources located on IBM Midrange and Mainframe computers. It is the result of a collaboration between Apple and IBM in the early 1990s and has been developed by Orion Software.

SNA•ps uses IBMs proprietary Systems Network Architecture family of network protocols to talk to the IBM side of affairs,[1] and Apple's proprietary AppleTalk on the Macintosh side.

So far, only two releases are known: version 1.1 from 1992, and version 2.0.1 from 1994.

SNA•ps comprises of a client and server component. Both can run on the same Macintosh computer, though.

  • Gateway software with a license dependent maximum count of
    • 8, 32, or 64 LU-sessions for version 1.1
    • 10, 40, or 70 LU-sessions for version 2.0.1
  • Client software for 3270 and 5250 terminal services, as well as AS/400 printing services.[2]

This article focuses on AS/400 and thus on 5250 connectivity.

Different versions of SNA•ps are available on Apple's Computer's Connectivity Demonstration and Support Network Reference CD at Macintosh Garden. Note that version 2.0.1 requires a serial number to be entered at install time.

General overview

The SNA•ps Gateway makes resources provided by the mainframe or the AS/400 via SNA PUs/LUs or APPN/APPC available to AppleTalk connected Macs. This means that an (expensive) card for connecting to the mainframe does not have to be installed in every Mac, but one can be shared by many users. Also, adding such a card is not possible in some cases: Compact Macs like the Mac Plus or Mac SE have no or only limited expansion options. In addition, the required network cabling may not exist.

Examples of clients are the terminal emulations 3270, and 5250). These allow Macs that are connected to the AppleTalk network (e. g. via LocalTalk) to establish terminal sessions to a SNA host.

An example of reverse direction is printing support. The SNA•ps Print Client emulates an IBM 8312 printer. Print jobs spooled into a printer queue on the AS/400 are picked up by SNA•ps Print, to be printed using the default (AppleTalk) printer, set in the Chooser, or saved as text in a file.
This was a way of making the Apple LaserWriter usable from midrange, and indirectly from mainframe computers. The LaserWriter was very expensive at its introduction time.

The counterpart to the SNA•ps Gateway is a system extension called SNA•ps Access. Client applications use API routines provided by this extension. The SNA•ps API can also be used by third parties; examples have been published by Apple through their developer CDs. An example of this is DAL for the Macintosh. It can utilize several ways to connect to the actual database; such as IP (via MacTCP) and SNA (via SNA•ps Access).

In the 1990s, IBM made LocalTalk add-on cards for the AS/400, and additional software for OS/400 to implement the AppleTalk protocol stack on the AS/400 as well. The implementation on the AS/400 corresponded to the SNA•ps gateway, so that no Mac was required as a gateway: the necessary software ran only on the AS/400.

System compatibility

The SNA•ps 5250 client requires System 7.0 or higher. Launching it on System 6 gets you a corresponding error message, and the client does not open. The 3270 terminal client runs under System 6.0.7 with no errors, though.

The client works on Mac operating system versions up to, and including 8.1. OpenTransport compatibility seems sufficient to support that old software without changes. The client crashes upon connecting via a SNA•ps gateway on PowerPC Macs, though.

A connection via TCP (possible with client version 1.1) provokes the message that the other party doesn't use the 5250 protocol. This is reproducible under System 7.6.1/OT/PPC as well as under 7.1/MacTCP/68k. Reasons are unknown.

The gateway software requires special hardware for the SNA network connection and is therefore limited to NuBus systems. Documentation states, the gateway needs System 7 to run. This has not yet been verified. Testing of the gateway software on the first generation NuBus equipped PowerMacs also hasn't been done, yet.

Performance

Comfortable performance can be attained by running at least the Client on 68040 equipped Macs, connected to the gateway through Ethernet.[3] This provides answer times of less than a second, e. g. when scrolling through help texts, etc. Measuring of answer times for the gateway running on different Macs has not been done, yet.

Running the client on Low End Macs such as the SE/30 yields answer times of around two seconds. All in all, fluid work is not attainable. Comparing LocalTalk and Ethernet with the SE/30 shows no significant differences.

Network transport options

The following options to connect to IBM machinery are supported in general:

Phy Hardware
Serial/SDLC Apple Serial NB Card
Token Ring Apple Token Ring 4/16 NB Card
Twinax[4] Apple Koax/Twinax Card

All of these cards feature their own 68000 CPU, and local memory. They conform to the Macintosh Coprocessor Platform specification. A small process runs on the card, which exchanges data via message passing with its counterpart A/ROSE in the Mac OS.

As a novel feature, part of the SNA•ps gateway software runs on the processor of the respective MCP card. Along with the rest of the software running on the Mac's main CPU, APPC sessions are encapsulated in AppleTalk, and available to other Macs connected to the network, including LocalTalk.

I do not own an Apple Serial NB card, yet.

AS/400 configuration

On the AS/400 side, autoconfiguration for controller, and device descriptions should — at least temporarily — be allowed. See the WRKSYSVAL command and the QAUTOCFG, QAUTORMT and QAUTOVRT variables. Maybe also adjust the variables QLMTDEVSSN and QLMTSECOFR. See help texts for details.

A working Token Ring connection is also required. In its line description, the AUTOCRTCTL parameter should (temporarily) be set to *YES. It is recommended that the associated AUTODLTCTL parameter be set to *NONE if AUTOCRTCTL(*YES) is to be retained.

This preparation saves the tedious and error-prone configuration of the OS/400 controller (*CTLD) and device (*DEVD) descriptions for communication with the gateway on the Mac side.

Gateway configuration

Overview of the filled configuration window

The configuration is created with the SNA•ps Config program and built layer by layer.

It is easily possible to configure several AS/400 peers in one configuration document. To do this, each machine must have its own definitions created for

  • Lines,
  • Partners,
  • Remote 6.2 LUs,
  • Modes.

Contrary, Local 6.2 LUs und Transaction Points apply to all configured peers.

If several AS/400's are already internetworked via APPN, the gateway configuration can be made much easier. Just configure the AS/400 designated as APPN Network Node as partner connection. APPC sessions originating on the Macs are forwarded by the gateway to the (directly adjacent) Network Node AS/400. This one in turn forwards the LU sessions to the destination machines.
Note that the Network Node machine needs to have adjacencies to the desired other machines for this to work. SNA•ps can only use connections being already configured.

Lines

Line configuration

First, the Line configuration needs to be created. The name can be chosen freely.
Increasing the Maximum I-Field Length parameter increases the data throughput and thus the speed at which data is forwarded through the gateway. The highest accepted value is 4105 bytes. Use of the maximum value is recommended. The line description of the AS/400 — corresponding to the line configuration of SNA•ps — usually contains 16393 bytes. The actual value used is negotiated dynamically at session establishment time.

Leave the other settings at default values.

Partners

Partner configuration

As long as the just created line is highlighted, the description for the actual network connection to the AS/400 can be defined in the partners field next to it.
The following table shows parameters of the partner configuration and the related parameters on the AS/400:

Partner setting Corresponding AS/400 setting Remark
Name DSPNETA, local control point name (LCLCPNAME)  
Link Address DSPLIND, local adapter address (ADPTADR)  
Partner XID DSPLIND, exchange identifier (EXCHID)  
Gateway XID   Generate yourself. Has to start with 056, and must be unique at least on both sides of the adjacency-link.[5][6]
Gateway Network Name   Generate yourself. You can probably use the name from the Sharing control panel.
Gateway Network Qualifier DSPNETA, local network ID (LCLNETID)  

Other Characteristics settings are:

  • Peer (Node Type 2.1),
  • SAP address (remains at) 4.

Local 6.2 LUs

Local 6.2 LUs
LU setting Corresponding AS/400 setting Remark
Name: PASSTHRU   Corresponds to the SNA•ps Access Control Panel setting on the clients
Network LU Name   Desired name for the gateway on the APPN network[7]
Network Qualifier DSPNETA, local network ID (LCLNETID)  

Transaction points (TPs)

Transaction Points

The Local 6.2 LU just defined must be highlighted so a new transaction point can be created.

TP setting Corresponding AS/400 setting Remark
Name   * (asterisk)
Network LU name DSPNETA, local control point name (LCLCPNAME)  
Network name DSPNETA, local network ID (LCLNETID)  

Leave the other settings at default.

Remote 6.2 LUs

Remote 6.2 LUs

The partner created above must be highlighted in order to create an associated LU configuration.

LU setting Corresponding AS/400 setting
Name DSPNETA, local control point name (LCLCPNAME)
Network LU name DSPNETA, local control point name (LCLCPNAME)
Network Qualifier DSPNETA, local network ID (LCLNETID)

Leave the other settings at default.

If you have more than one AS/400 in an APPN network, just add the corresponding LU names and Network Qualifiers from the other AS/400's in the same manner. This enables session forwarding by the Network Node AS/400 as described above.

Modes

APLSNAPS mode description

The Remote 6.2 LU(s) created above must be highlighted in order to create an associated mode description.

Since there is no good enough mode description on the AS/400 by default, create a custom mode APLSNAPS:

CRTMODD MODD(APLSNAPS) COS(#CONNECT) MAXSSN(32) MAXCNV(32) LCLCTLSSN(0) INPACING(7) OUTPACING(7) TEXT('For Apple SNA.ps')

Now, set the values of the fields on the right side in the Characteristics pane in the Window as follows:

Mode setting Value Corresponding AS/400 setting
Maximum Sessions 32 Maximum sessions (MAXSSN)
Contention Winner 32 Maximum conversations (MAXCNV)
Prebound Sessions 0 Pre-established sessions (PREESTSSN)
Send Pacing 7 Inbound pacing value (INPACING)
Receive Pacing 7 Outbound pacing value (OUTPACING)
Maximum RU Upper 4096  
Maximum RU Lower 256  

Leave the other settings at default.

Note: Modes aren't shared. For each remote LU, you need to re-enter the values outlined above.

It may happen that the gateway refuses to start because it claims there is not enough memory (on the MCP card). Recommended action is to lower Maximum Sessions, and Contention Winner settings locally, and on the AS/400 with the CHGMODD command.

Gateway Activation

After the gateway configuration has been saved, it is assigned to the existing physical connection using the SNA•ps Admin application. Launch it. The Network Gateway Status window appears. One line is displayed for each SNA capable card in the Mac, as shown in the second screen shot above.

Highlight the desired card's entry, and choose Select configuration… from the Gateway menu. Use the dialog box to locate and select the configuration file you've created and saved before.
In the same menu, select Change Settings… and

  • probably assign a nicer AppleTalk name to the gateway, and
  • in Characteristics tick all checkboxes except Initially Log Line Trace.

The gateway can then be started in the Gateway menu with Start Gateway…. A dialog window is shown with a summary. Click Start.

Note: It has been shown that — at least with SNA•ps Gateway version 1.1 — trying out configuration settings with manual stop and start sometimes provokes the message that there is insufficient memory. This statement refers to the memory on the corresponding MCP card. Apparently, resources there are not reliably freed. After restarting the computer, the error message is gone.

Also in the Gateway menu, an overview of the available resources can now be displayed with Show Gateway…. An example can be seen in the second screen shot above.

Screen shots

These screen shots show examples of all entities being displayed in short in the Show Gateway… window, in the second screen shot above.

Client configuration: SNA•ps 5250

In the SNA•ps Access/5250 control panel, switch to Virtual Controller in the Display Configuration. The controller name is usually QPACTL01; the default entry has way too many zeros. Close the control panel to save the changes.

Dialog window to select a default session

The minimal client configuration just requires the selection of the default connection in the Pref(erence)s menu. Alternatively, the desired session can be configured directly in the client: Menu SessionConnection…. Both ways show a dialog window to select a gateway resource in the AppleTalk network.

Finally, the connection to the SNA gateway selected above is established by selecting Connect from the Session menu. After a few seconds, the familiar AS/400 sign-on screen should appear.

Other parameters can then also be set: Larger font for large monitors, alternative key assignments for small Mac keyboards: the numeric keypad is ideal here as a substitute for the lack of function keys, etc. The settings then can be saved in a connection document. When opening such a document, the session is established automatically.

All other settings can be made according to taste.

Client configuration: SNA•ps Print

Before using this function, a printer on the AS/400 must be configured in the SNA•ps Access control panel.

In the Printer Configuration section of the Control Panel, click Printer Device List… and type in a valid AS/400 style print queue name. This name should not exist on the AS/400, it will be automatically created with the correct settings.

Close the control panel to save the settings. If you get an error message stating the control panel can't be opened, you probably have the SNA•ps 5250 client running in the background. Close it, and try again.

After launching SNA•ps Print you will be asked for a file name for the newly to-be-created printer connection. Simply save this document with a meaningful name.

The minimal configuration just requires the selection of the default connection in the Pref(erence)s menu. Alternatively, the desired session can be configured directly in the client: Menu SessionConnection…. Both ways show a dialog window to select a gateway resource in the AppleTalk network.

Finally, the connection to the previously selected SNA gateway is established in the Session menu by selecting Connect. The AS/400 creates a printer device file (*DEVD) and a corresponding output queue (*OUTQ) which can then be used by applications on the system.

An IBM 3812 Model 1 printer in SCS mode is emulated.

Everything that is spooled to this new queue ends up in the print routine of SNA•ps Print.

See the other menu items for the mostly self-explaining further functions SNA•ps Print.

Pitfalls

  • Neither SNA•ps 5250, nor SNA•ps print can be used on PowerPC machines when connecting via a SNA•ps gateway. As soon as the connection is to be set, the client crashes with an illegal instruction error.[8]
  • Using the AppleTalk diagnostic tool Trawl on the gateway Mac itself somehow messes up the AppleTalk stack on it, so that the gateway no longer appears in the manager application. Only a reboot of the gateway computer fixes that error.

Notes

  1. Newer versions of the SNA•ps 5250 client also support IP/tn5250 as alternate network transport.
  2. It's not yet clear if mainframe-based LU2 printer support is available.
  3. AppleTalk and IP performance for AFP transfers over the Apple Token Ring 4/16 NB Card do not exceed 200 kiB/s.
  4. 5250 sessions over Twinax are not supported. Implementation was planned, but never was put into code before development ceased.
  5. This value is copied to the AS/400's controller description at the connection's first start by auto configuration.
  6. XID exchanges stay local to directly adjacent hosts, thus XID duplicates should not matter network-wide.
  7. Only CAPS, may not start with a number, and may only contain these special chars: #$_
  8. This is the first and so far only 68k program I'm aware of not running on PowerPC.

External links