新型コロナウイルス感染症拡大の影響で「COBOL」への関心が急激に高まっているという。それはなぜなのか。「Java」を使うエンジニアがCOBOLを学ぶ意義とは。有識者に聞いた。
IT部門が基幹システムを開発・運用する際のプログラミング言語として、汎用(はんよう)コンピュータで「Java」を使うようになる前は、メインフレームで「COBOL」を使うことが当たり前だった。今でも数々のメインフレームでCOBOLアプリケーションが動いている。
新型コロナウイルス感染症(COVID-19)の大流行をきっかけに、古い技術と現代の技術の分断があらためて浮き彫りになった。失業手当や緊急融資の申請を処理するための官公庁のシステムは、レガシーなCOBOLアプリケーションを使用するものが少なくない。
レガシーなCOBOLアプリケーションを現代のシステムに移行させるには何をすればよいだろうか。アプリケーションの動作を維持したままソースコードを書き直す「リファクタリング」の手法でJavaアプリケーションに変換しただけで、すぐに汎用コンピュータで実行できるようになるわけではない。COBOLアプリケーションを使用しているビジネスプロセス全体を見直し、レガシーシステムと新しい技術の関係を理解する必要がある。
JavaエンジニアがCOBOLの基本を理解することは、レガシーアプリケーションのモダナイゼーション(最新化)を始めるための第一歩だ。アプリケーション開発ツールベンダーSkuidの最高技術責任者(CTO)兼エンジニアリング担当バイスプレジデントのマイク・デュエンシング氏によると、COBOLアプリケーションを保守するスキルを持った人が退職してしまい、COBOLエンジニアの需要が高まっている。「若いエンジニアは新しいプログラミング言語を使おうとし、何十年も前のプログラミング言語を学ぶことには関心がない」(デュエンシング氏)
1959年、COBOLはエンジニア以外にも分かりやすいプログラミング言語を目指して開発された。COBOLはさまざまなベンダーのコンピュータで実行可能な最初期のプログラミング言語だ。データ基盤開発ツールを取り扱うSplice MachineでCEOを務めるモンティ・スウェーベン氏は「COBOLを学ぶことは楽しくはないが、簡単に学べる」と語る。
COBOLの基本構文は一般的な英語と同じような命令文で構成されている。非エンジニアが使用することを想定しているためだ。一方でメインフレームの動作を理解して使いこなすことは、非エンジニアにとって簡単ではない。
英国の私立大学BPP Universityで講師を務めていたグスタボ・ペッツィ氏は、オンライン教育サービス「Pikuma」を開設した。ベッツィ氏は若いプログラマーが就職先で直面する問題を肌で感じてきた。Royal Bank of Scotland(スコットランド王立銀行)などの銀行に就職した同氏の教え子は、銀行が依存しているCOBOLを日常業務で使わざるを得ないという。「メインフレームは現代のシステムのように寛容ではなく、若いJavaエンジニアが当たり前と思っていることができない場合がある」と同氏は説明する。
COBOLの基本が簡単でも、何年あるいは何十年も前からそのままで、かつ仕様書が残っていないソースコードを読み解く作業は骨が折れる。モダナイゼーションがなかなか進まないのはそのためだ。
そんな中、COBOLアプリケーションのモダナイゼーションを支援する自動化ツールが登場している。モダナイゼーションツールベンダーHeirloom Computingのクラウドサービスは、COBOLアプリケーションのソースコードを自動でリファクタリングして、Javaアプリケーションとしてコンパイルする。「Oracle Database」「IBM Db2」といったデータベース管理システム(DBMS)で扱っている古いデータベースや、メインフレーム用OS向けのデータアクセス方式「Virtual Storage Access Method」(VSAM)で記録された古いファイルは、手動で更新する必要がある。
企業は自社の状況に応じて、レガシーアプリケーションのままでこの難局を乗り切るのか、それともこれを機にモダナイゼーションを実施するのかを検討しなければならない。COBOLアプリケーションのモダナイゼーションにはさまざまな障害があるが、克服できないわけではない。COBOLはいずれ過去のものになるだろう。しかし今はまだ、JavaエンジニアがCOBOLを学ぶことにも意義がある。
IT製品選定に関する記事をご執筆いただく「読者ライター」を募集します。記事を通じて皆さまの経験やノウハウを共有してみませんか? 応募はこちらから↓
https://techtarget.itmedia.co.jp/tt/news/2009/25/news11.html
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
システムの不具合によるさまざまなリスクを回避するには網羅的なテストを行う必要があるが、自社で行うのは難しい。そこで活用したいのが外部のテスト専門会社だ。本資料ではテスト専門会社を活用するメリットや具体的な流れを解説する。
レガシーシステムからの脱却が叫ばれる中、「ERP×ノーコードツール」のアプローチで基幹システムの刷新に取り組む企業が増加している。その推進に当たっては、「Fit to Company Standard」の概念を頭に入れておくことが必要になる。
迅速なサービスの提供を実現する手段として、「ローコード開発×内製化」が注目されている。エンジニア不足の中でも、非IT部門が開発を担える点がその理由の1つだが、全てが順調に進むわけではない。失敗事例から得た2つの教訓を紹介する。
Webシステムやアプリ、IoT機器などの開発では、“テストのためのテスト”になりがちだ。QA改善に取り組んだ企業事例をもとに、属人化の解消、品質のばらつき防止、効率的なリソース運用といった具体的な課題解決の道筋を紹介する。
システム開発プロジェクトを成功に導くには、ITに関する幅広い知識が必要になってくる。そこで本資料では、システム開発の流れや手法など、はじめてプロジェクトを任された担当者が知っておくべき基礎知識を解説する。
なぜ、「kintone」が大企業の「Fit to Standard」に効果的なのか (2025/3/7)
ノーコードは、負の遺産であるアナログ業務をなくせるのか (2024/11/12)
手間もコストもかかるGUIのテストはどうすれば自動化できるのか (2024/6/4)
「システム内製化」が失敗しがちなのはなぜ? “従来のやり方”では駄目な理由 (2024/5/15)
金融機関のモダナイゼーション 最適解に導くには (2024/3/29)
「テレワークでネットが遅い」の帯域幅じゃない“真犯人”はこれだ
ネットワークの問題は「帯域幅を増やせば解決する」と考えてはいないだろうか。こうした誤解をしているIT担当者は珍しくない。ネットワークを快適に利用するために、持つべき視点とは。
「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年5月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。
「ECプラットフォーム」売れ筋TOP10(2025年5月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。
「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...