システム開発をするにあたり、JCLやシェルを作ったり、修正することがあります。
シェルはサーバー系のシステムでよく使われ、JCLは汎用機系のシステムでよく使われます。
シェル | JCL(Job Control Language) | |
---|---|---|
使用環境 | UNIX/Linux系システム | メインフレーム(主にIBM系) |
主な目的 | 対話的なコマンドで実行、スクリプト作成 | バッチジョブの制御と実行 |
文法 | 比較的シンプルで柔軟 | 厳格で固定的 |
実行モード | 対話的およびバッチ | 主にバッチ |
プログラミング機能 | 制御構造、変数、関数等をサポート | 限定的なプログラミング機能 |
ファイル操作 | 直接的で柔軟 | より構造化され、ジョブステップとして定義 |
リソース管理 | OSに依存 | 明示的なリソース割り当てが必要 |
学習の容易さ | 比較的容易 | より専門的で学習曲線が急 |
プログラムを動かすときに、このシェルを動かすことで、
1つの業務処理を動かせます。
プログラムを動かす際に必要な情報(入力や出力のファイル名やDB名など)を指定したりします。
BシェルやCシェル、Kシェルなど、種類がいくつかあります。
参考:http://uralowl.my.coocan.jp/unix/job/UNIX/tool/ksh.html
プログラムを動かすときに、このJCLを動かすことで、
1つのジョブを動かせます。
複数のステップから構成されます。
プログラムを動かす際に必要なパラメータなども指定します。
参考:https://www.arteceed.net/wp-content/uploads/2009/09/intrdr1.png
どちらもプログラムを動かすために必要な物であり、
似ていますが書き方や開発環境などは、かなり違ったものになります。
システムによって使われるものが違うので、どちらも読めるようになると
お得です。