高性能のバッチ外部スケジューラー・コネクターをインストールし、構成することができます。このコネクターは、固有のコンパイル型言語で実装されたネイティブ WSGrid コネクターであり、通信に IBM MQ を使用します。
このタスクについて
ネイティブ WSGrid の利点には次の 2 つがあります。
- 使用のたびに Java™ 仮想マシン (JVM) の始動処理を行う必要をなくすことによって、z/OS® システム・プロセッサー
の使用効率を高めます。
- z/OS で使用可能な最も堅固なメッセージング・サービスを
使用することで、z/OS をご使用の多くのお客様によって既によく知られ、使用されているメッセージング・サービスによる信頼性の高い操作を保証します。
WSGRID を
開始する環境の認証済みユーザー ID は バッチ ジョブ・スケジューラーに伝搬されます。
結果の バッチ ジョブは、そのユーザー ID を
使用して実行されます。このユーザー ID は、バッチ ジョブをサブミットするための
十分な WebSphere® 特権 (すなわち、lradmin ロールまたは lrsubmitter ロール) も持っている必要があります。例えば、
JCL ジョブ WSGRID1 が技術ユーザー ID TECH1 の下で実行するようにサブミットされた場合、結果の バッチ ジョブ
もユーザー ID TECH1 の下で稼働します。ユーザー ID TECH1 には、WSGRID によって使用される IBM MQ 入力キューおよび出力キューとのやり取りが許可されている必要があります。
手順
- IBM MQ on z/OS をセットアップします
- ジョブ・スケジューラーがキュー・マネージャーと通信できるように、IBM MQ でサーバー接続チャネルを定義します。
例えば、以下の MQSC コマンドは SVRCONN チャネルを作成します。
DEFINE CHANNEL(WSGRID.SVRCONN) CHLTYPE(SVRCONN) TRPTYPE(TCP) REPLACE
- IBM MQ キューを定義します。
キュー・マネージャーはローカルでなければなりません。2 つのキュー
が必要です。1 つは入力用、もう 1 つは出力用です。任意の命名規則に
従ってこれらのキューに名前を付けることができます。例えば、入力キューに名前 WASIQ を
使用し、出力キューに名前 WASOQ を使用します。これらのキュー
は共有モードで設定されている必要があります。
- WSGRID ロード・モジュールを作成します。
- <was_root>/stack_products/WCG/bin ディレクトリーで unpack スクリプトを検索します。
unpackWSGRID スクリプトは REXX スクリプトです。
- unpackWSGrid スクリプトを使用して、WSGRID をアンパックします。コマンド・オプションを表示するには、入力を指定せずに unpackWSGRID スクリプトを実行します。unpackWSGRID <was_home> [<hlq>] [<work_dir>] [<batch>]
[<debug>]
以下に、使用可能なコマンド・オプションのリストを示します。
- <was_home>
- 必要な WebSphere Application Server ホーム・ディレクトリーを指定します。
- <hlq>
- 出力データ・セットのオプションの高位修飾子を指定します。デフォルト値は <user id> です。
- <work_dir>
- 作業ディレクトリーを指定します (オプション)。デフォルト値は /tmp です。
- <batch>
- このスクリプトの実行モードを指定します (オプション)。使用可能な値は、batch または interactive です。
デフォルト値は interactive です。
- <debug>
- デバッグ・モードを指定します (オプション)。使用可能な値は、debug または nodebug です。
デフォルト値は nodebug です。
次の例で、<was_home> の値のみを指定した unpackWSGrid スクリプトからの出力を示します。
Unpack WSGRID with values:
WAS_HOME=/WebSphere/ND/AppServer
HLQ =USER26
WORK_DIR=/tmp
BATCH =INTERACTIVE
DEBUG =NODEBUG
Continue? (Y|N)
Y
User response: Y
Unzip /WebSphere/ND/AppServer/bin/cg.load.xmi.zip
extracted: cg.load.xmi
Move cg.load.xmi to /tmp
Delete old dataset 'USER26.CG.LOAD.XMI'
Allocate new dataset 'USER26.CG.LOAD.XMI'
Copy USS file /tmp/cg.load.xmi to dataset 'USER26.CG.LOAD.XMI'
Delete USS file /tmp/cg.load.xmi
Delete old dataset 'USER26.CG.LOAD'
Go to TSO and issue RECEIVE INDSN('USER26.CG.LOAD.XMI') to create
CG.LOAD
- TSO、ISPF、オプション 6 - コマンドに移動し、receive 操作を実行します。
以下に例を示します。
RECEIVE INDSN('USER26.CG.LOAD.XMI')
結果は次の出力のようになります。
Dataset BBUILD.CG.LOAD from BBUILD on PLPSC
The incoming data set is a 'PROGRAM LIBRARY'
Enter restore parameters or 'DELETE' or 'END' +
Enter をクリックして終了します。次のような出力が表示されます、
IEB1135I IEBCOPY FMID HDZ11K0 SERVICE LEVEL UA4
07.00 z/OS 01.07.00 HBB7720 CPU 2097
IEB1035I USER26 WASDB2V8 WASDB2V8 17:12:15 MON
COPY INDD=((SYS00006,R)),OUTDD=SYS00005
IEB1013I COPYING FROM PDSU INDD=SYS00006 VOL=CPD
USER26.R0100122
IEB1014I
IGW01551I MEMBER WSGRID HAS BEEN LOADED
IGW01550I 1 OF 1 MEMBERS WERE LOADED
IEB147I END OF JOB - 0 WAS HIGHEST SEVERITY CODE
Restore successful to dataset 'USER26.CG.LOAD'
***
- 分散オペレーティング・システムで実行されているジョブ・スケジューラー・サーバーをセットアップします。
- 分散オペレーティング・システムで実行されているジョブ・スケジューラー・サーバーまたはサーバー・クラスターにシステム・アプリケーション JobSchedulerMDILP をインストールします。
- デプロイメント・マネージャーから、次の入力パラメーターを指定して installWSGridMQClientMode.py スクリプトを実行します。
./wsadmin.sh
-username <username> -password <userpassword>
-f ../stack_products/WCG/bin/installWSGridMQClientMode.py
- -install
- {-cluster <clusterName> | -node <nodeName>
-server <server>}
- -remove
- {-cluster <clusterName> | -node <nodeName>
-server <server>}
- -qmgr
- <queueManagerName>
- -qhost
- <queueManagerHost>
- -qport
- <queueManagerPort>
- -svrconn
- <serverConnectionChannel>
- -inqueue
- <inputQueueName>
- -outqueue
- <outputQueueName>
例えば、クラスターに対しては以下のようになります。
./wsadmin.sh -username <username> -password <password>
-f <was_home>/stack_products/WCG/bin/installWSGridMQClientMode.py
-install -cluster <clusterName> -qmgr <queueManagerName>
-qhost <queueHostName> -qport <queuePort> -svrconn
<serverConnectionChannel> -inqueue <inputQueueName>
-outqueue <outputQueueName>
例えば、サーバーに対しては以下のようになります。
./wsadmin.sh -username <username> -password <password>
-f <was_home>/stack_products/WCG/bin/installWSGridMQClientMode.py
-install -node <nodeName> -server <server> -qmgr <queueManagerName>
-qhost <queueHostName> -qport <queuePort> -svrconn <serverConnectionChannel>
-inqueue <inputQueueName> -outqueue <outputQueueName>
- 変更を有効にするために、すべてのジョブ・スケジューラー・アプリケーション・サーバーを再始動します。
トラブルの回避 (Avoid trouble): セキュリティーが有効な場合は、z/OS システム上の実行依頼者ユーザー ID は、分散システム上で lradmin または lrsubmitter ロールに属するユーザーとして定義されている必要があります。
gotcha
タスクの結果
分散オペレーティング・システム上のジョブ・スケジューラー・サーバーと通信するように外部ジョブ・スケジューラー・インターフェースが構成されました。
次のタスク
外部ジョブ・スケジューラー・インターフェースから バッチ にジョブをサブミットします。