IBMlogo
IBM eNetwork Communications Server for Windows NT
Host Publisher Feature, Version 6.01
[Next|Previous|Contents]

Host Publisher Hints and Tips

Host Access Algorithm

This is a detailed description of how a Host Access integration object is processed. The abbreviation IO is used for "integration object".

The following three steps are performed only once for each integration object referenced in a DYNA tag, other than DYNASCRIPT, anywhere in the Web page, no matter how many times the integration object is referenced:

  1. Connect processing
  2. Data loop
  3. Disconnect processing
In addition, the three steps are performed each time an integration object is instantiated in a DYNASCRIPT section.

1. Connect Processing

If IO is scoped to client AND IO for this client already exists
  Use existing IO (should still be connected)
Else
  Create IO
  If IO has connection caching
    Get connection from connection cache
  Else
    Establish new network connection
  If new connection
    Play connect macro
    If connect macro fails or time exceeds timeout
      Return error

2. Data Loop

Insert "Extract" command after each "WaitForScreen" in data loop macro
Start playing data loop macro
Perform Macro Extract processing (below) each time Extract occurs
If data loop macro fails or exceeds timeout
  Return error
Else
  Return collected data items

Macro extract processing

This is done whenever a macro being played hits an inserted Extract command. This processing may be invoked recursively, i.e., we could already be processing another extract and start doing this processing again (see below).
Extract image of terminal screen and save it
Look for the first defined Screen that matches terminal
If Screen match occurs
   Look for the first defined Error (for that screen) that matches terminal
   If Error found
     If FATAL error
        Cancel currently playing macro
        Play error macro, if any
     Else if RECOVERABLE error
        If NOT playing screen macro
          Play error macro, if any
        Else
          Ignore error (*limitation of current product)
   Else
     Collect data items, if any
     If screen macro exists AND we're not already playing one
        Insert "Extract" command after each "WaitForScreen" in screen macro
        Start playing screen macro
        Perform entire Macro Extract processing each time Extract occurs
        When screen macro ends
	  Evaluate screen macro iteration criteria based on last extracted screen
	  If criteria are still met
	     Start screen macro again

3. Disconnect processing

If IO is scoped to client
  Delay disconnect processing until IO lifetime expires
Else // IO is scoped to page
  If connection caching enabled for IO
    Return connection to connection cache
  Else
    Play disconnect macro
    Drop network connection
  Delete IO  

When IO scoped to client times out

Handle same as Disconnect processing for IO scoped to page.

[Next|Previous|Contents]
IBM eNetwork Communications Server for Windows NT
Host Publisher Feature, Version 6.01