バッチ処理とCOBOLは時代遅れ? 214
ストーリー by nagazou
そんな些細な話ではないと思う 部門より
そんな些細な話ではないと思う 部門より
あるAnonymous Coward 曰く、
週刊現代がこれから「みずほ銀行」に起こる、ヤバすぎる現実…システムの「爆弾」を誰も処理できないと題する記事を出しているが、その中で、
バッチ処理自体、とっくの昔に時代遅れになった手法ですが、みずほは何らかの理由でこだわっていたのです
とか
ITベンダーの間では、かねて『なぜみずほは、わざわざ高齢のエンジニアを雇ってまでCOBOLを使い続けるのか』が疑問視されていました
といった、ITジャーナリストの発言を掲載している。 しかしながら、銀行業務の中ではバッチ処理が適した性質のものも多いだろうし、過去の資産を使いまわさないといけない局面はたくさんあるのだからCOBOLエンジニアが必要(たとえそれが他の言語に移植する仕事だとしても)だろうし、上記2点がみずほ銀行のシステムの「爆弾」だとは言い過ぎの気がするがどうだろうか。
バッチ処理は時代遅れ (スコア:5, 興味深い)
だが、あえてバッチ処理した方が望ましい場合もあるわけで。
たとえばネットを利用した振り込みとか、不正アクセスに勘付くためにあえてリアルタイム処理できなくしてる銀行もある。
古い技術は全否定するわけではなくて、要件に応じて使い分けることが必要。
「新技術の方が優れている」は年中革新しないと気が済まない病に陥ったエンジニアの誤解。
Re:バッチ処理は時代遅れ (スコア:2)
つか、金利とか投信の基準価額の計算とか、金融機関はバッチでしか処理できないものが多いから、バッチなしとかあり得ん。
Re:バッチ処理は時代遅れ (スコア:1)
華やかなりしWeb界隈だって一皮剥けば定期バッチ処理の塊なのに、何をもって時代遅れなんだろうか。
Re:バッチ処理は時代遅れ (スコア:1)
言葉を整理すると、バッチ処理というのは、給与振込データとか自動振替データを何千、何万件貰ったとき処理するやり方。
銀行系のデータ処理には端末での1件処理、端末にcsvファイルとか読ませて1件処理を自動で繰り返す集合処理(ベンダーで言い方は色々あるだろうけど) 、センター側にデータ転送(レイアウトは全銀仕様とかもあるし、独自もあるかも)してセンターカット処理といってセンター側で一括処理する方法がある。とりあえずこの3つとして話を進める。
どれも同じ目的の入り口が違うだけなので、ほぼ同じ内容のデータベース更新になる(普通預金元帳とか通帳に印字する為の履歴とか、その他勘定更新もほぼ同じ)。
なので、普通に設計すればセンターカットも1件処理としてオンラインプログラムに渡して処理することになる。
バッチ処理そのものを無くすというのは意味が分からないけど、オンライン中にバッチ処理を回すというのは昔から有って、センターカット処理予約テーブルを用意して、予約テーブルを順に見てセンターカットを行いながら、ある口座への端末からの処理が来たときセンターカットが未処理なら、その口座の予約処理のみ先行処理してから端末処理を行うという方法がある。
たぶん、オンライン中のセンターカットを嫌うのはオンラインプログラムのパフォーマンスの問題だと思う。もしかすると最近のオンラインプログラムは、超並列に処理できるのが当たり前でみずほはそこが弱いとかあるのかもしれないけど、記事からは原因が全く見えないので、日経コンピュータとかが取材した記事を待つしか無いのでは。
Re: (スコア:0, オフトピック)
syori.bat とかなら明らかに時代遅れな感じはする。
せめてPowerShellかWSLを使えと?
Re:バッチ処理は時代遅れ (スコア:2, 参考になる)
そのバッチではない。
Re:バッチ処理は時代遅れ (スコア:3, すばらしい洞察)
多分ここに書いた人達はメインフレームのバッチ処理がなんなのかすら知らない
Re: (スコア:0)
batはともかく、そういうダサいファイル名なら現在進行形で再生産されてるからなー。
こんなんとか。
https://www.city.kita.tokyo.jp/wakuchin.html [tokyo.jp]
Re:バッチ処理は時代遅れ (スコア:1)
ダサいとは思いませんし英語にしたところで問題が解決するとは思えません。分かりやすいことがまず大事なのでは?
Re:バッチ処理は時代遅れ (スコア:1)
わざわざ和英辞書を引くぐらいならローマ字で書けとお師匠に教わった
Re:バッチ処理は時代遅れ (スコア:1)
パラダイムの違う言語が、気持ち悪く見えてしまうことは仕方ない。
COBOLプログラマから見て、Javaは気持ち悪く見えるかもしれないね。
Bashしかできない人にとって、Powershellが気持ち悪く見えてしまうように。
個人的には、常に新しいものに挑戦できる自分でいようと考えている。
じゃないとこの業界、すぐに老害と呼ばれちゃうしね。
Re:バッチ処理は時代遅れ (スコア:1)
私はそれらに加えて、Forth, LISP, Ruby, Elixir, Prolog辺りも使ったことはあるけど、どれも気持ち悪いと言えば気持ち悪かった。
でも最終的には、大抵のものは「こんなものかと納得がい」った。
そう言う意味では、PowershellのBEGIN{} PROCESS{} END{}構文は、未だに納得いかないものの一つではあるな。
Re:バッチ処理は時代遅れ (スコア:1)
いや、それとは違うんだよな。
しかし、それを書くには余白が狭すぎる。
Re:バッチ処理は時代遅れ (スコア:2, すばらしい洞察)
Windowsでは、みんな git のおまけの git bash を使ってるから問題ない。
Re:バッチ処理は時代遅れ (スコア:1)
bashはbashの道義(流儀?)があるんで、.Netのオブジェクトを扱うように作り直すのは、無駄が多いんだよ。
Powershellを使ってみれば解るよ。
Re:バッチ処理は時代遅れ (スコア:1)
そのPowerShellやWSLはシス間に禁じられてしまって
WSLを禁止するのは解るけど、Powershellを禁止するのは意味不明だな。
事実だとすれば、ご愁傷様。
高級言語で記述して変換して、バッチファイルを生成してくれるといいなー、と最近本気で考えている。
ネイティブなバイナリか、.Netなマネージドコードでいいのでは?
わざわざ.BATに拘る意味が解らない。
Re:バッチ処理は時代遅れ (スコア:1)
ネイティブなバイナリが許されるわけがなかろうもん。
ならば、高級言語を.BATに変換するコンパイラは、.BATで書くのか?
まあ不可能では無かろうが、そんなニッチなコンパイラをメンテナンスしてくれる人がいたらいいね。
Re:バッチ処理は時代遅れ (スコア:1)
それが危険だと言うのなら、.BATも禁止しないとダメなんじゃない?
Powershellは署名の無いスクリプトを実行できないポリシーを強制できるけど、.BATはそーゆーのは無理だからなあ。
それよりマクロ付きの添付ファイルを禁止する方が良いんじゃない?
Re:バッチ処理は時代遅れ (スコア:1)
AppLocker使えばいい。
なるほど。
技術的にできるのは確かだろうけど、運用するのは大変そうだね。
これを運用するとなると、情シスもガチガチのルールを設定せざるを得ない。
翻って「高級言語で記述して変換して、バッチファイルを生成してくれる [srad.jp]」何かは、いよいよ使い道が無い。
Re:バッチ処理は時代遅れ (スコア:1)
Re:バッチ処理は時代遅れ (スコア:1)
微妙に違うコメントに誤爆してねーか?
スクリプト終了時にカレントを変えられるのはBATだけ(たぶん)
ウソだな。
確かめもせずにそんな事書いて、CMD.exeにしがみついてると、老害呼ばわりされちゃうぞ。
Re: (スコア:0)
実は週刊現代はバッチ処理で記事を量産しているんですよ
バックエンドはCOBOLで記述されているという噂もあります
COBOL言語の報告書作成機能とは?
https://www.cobol.co.jp/cobol-nyuumon/kiso/k014/ [cobol.co.jp]
Re: (スコア:0)
週刊現代と言わず、雑誌はすべてバッチ処理でしょ。
取材して(してないか)、原稿書いて、校正して(してないか)、印刷して、書店に発送して、書店に並べる。
これをバッチ処理と言わずして・・・。
Re:バッチ処理は時代遅れ (スコア:1)
雑誌も既にWEB記事がメインだと思ってたけど、やっぱ週刊誌のスケジュールで進行するのかな。
「ITジャーナリストの佃均」 (スコア:5, 興味深い)
「IT専門紙の取締役編集長」やってたと言うけど、その「専門紙の名前」すら伏せてる時点で判断以前な気がするなぁ。
そんなに的外れでもない「バッチ処理は時代遅れ」 (スコア:4, 興味深い)
https://twitter.com/E_Hartmann666/status/1438650645599297542 [twitter.com]
>「バッチ処理は時代遅れ」
三大メガバンクとJPBの勘定系&業務系の設計・構築やってた経験から言うと、夜間バッチ処理は「センターカット」と呼ぶんだけど、処理遅延すると翌日のオンライン開局が遅延するので、MUFGとSMBCは夜間バッチ処理を削減する方向で設計している。
↓
日銀RTGS、全銀システムはリアルタイム処理になってる。(全銀は全加盟機関じゃなくて、一部の機関だけだけど)
みずほ銀行の勘定系システム更改の誤謬は、銀行の経営陣が第一勧銀+富士通のSTEPsに固執したことにある。富士銀行+日本IBMのTOPsに片寄して、その後にシステム更改すればこのような事態にはなっていない。
「COBOLを利用してるから」ってのも間違い。
↓
金融系システムは十進法演算が必須なので、汎用機で稼働する言語で十進法演算命令に対応しているプログラミング言語はPL/1とCOBOLしかない。補足すると演算する桁数も多いので、それに対応する言語となるとCOBOLが最適解になる。
>RDBMSを採用すればいいじゃん
これも誤謬で、階層型DBMSのIMS処理能力は13万TPS。一方RDBMSの代表であるOracleは7万TPS(しかもNECが魔改造して)なので、メガバンク級のトランザクションを処理するシステムにRHEL+RDBMSを採用するのはダメ。現行ではz/OS+IMSが最適解。
銀行の勘定系システムの初見者にはこれが参考になります
進化する銀行システム 24時間365日動かすメインフレームの設計思想 (Software Design plus)
Re: (スコア:0)
2017年に廃刊した情報産業新聞の編集長だったらしいよ
読んだことすらないけど、てか今初めて知った
こゆこと? (スコア:2)
○この程度じゃあ爆弾にも値しない
Re:こゆこと? (スコア:1)
銀行はシステムをオープンソース化すべき
(訳:とりあえず、古く世間一般に知れ渡っている用語は貶し、
まだ新しめの用語を称賛・提案すれば聞こえはよくなるはず)
Re: (スコア:0)
×みずほ銀行のシステムの「爆弾」だ
○この程度じゃあ爆弾にも値しない
え?バッチリ処理じゃないからみずほ向けなんじゃないかな?(違
「ヤバすぎる」は時代遅れ (スコア:1)
Google検索: ヤバすぎる site:https://gendai.ismedia.jp/articles/
まるでまとめサイトのタイトルみたい。
ITジャーナリストも新しい時代に突入 (スコア:1)
バッチ処理は多かれ少なかれどの企業でも動いてると思うんだけど、このITジャーナリストの方はフリーランスで自分から近い世界でしかものを見たことないのかな?
そう考えると、新しい時代に突入した感覚がある。
あとCOBOLも勘定系ではかなり現役なんだけど、これについては異論多そうなので黙っときます。
Re:ITジャーナリストも新しい時代に突入 (スコア:3)
それかcronやタスクマネージャで満足してるのかも
# 今はF社のジョブ管理ソフトウェア触ってます
Re:ITジャーナリストも新しい時代に突入 (スコア:1)
Tivoli と Systemwalker は名前すら出てこないのか。
Re:ITジャーナリストも新しい時代に突入 (スコア:2)
詳しい人に聞いて理解できる範囲と無理のない作業時間で記事にした、という評価をしてみてもよいのかも。それが主観的に言ってあまりに常識はずれに狭すぎる、という批判はその評価の後でもよかったりするやも。
Re:ITジャーナリストも新しい時代に突入 (スコア:1)
リンク先の記事を見てみましたが、大げさな表現で、単語をわざと多く使ってつなげたり、”煽ってる”文章ですね。
さらには、微妙だったり、変な”例え”もしてるし。
昨今は、こういう風に書かないと、読んでもらえないんでしょうか。
もしくは、読む側の質が落ちて、こう書かざろうえないのしょうか。
Re:ITジャーナリストも新しい時代に突入 (スコア:1)
題名で煽って、最後までそれにかんする話が出てこないと最後まで読んでもらえる。
たまに内容がまともな記事があるので侮れない。(題名だけおかしい)
Re: (スコア:0)
このITジャーナリストの団体のサイトを見ると、こっちではまともに文章書いてるのに、
ゲンダイの記者にいいように使われてるんだろうな。可哀想に。
Re: (スコア:0)
COBOL に関しては、
・動くものに手を入れるな
・動いているものが仕様だから、リプレイスなんてとても……
・帳票など COBOL に最適化されていて、他に適した言語って?
あたりが現役な理由かなぁ
(あと開発当時なら、それが読める人が銀行にも結構いたんじゃないかな)
お金を扱う以上、今までとちょっと違う動きしますってそうそう許されないだろうし、パッケージに業務を合わせるのが特に難しい業界だと思っている
とはいえクラウドとか規模拡大とかサービス拡充なんかのために、基幹リプレイスは体力あるところはやった方がいいとは思う
Re:ITジャーナリストも新しい時代に突入 (スコア:1)
BigDecimal でずれる?
それってインスタンス化のときにちゃんと値を String で渡してても?
Re:ITジャーナリストも新しい時代に突入 (スコア:1)
いや、それは使い方を間違ってるだけ(new BigDecimal(double a) みたいなの?double 型使ってる時点ですでにずれてるから BigDecimal の罪ではない)だから、
「プログラムで何とかするしかない」って話じゃないでしょ。
BigDecimal同士の演算ならちゃんとしてくれるはず。
Re: (スコア:0)
整数(金額)の取り扱いに強いとか、数値←→文字のタイプ置換が簡単(悪く言えばいい加減)とかいう理由があるとかないとかやっぱりないとか
みずほは (スコア:1)
パッチ処理を繰り返してるイメージ
別バージョン (スコア:1)
「お前と違ってみずほ銀行の行員様は、怒鳴ったりはしない」という抗議が来たのだろうか(システム統合を振り返った書籍のレビューにも怒号を聞いたという告白があるけど)。
雑誌名が (スコア:0)
時代遅れ
バッチ処理 (スコア:0)
MicrosoftやAmazonの社内システムでは走ってたけどなぁ。片方は居たの数年前だから今は違うかもしれないけど。
# PSTベースで夜間に走らせるから日本やヨーロッパでたまに事故る
でもまあ、真面目にコスト計算してみたことないから (スコア:0)
バッチ処理は最低限、すべてをワンストップ、
とかやると、どれだけコストに変化が起こるのかってトコは気にしたい
COBOLの我が社での位置付け (スコア:0)
COBOL=悪者ではなく、COBOL=定年間近の業務に詳しい癖のあるおっさん
ぐらいのイメージ
Re:バッチ処理の対義語はなんだろう (スコア:1)
金利付与とか給与振り込みとか定時振替とかバッチ処理のほうが有利なのはいっぱいあるぞ。
というより、締め日ベースが基本で顧客側の前処理・後処理もバッチだからリアルタイムでやる理由がないし、
リアルタイムに反映させようものならバックアップも含めたシステムリソースがさらに必要になるので得なことが一つもない。
Re:バッチ処理の対義語はなんだろう (スコア:1)
情報システム用語なら、バッチの対義語はオンライン。
略語でオンラインが「O/L」になるのはまだ許せるけど、
バッチが「B/T」になる、そのスラッシュはなんやねん。