これからのCOBOLとの関わり方
21世紀のこれから、COBOLとはどのように関わることになるのでしょうか。
新しいシステムをCOBOLで構築するか?
ここまで、COBOLの肯定を多めに書いてきました。では、これからもCOBOLで新しいシステムを作成するべきでしょうか。
これは、どちらかと言えば「いいえ」です。そのシステムの処理内容やワークロード、対応する技術者のスキルセットがCOBOL向きだというのであれば、COBOLが良いのかもしれません。
しかし、現在多くの企業が直面している課題を考えると、新しくCOBOLで大規模なシステムを構築することは現実的ではありません。かつてCOBOLが最適と言われた処理にも、他の言語やツール(ローコードやETLなど)で対応できますし、最新の言語のライブラリやフレームワークの方が開発や保守がしやすい場合もあります。
また、ベンダーのCOBOL製品を新しく準備する場合、他の言語やツールよりも高額になることが多いです。
COBOLは使われ続け、新規格や新技術にも対応していく
しかしながら、今後もCOBOLは使われ続けます。理由は、元々COBOLで構築されていたためです。今後も脱COBOLや作り直しの検討が進みますが、コストにメリットが見合わず経済的合理性がないと、引き続きCOBOLの既存システムを保守していくことになります。
COBOL言語自身は、 ISO/IEC 1989:2023のように規格が更新され続けています。COBOL製品を提供するベンダー各社およびオープンソースのコミュニティは、今後も新しい規格や最新技術の取り込みを続けます。COBOLの既存システムを、塩漬けにするにしても、業務に合わせて最新化を続けるにしても、最新環境は今後も提供され続けます。
最新環境のCOBOLは、コンテナ化したり、CI/CDを構築したり、クラウドネイティブなアプリを作ったりすることができます。
私の顧客には、Visual Studio CodeでCOBOL開発をし、Githubにコミットをして、Github ActionsでCOBOLコンテナを動かしてCIを回している企業もあります。新しく作ることはないものの、既存のCOBOLを最新技術に適応したり、最新環境に乗せることができます。
データの利活用やAPI基盤による各システムとの相互連携が重要である現在、COBOLとそれ以外のシステムが同じ基盤で利用できることには多くのメリットがあります。
COBOL技術者問題はどうなる?
多くの企業の悩みである「COBOL技術者不足」はどうなるのでしょうか。
COBOLが存在する限り、その業務処理の修正や、別言語に置き換えるために読んで理解するスキルのニーズは続きます。しかしながら、COBOL専任(極めた”仙人”とも言えます)の技術者は減りつつあります。
近年では、GnuCOBOLやopensource COBOLのようなオープンソースのCOBOLで容易に学習環境が作れ、オンラインの学習教材も多くあり、習得の敷居はだいぶ下がりました。
最近、複数の言語スキルの1つとしてCOBOLができ、COBOLと別言語の相互連携や、COBOLから別言語への置き換えを経験している技術者を見かけることが増えています。COBOLのスキルセットは専任から兼任に変わりつつあり、十分ではありませんが、市場のニーズに応じた新しい技術者が供給されていくと考えます。
今後、COBOLが新規構築に使われることは減りますが、既存のCOBOLシステムの保守は続きます。最新技術や最新環境ともうまく組み合わせ、複数の言語スキルがある兼任のCOBOL技術者が対応し、適材適所で利用していくことになるのだと考えます。