汎用機の歴史とかはwikipediaをご参照頂ければ幸いです。
ここでは、汎用機の構築概念をつらつら書いて行こうと思います。
超簡単に書いてるんで、結構細かい事は蔑ろにしてる為、「ここちゃうで」とかあったら指摘頂ければ幸いです。
今回の用語解説:
こちら
【そもそも汎用機って何よ?】
でっかい機械。
それ以外に言い様がないです。
地震が来ても嵐が来ても、物理的に破壊されない限りは超安全です。何より心臓部たるコンピュータはでっけぇんで、持ち運べるサイズではないです。
なので物理的なセキュリティも安心。
また、最近流行しているクラッキング対策も完ぺき。
もちろん
使用しているOSに依存はしますが、
『基本的にスーパーユーザーが存在しない』
ので、クラッキングされても安心。
仮に不正アクセスをされたとしても、限定された機能しか閲覧・使用が出来なくなる為、非常に保守性もセキュリティ性も高いんですね。
まぁこんな御託は置いといて。
実際どーいうこと?ってのを説明します。
【オンラインとバッチについて】
情報系のお勉強はちょっとだけ齧ってた人間なんで、今更そんな説明いらへんやろーwwwと思ってたんですが、そう思い込んでたら結構大きな罠に引っかかった為、敢えて記載しておきます。
・オンラインとは・
ネット使う奴じゃねーです。
汎用機の仕事に一年程携わっておりますが、最近知りました。
前の現場がデカすぎたからね。ちかたないね。
閑話休題。そう言う事です。
じゃあオンラインって何なんだ????って思い、上司に頼んで説明して貰いました。
オンラインとは、要するに画面です。利用者が操作する画面ですね。
なんちゃら検索ーとか、なんちゃら印刷ーとかそう言う奴です。
・バッチとは・
定時処理の事です。
一日、もしくは一週間、もしくは一ヵ月、年単位かもしれへんけど、定期的に処理をするヤツの事です。
例えば、学生は1年に1回、4月に学年が繰り上がりますよね。
その時に
学年を全員1学年分繰り上げる処理とか。
例えば、一ヵ月に一回は光熱費の請求が来ますよね。
その際に
利用料金を計算し、払込票を発行する処理とか。
そう言うのがバッチです。
-----------------------------------------------------------------------------------------------------------------------
では実際に、どう言う構築をしているのか。
モジュールとなるプログラム同士の連結は、どの様に行うのか。
ぶっちゃけ最初から汎用機プログラマなんで、汎用機向けの構築方法しか知りません。
なんでざっくり簡単に書いていきます。
あとオンラインはまだ構築経験が無くわかんないので、省略します。
(とは言え、オンラインに携われる日が来るかどうかは不明ですが……。)
・バッチの構築について・
JCLってのを使います。ジョブコントロールランゲージの略です。
言語じゃねえっすか。
その通りだと思います。少なくとも、今ある程度齧った段階では、これもプログラム言語だと思いますけども。
つまり、バッチの処理単位はジョブって単位で処理が行われます。
それはそれとして。
簡単に言えば手続き型言語に近い気がします。むしろそのものじゃないかな。
ある程度はスレッド処理も出来ますが、基本的には一本道ですね。
どう言うルートかと言うと。
こんな感じですね。
□の部分(CREATESEQ)とかが、実行する手順(STEPと言う)になります。
つまり、1JCLの中に複数STEPがあり、STEPってのが処理単位なんですよね。
コードベースで見た方が早い気がするので、めっちゃざっくり書きます。
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┃¥JOB プログラム名 USER=ユーザ名 ACCOUNT=ユーザアカウント名
┃ REPORT=異常終了した際に返す値;
┃¥JOR 出力先(ジャーナル);
┃¥CONSIGN JOBCAT=ジョブで使うカタログのありか(*複数行設定可能);
┃
┃STEP1:
┃¥STEP1 COBOLとかのプログラム名
┃ 入力ファイル
┃ 出力ファイル
┃¥ENDSTEP;
┃
┃STEP2:
┃¥処理名だったりSTEP プログラム名だったり
┃¥ENDSTEP;
┃
┃¥ENDJOB;
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
こうなる訳です。
要するに
1:バッチはJCL単位で処理を行う
2:JCLの中の処理単位はSTEP
ってお話です。
割と細分化すると簡単ですね。
今日はここまで。