Copyright (c) 1999, 2001 by Tivoli Systems, an IBM Company

NetView 3270 管理コンソールのヘルプ


HACL アプリケーションの作成

IBM eNetwork Host-On-Demand は、ユーザーが NetView 3270 管理コンソール (NMC-3270) セッションを 自動化する Java アプリケーションを作成できるようにするホスト・アクセス・クラス・ライブラリーを提供します。 これらの自動化アプリケーションは、定形タスク用の NMC-3270 提供のセッションとの対話に使用することができます。 自動化アプリケーションは GEM や NMC からも使用することができます。

NMC-3270 用のホスト・アクセス・クラス・ライブラリー・アプリケーションを提供するには、以下のステップが必要です。

詳細については、IBM eNetwork ホスト・アクセス・クラス・ライブラリー (HACL) を 参照してください。


アプリケーションの作成

特定の NetView セッションと関連したホスト・アクセス・クラス・ライブラリー (HACL) クラスは、 ECLSession のインスタンスから取得することができます。

これを行うためには、アプリケーションが FLB_NVApplInterface を実装する必要があります。 このインターフェースは、このインターフェースの init メソッドを介して行われる活動セッションを アプリケーションに渡すためのメソッドを提供します。

init メソッドでセッション・オブジェクトを取得すれば、表示スペースにアクセスしてそれと対話することができます。 表示スペースは ECLPS クラスにカプセル化され、それのインスタンスは ECLSession の GetPS() メソッドを 使用して取得することができます。 ECLPS は、以下を実行するメソッドを提供します。

下に示すサンプルは、上で説明したセッションから ECLPS のインスタンスを取得するものです。

public void init(ECLSession session)
   {
      ps = session.GetPS();  
      oia = session.GetOIA(); 
      
   }

一度、ECLPS のインスタンスが確立されると、表示スペース変更の通知を受け取るために com.ibm.eNetwork.ECL.event.ECLPSListener として登録することができます。 登録されたリスナーには、表示スペースが変更されるたびに通知があります。 このイベント通知モデルは、表示スペースとの対話を操作するためにアプリケーションによって使用される基本メカニズムです。

下に示すサンプル・コードは、現行クラスを ECLPS のインスタンスに登録するものです。

try { 
       ps.RegisterPSEvent(this); 
    }  catch(ECLErr e) { System.out.println(e.GetMsgText()); } 
 

表示スペース・イベントを登録していても、com.ibm.eNetwork.ECL.event.ECLPSListener インターフェースを 実装する必要があります。

ECLPSListener インターフェースは、表示スペース内で発生するさまざまな種類のイベントを取り扱う 3 つのメソッドから構成されます。 PSNotifyEvent() メソッドは正常なエラー以外のイベントを取り扱うもので、イベントの受け取りと 取り扱いを行うためのメイン・メソッドです。 PSNotifyStop() メソッドは停止イベントを取り扱い、PSNotifyError() メソッドはイベント生成時に発生するエラーを取り扱います。

次に示すサンプルは、画面の更新を印刷出力する PSNotifyEvent() メソッドを定義するものです。

public void PSNotifyEvent(ECLPSEvent evt)
 {
  try
   {
   char[] temp = new char[1921]; // Screen size is assumed to be 24x80
   ps.GetScreen(temp, 1920, 1, 1920, ps.TEXT_PLANE);
   System.out.println(new String(temp));
   ps.UnregisterPSEvent(this);
 
   }
  catch (Exception ECLErr)
   {
   System.out.println("ECLErr Exception --> " + ECLErr.toString());
   }

FLB_NVApplInterface ではさらに、他の 3 つのメソッド (addListener、removeListener、および closeDown) も 実装する必要があります。 closeDown メソッドではアプリケーションが NMC-3270 からの closeDown イベントを listen することができ、 このメソッドは、NMC-3270 がセッションをクローズする用意ができた時に起動されます。 closeDown メソッドにより、ユーザーはセッションが終了する前にクリーンアップすることができます。 removeListener メソッドは、アプリケーションが NMC-3270 からの closeDown イベントを listen しないようにします。

以下はインプリメンテーションのサンプルです。

public void addListener( FLB_NVApplListener listener ){
 
      this.listener  = listener ;
 
   }
public void closeDown(){
 
   //Your clean up code goes here.
 
   }
 
public void removeListener( FLB_NVApplListener listener ){
 
      this.listener = null;
 
   }
 

最後に、アプリケーションの終了を NMC-3270 に通知するために、終結処置として次のようにコーディングするか、 あるいは finalize ルーチンをコーディングします。

 listener.applClosing(this);

ホスト・アクセス・クラス・ライブラリー・アプリケーションの作成

このセクションでは、ホスト・アクセス・クラス・ライブラリー (HACL) を使用する Java アプリケーションの 作成方法について説明します。 ソース・コードの準備とコンパイルに関する要件について説明します。

ソース・コードの準備

HACL クラスを使用するプログラムは、クラス定義とその他のコンパイル時情報を取得するために HACL パッケージを インポートしなければなりません。 HACL パッケージを Java ソース・ファイルにインポートするには、以下のステートメントを使用します。

import com.ibm.eNetwork.ECL.*;
import com.ibm.eNetwork.ECL.event.*;
import com.ibm.eNetwork.beans.HOD.*;
import src.ibmflb.*;
 

コンパイル

新しい Java ソース・ファイルをコンパイルするためには、HACL パッケージが入っている ディレクトリーを組み込むように CLASSPATH を更新しなければなりません。 HACL が Windows 環境にインストールされている場合には、CLASSPATH はすでに更新されているはずです。 HACL が Windows 環境にインストールされていない場合は、手動で CLASSPATH 環境変数を更新するか、 あるいは Java コンパイラー、javac の '-classpath' パラメーターを使用して HACL の位置を指定する必要があります。


HACL アプリケーションの立ち上げ

NetView 3270 管理コンソールには、ユーザー定義アプリケーションのロードと実行を行う方法が 2 通りあります。 ユーザー・アプリケーションは、「HACL アプリケーションの実行」ダイアログから立ち上げることもできれば、 セッションの開始時に初期 HACL アプリケーションとして立ち上げることもできます。 「アプリケーションの実行」ダイアログはツールバーから表示することができます。 このダイアログは、ユーザー定義クラスの名前 (完全修飾クラス名) を促すプロンプトを出し、 デフォルト・コンストラクターを使ってそのクラスのインスタンスを構成し、 クラス・アクセスを init メソッドの現行 NetView セッションに与えます。 クラス名が分からない場合には、「検索」ボタンを使って当該クラスを見つけることができます。 この場合には、クラスは新しくロードされます。 初期 HACL アプリケーションはセッション構成ウィンドウで指定することができます。
注: HACL を使用する アプリケーションが実行される時には、HACL パッケージを含むディレクトリーが CLASSPATH 環境変数で 指定されたパスになければなりません。

ヘルパー・クラス

NetView 3270 管理コンソールは、アプリケーションの作成者が各種コンソール・セッション (たとえば、 ハードウェア・モニターやセッション・モニターなど) のための ECLSessions を取得するのに役立つ ヘルパー・クラスを備えています。

以下はサンプルです。

   ECLSession session = FLB_HACLhelper.getSession("NPDA");
   ECLPS ps = session.GetPS();  
   ECLOIA oia = session.GetOIA();       

サンプル・アプリケーション

次の 2 つのサンプル・アプリケーションは、NetView 3270 管理コンソールと 共に (examples サブディレクトリーで) 提供されるものです。


[ ページの先頭 | 目次 | 索引 ]