端末との通信

本章では、OpenFrame AIMがユーザーが端末に接続して業務を処理できるようにサポートする端末との通信機能について説明します。

1. 設定

OpenFrame AIMは、TN3270プロトコルを使用する端末との通信をサポートします。サポートする端末の種類は、TN3270プロトコルを使用するアプリケーションとWebブラウザーを介して端末機能を使用できるWeb端末があります。ユーザーはディスプレイ端末に接続してデータを検索および更新し、プリンター端末に接続して結果を出力することができます。

端末がOpenFrame AIMに接続するためには、まず必要な設定を行います。ADL WORKSTATIONコマンドを使用してOpenFrame AIMに接続できる端末情報を定義します。

端末の設定については、端末または端末エミュレーターが提供するマニュアルを参照してください。

以下は、WORKSTATIONコマンドの定義例です。

WS-GROUP NAME IS TMAXRDTP.
WORKSTATION NAME IS TPWS001
; TYPE IS T7366LC1
; TERMINAL IS L7366#1
; MUK IS #1 MUKN001 #2 MUKN002
; AUTO-PATHON TO TPPROC01
; AUTHOR IS T.KIM
; DATE-WRITTEN 2008.01.10
; REMARKS  SAMPLE FOR WORKSTATION COMMAND .
END.

2. 端末の接続

OpenFrame AIMシステムで業務を実行するには、端末をシステムに接続させる必要があります。本節では、入力装置がある端末と入力装置がない端末の接続方法について説明します。

2.1. 入力装置のある端末

入力装置があるディスプレイ端末は、以下の手順でOpenFrame AIMシステムに接続します。

  1. ゲートウェイに接続(CONNECT)

  2. AIMシステムにログオン(LOGON)

  3. AIMシステムのプロシージャと結合(PATHON)

下の図は、端末をシステムに接続させるプロセスを示します。

figure 2 1
端末の接続プロセス

2.1.1. 接続(CONNECT)

ネットワークと端末が正しく設定され、ADL WORKSTATIONコマンドに記述されている内容と一致すれば、端末は正常にゲートウェイに接続されます。ゲートウェイへの接続は、以降通信が可能な状態になったことを意味します。接続に成功すると、画面にログオン・プロンプトが表示されます。

2.1.2. ログオン(LOGON)

ゲートウェイに接続したら、OpenFrame AIMシステムにログオン(LOGON)します。ログオンは、端末でLOGONコマンドを使用して実行します。LOGONコマンドの入力時にプロシージャ名を一緒に指定すると、その名前でパスオン(PATHON)が自動的に実行されます。

以下は、LOGONコマンドの構文です。

LOGON AIM,[端末名],プロシージャ名
オプション 説明

端末名

ログオンする端末名を指定します。コマンドを入力する端末名を入力してください。端末名は省略可能です。

プロシージャ名

端末で結合するプロシージャ名を指定します。プロシージャ名は省略可能です。

以下は、TPWS001端末がOpenFrame AIMシステムにログオンし、TPPROC01プロシージャと結合する例です。

LOGON AIM,TPWS001,TPPROC01

端末がログオンに成功すると、OpenFrame AIMはその端末を論理的に認識し、端末はOpenFrame AIMシステムのリソースを利用する準備が整います。

LOGONコマンドについては、OpenFrame AIM『管理者ガイド』の「AIM業務」を参照してください。

2.1.3. パスオン(PATHON)

OpenFrame AIMシステムへのログオンに成功したら、プロシージャへの結合を行います。この処理をパスオン(PATHON)と呼びます。パスオンは、aimcmdを使用してSPATHONコマンドで実行します。

以下は、SPATHONコマンドの構文です。

SPATHON 端末名,プロシージャ名
オプション 説明

端末名

プロシージャを結合する端末名を設定します。

プロシージャ名

端末で結合するプロシージャ名を設定します。

以下は、TPWS001という端末がOpenFrame AIMのTPPROC01というプロシージャに結合する例です。

SPATHON TPWS001,TPPROC01

端末がプロシージャとの結合に成功すると、そのプロシージャに属する業務アプリケーションを実行できるようになります。

2.2. 入力装置のない端末

入力装置のない端末は、ゲートウェイに接続することは可能ですが、直接ログオンすることはできません。業務アプリケーションからの結果を出力するには、端末が業務アプリケーションと論理的に接続される必要があるため、ログオンが必要となります。

この場合は、入力装置がある他の端末か、あるいは業務アプリケーションでコマンドを使用して該当の端末をログオンさせます。他の端末をログオンさせるときは、SLOGONコマンドを使用します。SLOGONコマンドは、aimcmdを介して入力します。

以下は、SLOGONコマンドの構文です。SLOGONコマンドの構文は、LOGONコマンドと類似しています。

SLOGON 端末名[,プロシージャ名]
オプション 説明

端末名

ログオンする端末名を指定します。

プロシージャ名

端末と結合するプロシージャ名を設定します。

3. 業務の開始

端末をプロシージャに結合すると、業務が開始されます。結合している端末が処理できるアプリケーションの範囲はADL PROCEDUREコマンドとMQNコマンドによって定義されます。

MQNコマンドによって定義されるMQN(Message Queue Node)は、各業務アプリケーションが端末と通信するためのチャンネルとして機能します。業務アプリケーションがメッセージ・ファイル・インターフェースを使用する場合は、MQNを定義する際、このMQNが属する(BELONGS TO)プロシージャの名前を宣言すると、各業務アプリケーションをそのプロシージャに含めることができます。端末のユーザーは処理する各アプリケーションを選択することなく、ログオンを通じて端末にプロシージャを結合し、このプロシージャに定義された順序で業務を処理することになります。

端末がプロシージャに結合されると、DCMSは該当のPROCEDUREコマンドに指定された画面を送信するか、指定された業務アプリケーションに端末が結合されたことを通知するメッセージを送信します。

初期画面を送信する場合、画面のフォーマットID(FID)はPROCEDUREコマンドのTOP MENUセクションまたはINITIAL-FIDセクションで指定します。

初期画面を送信せずに、プロシージャが結合されたというメッセージを直接業務アプリケーションに送信する場合は、PROCEDUREコマンドのCOMMAND TYPEセクションでアプリケーションのSMQN(Secondary Message Queue Node)名を設定します。これにより、端末がプロシージャに正常に結合されたというメッセージがそのアプリケーションに渡され、アプリケーションで処理することになります。

入力装置のない端末の場合は、プロシージャとの結合を直接行うことができないため、他の業務アプリケーションまたは管理者コンソールでSPATHONコマンドを発行して結合を行う必要があります。端末がプロシージャに結合されると、そのプロシージャに属している業務アプリケーションから受信した内容を出力することができます。

4. 端末と業務アプリケーションの通信

OpenFrame AIMは、業務アプリケーションと端末との通信のためにファイル・インターフェースを提供します。業務アプリケーションは端末との通信を意識せず、順次ファイルからレコードを1つずつ読み取って処理します。

端末で入力した内容は、まずDCMSのバッファーに保存されます。業務アプリケーションはOpenFrame AIMが提供するファイルI/Oインターフェースにより、このバッファーの内容を読み込みます。

COBOLで作成されたアプリケーションの場合は、READコマンドを使用してメッセージを読み込みます。読み込んだメッセージを処理した結果は、ファイルI/Oインターフェースを介して返します。メッセージを送信するときは、WRITEコマンドを使用します。

figure 2 2
端末と業務アプリケーション間の通信

各業務アプリケーションは、DCMSのバッファー内にMQN(Message Queue Node)という空間を持ちます。MQNは、業務アプリケーションが端末と通信するときに使用されるメールボックスとして機能します。

端末から入力されるメッセージは、指定のMQNに送信されます。トランザクションは、MQNが持つSMQN(Secondary Message Queue Node)の名前で実行されます。1つのMQNは1つ以上のSMQNを持つことができます。

figure 2 3
MQNと業務アプリケーション間の通信

MQNとSMQNは、ADLのPEDコマンドとMQNコマンドで定義します。MQNとSMQNの名前は、業務アプリケーションごとに一意である必要があります。

以下は、PEDコマンドとMQNコマンドの作成例です。

PED NAME IS PEDEX01
; AUTHOR IS T.H.KIM
; DATE-WRITTEN 2008.01.10
; REMARKS PED EXAMPLE.
AP NAME IS APTEST01
; TRANSACTION-POINT IS SYSTEM.
MQN NAME IS MQNEX01 FOR MQNDS01.
END.

MQN NAME IS MQNEX01 BELONGS TO PROCEX01
; TYPE IS MESSAGE FILE.
SMQN NAME IS SMQNEX01
; PROCESSING TASK LIMIT IS 255.
END.

上記の例で、業務アプリケーションのAPTEST01は、MQNEX01というMQNをMQNDS01というDDとして持ちます。MQNEX01はPROCEX01プロシージャに属し、SMQNEX01というSMQNでメッセージを処理します。