Communicating With Other Hosts

The external Automatic Entry (HUB) facility enables an application to interface to other applications on the same or different host types.

No additional steps are required to send external automatic entries or to communicate with applications on the same machine.

To receive external automatic entries from applications on other hosts, you must perform the following on the MCP server:

The following subsections describe the steps required to setup the HUBRouter on a Runtime host:

Summary of Capabilities

The following table summarizes the features and capabilities of external Automatic Entries between applications.

Capability/Feature

Scope/Limitations

Host types

All

To other applications

Yes (EAE 3.3 and supported AB Suite releases)

To external systems

No

Transaction initiated by

Either System

Response from other system

Yes

Multithreading

Yes

Recovery

Full Transaction recovery

Ispec logic performed

In _Prepare method and Main method (on server Ispec only)

Duplicate Protection

Yes

Security

Yes (within capabilities of Security Module)

Multilanguage

Supported (Refer to Multiple Language and Translation Capabilities)

External user program

None required

Glb.Work

Not available on server Ispec

Terms Used:

Explanations of terms used in this subsection are given in the following table.

Term

Meaning

External Automatic Entry

Intersystem communication using HUB

HUBRouter

Message tracking and delivery service

Originating System

System that initiates (sends) external Automatic Entry

Destination System

System that processes (receives) external Automatic Entry

Note: It is important to remember that within a chain of external Automatic Entries, a system might be both client and server.

Host Connections and Protocols

Valid Protocols and Connections:

To participate in external Automatic Entries between different host types, the interconnecting network must support the TCP/IP networking protocol.

Refer to the Agile Business Suite Installation and Configuration Guide for more information about the software requirements.

Valid host connections and supported protocols for originating hosts are shown in the following table:

Originating Host

MCP

OS 2200

UNIX

Windows

MCP

BNA/V2, TCP/IP (port files)

TCP/IP (port files)

TCP/IP (port files)

TCP/IP (port files)

OS 2200

TCP/IP (TAS- 1100)

DCA (DDP-PPC), TCP/IP (TAS- 1100)

TCP/IP (TLI)

TCP/IP (TLI)

UNIX

TCP/IP (TLI)

TCP/IP (TLI)

TCP/IP (TLI)

TCP/IP (TLI)

Windows

TCP/IP (Winsock)

TCP/IP (Winsock)

TCP/IP (Winsock)

TCP/IP (Winsock)

Where two network protocol standards are listed, the host connection uses the native protocol in preference (the first of the two listed). If this is not available, the second of the two protocols is used. The native protocol only applies when the communication is between similar host types. External Automatic Entries between dissimilar hosts always use TCP/IP.

Note: External Automatic Entries between MCP based and UNIX hosts require that the UNIX hosts use a TCP/IP port number of 6001. Refer to the Interfaces section in the Runtime for the Unix Operating System Administration Guide for more information.

Only one protocol can be in use between any two hosts, although different protocols can be in use concurrently by a host to communicate with different target hosts.

Character Set Conversion for Dissimilar Hosts:

Any character set conversion required for communication between dissimilar host types occurs at hosts that use EBCDIC internal representations. This means that MCP based hosts are required to convert EBCDIC to ASCII to send to UNIX, Windows, and OS 2200 based hosts, and to convert any replies from ASCII to EBCDIC.

Note: This conversion does not differentiate between alphanumeric, numeric, or numeric array data. Data corruption occurs if the Automatic Entry contains signed numeric data or data arrays. Use of national character sets might also result in incorrect translations.

HUBRouter Installation and Configuration

All external Automatic Entry communications between applications, either on your local host, or on remote UNIX, Windows, MCP based, or OS 2200 based hosts are supported by a central HUBRouter library. There is one copy of the HUBRouter library for each host. This library contains global tables to administer connections and control routing of messages. On your MCP based host, HUBRouter appears in the library mix with the title NGEN28/1/HUBROUTER.

All calls to the HUBRouter are made indirectly using procedures in the LINCSUPPORT library (one for each application). The LINCSUPPORT library contains code to manage elements of the Two-phase commit protocol, and code to maintain state information relative to the application.

The HUBRouter library must be initiated by COMS as a direct window program. This is because the active control procedure of the library routes messages to local applications using a COMS TP-to-TP send.

HUBRouter is installed and configured automatically when you configure an application. If you install Software that has a later release level than HUBRouter, a new version of HUBRouter is installed and configured automatically.

During the small period of time involved in shutting down and starting a new copy of the HUBRouter, HUB communications is unavailable, and client applications waits for your new HUBRouter to initialize.

The COMS configuration required to define the HUBRouter entities to COMS is created and loaded into COMS Utility automatically, as part of the normal Configure process.

HUBRouter Commands and Inquiries

HUBRouter commands can be issued by a system operator by using AX commands to the HUBRouter library. These commands are described below.

Obtaining Mix Number of the HUBRouter Library

To obtain the mix number of the HUBRouter library, use the following command:

J WINDOW HUBROUTER

Manually Stopping and Restarting HUBRouter

To shut down HUBRouter normally, use one of the following commands:

Other commands

The LIB command is also useful to display a count of current users, and the LIB ALL command additionally lists applications connected to HUBRouter. Refer to the following subsections for more information on the AX commands.

The HUBRouter accepts further AX commands while it is waiting to quit.

Managing HUB/JANITOR

To tailor the behaviour of HUB/JANITOR use the following commands:

Managing HubRouter Timeouts

In earlier releases, HUBRouter had an inflexible 120 second internal wait time for both opening the external connection and waiting for a response. This sometimes caused long delays and system problems when, for example, calls to Business Integrator (BI) for web services did not respond within a reasonable time.

The open connection wait time in HUBRouter can now be changed by entering the command:

<Hubrouter Mix#>AX OPENTIMEOUT<timeout value> 

Valid values range from 1 to 120.

The OPENTIMEOUT value will default to 120 if a value of zero is entered or the value entered exceeds 120.

The response wait time in HUBRouter can now be changed by entering the command:

<Hubrouter Mix#>AX WAITTIMEOUT<timeout value>

Valid values range from 1 to 120.

The WAITTIMEOUT value will default to 120 if a value of zero is entered or the value entered exceeds 120.

The WAITTIMEOUT and OPENTIMEOUT values, if altered, will be maintained in a HUBRouter task attribute (applied through a WFL MODIFY) as part of the closedown processing, that is AX QUIT to ensure that they are retained over sessions.

If the HUBRouter is WFL MODIFY’d during closedown, then the LINCHUBROUTER SL must be reapplied before the HUBROUTER can be initiated again. In this case, a waiting job called HUBROUTER_UPDATED is zipped and it displays steps necessary to re-establish the HUBRouter library, through a WAIT.

Displaying Library Connections Associated with HUBRouter

To display the library connections associated with the HUBRouter, use the commands shown in the following table.

If You Want To …

Then Enter The Command …

Display the number of library connections to HUBROUTER

mix AX LIB

Display details of the users of connections to HUBROUTER

mix AX LIB ALL

Connections to applications generated from LINC Release 16.3 are shown as Connections. If you use the mix AX LIB command (with or without ALL), the application is identified. Also displayed is the number of programs within that application that have connected to the HUBRouter facility.

Selecting HUBRouter Commands for Diagnostic Tracing

 Caution

This facility is designed for diagnosing problems in the HUBRouter communications library, and should not be used during normal operation, as it can impact performance.

The following table lists the commands for HUBRouter tracing.

If You Want To …

Then Enter The Command …

Inquire on the current trace status

mix AX DEBUG HUB

Begin HUBRouter tracing

mix AX DEBUG HUB ON

Begin HUBRouter and LINCSupport tracing

mix AX DEBUG ALL ON

Close trace file and continue tracing in new file

mix AX DEBUG HUB REL

Terminate HUBRouter tracing

mix AX DEBUG HUB OFF

Terminate HUBRouter and LINCSupport tracing

mix AX DEBUG HUB ALL OFF

The Trace file produced is a printer backup file associated with the NGEN28/1/LIBRARY job (mix) number. When you close the printer file, the backup disk file title is displayed.

The Tracing facilities are available in the both HUBRouter and in the multiple system/ LINCSupport libraries. The HUBRouter tracing relates mainly to message routing. LINCSupport tracing relates mainly to transaction control.

Displaying Information from Internal Tables

The following table lists the commands for HUBRouter tracing that you can use to display information from internal tables.

If You Want To …

Then Enter The Command …

Display a list of registered applications and their status

mix AX SYS

mix AX DBS

Display list of active (or recently active) host connections and their status

mix AX HOSTS

Display statistics of internal buffer usage

mix BUFFER

Display and reinitialize statistics of internal buffer usage

mix AX BUFF CLEAR

Obtaining the Mix Number of the LINCSupport Library

To obtain the mix number of the system/LINCSUPPORT library, use the following:

LIB NAME= system/=

If You Want To …

Then Enter The Command …

List number of HUB transactions currently in progress for COMSTP programs, Reports, and 2PC servers

mix AX ACTIVE

Display number of library connections to LINCSupport

mix AX LIB

Display details of users of library connections to LINCSupport

mix AX LIB ALL

Begin LINCSupport tracing (this application only)

mix AX DEBUG ON

Terminate LINCSupport tracing (this application only)

mix AX DEBUG OFF