Za pomocą programów obsługi wyjścia programista może dostosować przetwarzanie w czasie działania aplikacji. Jeśli serwer Telnet odnajdzie program zarejestrowany w jednym z punktów wyjścia serwera, wywoła ten program z parametrami zdefiniowanymi przez punkt wyjścia.
Punkt wyjścia jest specyficznym punktem programu Telnet, w którym sterowanie może być przekazane do programu obsługi wyjścia. Program obsługi wyjścia jest programem, do którego punkt wyjścia przekazuje sterowanie.
Dla każdego punktu wyjścia jest przypisany interfejs programistyczny zwany interfejsem punktu wyjścia. Punkt wyjścia używa tego interfejsu do przekazywania informacji między aplikacją Telnet a programem obsługi wyjścia. Każdy punkt wyjścia ma unikalną nazwę. Każdy interfejs punktu wyjścia ma nazwę w formacie punktu wyjścia, która definiuje sposób przekazywania informacji między aplikacją Telnet a napisanym przez użytkownika programem obsługi wyjścia.
Różne punkty wyjścia mogą współużytkować ten sam interfejs punktu wyjścia. W takim przypadku wiele punktów wyjścia może wywoływać ten sam program obsługi wyjścia.
Czas odpowiedzi serwera Telnet na początkowe żądanie sesji wiąże się z czasem potrzebnym na wywołanie przez serwer, przetworzenie i powrót z programu obsługi wyjścia QIBM_QTG_DEVINIT. Jeśli dany program obsługi wyjścia wykonuje skomplikowane operacje, można oczekiwać znacznego wpływu na wydajność, to jest dłuższego oczekiwania na nawiązanie sesji. Aby zmodyfikować domyślny limit czasu dla programów użytkownika obsługi wyjścia, wynoszący 60 sekund, można za pomocą komendy ADDEXITPGM dodać dane użytkownika, które będą odczytywane jako wartość limitu czasu. W poniższym przykładzie parametr PGMDTA przesłania domyślne ustawienie limitu czasu i skraca go do 10 sekund:
ADDEXITPGM EXITPNT(QIBM_QTG_DEVINIT) FORMAT(INIT0100) PGMNBR(1) PGM(USEREXIT/DEVINIT2) REPLACE(*YES) CRTEXITPNT(*NO) PGMDTA(*JOB *CALC 10)
Od momentu uruchomienia sesji Telnet za pomocą okna wpisywania się lub innego modelu systemu System i wydajność nie ulega pogorszeniu. W tym czasie program obsługi wyjścia nie przeszkadza w pracy usługi Telnet. Po nawiązaniu sesji Telnet nie pojawia się opóźnienie związane z programem obsługi wyjścia QIBM_QTG_DEVINIT.
Rozłączanie sesji również nie ma widocznego dla użytkownika wpływu na wydajność. Rozłączenie oznacza zakończenie sesji emulacji terminalu, a nie wypisanie się i powrót do panelu wpisywania się. Po rozłączeniu wywoływany jest program obsługi wyjścia QIBM_QTG_DEVTERM, który wykonuje operację rozłączenia sesji. Użytkownik nie widzi tego, ponieważ następuje to już po zerwaniu połączenia.
Wiele kluczowych problemów związanych z zarządzaniem pracą można rozwiązać za pomocą programów obsługi wyjścia. Problemy te obejmują zdolność do żądania opisów urządzeń innych niż QPADEVxxxx, umożliwienie sterowania zarządzaniem pracą interaktywnych zadań stacji roboczych oraz kierowanie tych zadań do określonych podsystemów.
Użytkownicy mogą korzystać z zalet lepszych nazw urządzeń wirtualnych protokołu Telnet oraz konfigurować swoje interaktywne podsystemy do podziału pracy. Służy do tego komenda Dodanie pozycji stacji roboczej (Add Work Station Entry - ADDWSE). Komenda ta umożliwia określenie, którym urządzeniom podsystem powinien lub nie powinien przydzielać określonej nazwy urządzenia terminalu wirtualnego.
Poniższa komenda przydziela wszystkie stacje robocze QPADEV* do QINTER, co oznacza, że wszystkie urządzenia tego typu są kierowane do podsystemu QINTER:
ADDWSE SBSD(QINTER) WRKSTN(QPADEV*) AT(*SIGNON)
Poniższa komenda nie przydziela stacji roboczych QPADEV* do QINTER, co oznacza, że te urządzenia mogą być przydzielone do innych podsystemów:
ADDWSE SBSD(QINTER) WRKSTN(QPADEV*) AT(*ENTER)
Użytkownicy mogą wprowadzać własne konwencje nazw urządzeń do podziału pracy. Na przykład, jednym ze sposobów podziału pracy jest kierowanie określonych urządzeń do podsystemów obsługujących język narodowy (NLS), znajdujących się w dwóch różnych miejscach.
Ci dwaj użytkownicy znajdują się w Chicago i Nowym Jorku. Są przypisani odpowiednio do podsystemów CHICAGO i NEWYORK zgodnie z ich położeniem geograficznym. Charakterystyka przykładu:
Aby sprawdzić, czy urządzenia wirtualne CHICAGO01 oraz NEWYORK01 są kierowane do podsystemów Chicago i Nowy Jork, należy skonfigurować pozycje stacji roboczych w następujący sposób:
ADDWSE SBSD(QINTER) WRKSTN(CHICAGO*) AT(*ENTER) ADDWSE SBSD(QINTER) WRKSTN(NEWYORK*) AT(*ENTER) ADDWSE SBSD(CHICAGO) WRKSTN(CHICAGO*) AT(*SIGNON) ADDWSE SBSD(NEWYORK) WRKSTN(NEWYORK*) AT(*SIGNON)