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:
Start the HUB Router.
Configure the other host(s) for HUB communications, as described in the documentation for the specific host type.
The following subsections describe the steps required to setup the HUBRouter on a Runtime host:
Summary of Capabilities
Host Connections and Protocols
HubRouter Installation and Configuration
HubRouter Commands and Inquiries
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:
mix AX QUIT
HUBRouter is to terminate at as safe a time as it can determine. When this is requested, HUBRouter attempts to stop any new transactions from starting, but permits current transactions to complete. (A transaction might include multiple external Automatic Entries using two-phase commit.) When all transactions have completed, HUBRouter terminates.
If HUBRouter is slow to terminate using QUIT, then use QUIT NOW.
Client systems are requested to delink as soon as possible. This might result in some transactions being aborted.
Note: Some transactions might still be aborted in applications as a result of either the QUIT or QUIT NOW commands.
If HUBRouter is to be left down, then the COMS window or program can be disabled. The window name and program name are both HUBROUTER. By default, a new copy of HUBRouter is initiated by COMS, as MINCOPIES is set to 1. This should not be changed.
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:
<Lincsupport mix>AX JANITOR hhmm - HHMM
Sets the HUB/JANITOR run interval from hhmm until HHMM and triggers an immediate check for HUB/JANITOR processing. Note that HUB/JANITOR task will not run if no HUB transaction have been processed since the last HUB/JANITOR execution. This might cause the HUB/JANITOR to run more than once for this day.
This time interval will only apply for the runtime duration of the application, it does not persist over application restarts.
If you want to apply a permanent time restriction then WFL MODIFY <appl>/LINCSUPPORT with an equivalent taskstring.
Example, WFL MODIFY MYSYS/LINCSUPPORT;TASKSTRING=”JANITOR 1300-1400”
To disable a previously set time interval supply 0 for both the start and end times. Example, <Lincsupport mix>AX 0000-0000
<Lincsupport mix>AX JANITORSTA
Will display the current status of HUB/JANITOR (whether it is time interval restricted, has run today and its pending state)
<Lincsupport mix>AX JANITORRESET
Will reset the run state flags for HUB/JANITOR and trigger an immediate check for HUB/JANITOR processing. This might cause the HUB/JANITOR to run more than once for this day.
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
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 |