最近は、障害調査でスタックトレースを見たりDBを見たりしていて、昔を思い出す。僕らのチームはテスト工程から入ってるわけだが、あるべき設定・あるべき状態の全体像を知っている人がおらず、断片的な情報を組み合わせてトライ&エラーで進めている。
システムそのものが超巨大で複雑と言われているが、基本はコボルトゥージャバのレガシーマイグレなので、1つ1つのモジュールは単純なものばかり。それらが数珠つなぎに実行されて1つの処理が終わる。全体像がわからなくてモヤモヤするが、前後左右だけ気にして担当するピースだけに集中していればそこまでストレスはない。
マイグレされたjavaプログラムは、COBOLの命令をそのまま置き換えたようなもので、いわゆる手続き型プログラムの典型という感じ。また、今のところDBオブジェクトも単純なものばかりで、難解なストアドプロシージャとかもなさそう。感覚的に、DB側処理をスケールするのは難しいからビジネスロジックはすべてAP側に集中している感がある。というか現行のコボルがそういう思想なのかもしれない。
僕が初めてプログラミングに出会ったときには、すでにウェブシステム全盛だったので、コボルって名前は聞いたことがあったが実物を見たことがない「伝説」みたいな感覚だった。
ここにきて初めて伝説に出会って、正直に言えばそれ自体に何の感動もないが、国内最古のシステムの一掃作業だと思って取り組んでいる。