IBM iとDX| IBM iはレガシーを継承しつつ、新しい技術基盤を併せもつ ~IBM iの開発環境を見直そう

なぜ、IBM iの開発環境を見直す必要があるのか。その理由と現状整理からスタートし、新しい開発環境に求められる機能は何かを探っていくことが
今回から4回に分けて掲載する本稿の狙いである。

オープンな世界では多様なツールが日々登場し、作業の自動化や開発生産性の向上に寄与している。こういったツールと共通の土壌をIBM iの開発現場で
培っていくことが、将来に備えた人材の育成をはじめ、IBM iが現在抱える課題を解決し、DXに向けた道を拓くことになるだろう。

text:小川 誠 ティアンドトラスト

DXの文脈から見る
IBM iとレガシーシステム

IBM iが AS/400という名前で 1988 年に発表されてから、今年で33年になる。これだけ長きにわたり、多くの企業で使われ続けているマシンも珍しい。しかし最近は、別の意味で話題になることが増えてきた。「デジタルトランスフォメーション」(以下、DX)の文脈においてである。

DX は、スウェーデンの大学で教鞭をとるエリック・ストルターマン教授が2004年に提唱した「ITの浸透が人々の生活をあらゆる面でよりよい方向に変化させる」と定義した考え方から始まる。

デジタルテクノロジーの進化とともに、産業構造などが劇的に変化すると予測され、それに企業が対応していくには、ITの活用や企業の組織改革、意識改革、さらには経営改革などが欠かせない。そしてDXでとくに指摘されるのが、「既存システムのブラックボックス状態を解消せず、データを活用できなければ、デジタルの敗者になり、既存システムの維持管理費が高額化し、保守人材不足でシステムトラブルやデータ喪失等のリスクが高まる」(経済産業省のDXレポートを要約)という問題である。この状態を2025年まで放置すると、21年以上の期間にわたり使用されている基幹システムは全体の6割に達し、IT人材は40万人以上が不足する。企業にとっても日本経済にとっても、大変な未来がやって来る。これが、よく言われる2025年の崖である。

ブラックボックス化した既存システムは「レガシーシステム」と言われ、「このレガシーシステムをどうすべきか」「今すぐ新しいプラットフォームに置き換えねば、間に合わないのではないか」といった議論が続く。そしてそのレガシーシステムの代表として扱われるのが、IBM i である。要するに、「古いシステムだから、もう待ったなし、なんとかしないと」「1日も早くIBM i から別のプラットフォームへ移行しないと間に合わない」と言われているようなものだ。

しかし、果たしてそうなのだろうか。IBM i を使い続けると、2025年の崖にぶつかるのだろうか。

ここであらためて、「レガシーシステム」の意味を考えてみる。次の説明が世の中の認識に最も近いだろう。

「時代遅れの古い仕組みのことで、情報システムでは主に技術革新による代替技術が広く普及した段階で、旧来の技術基盤により構築されているコンピュータシステムを指す」

つまりIBM i は、「時代遅れの古い仕組みのコンピュータシステム」「今の仕組みと異なる古い技術基盤で構築されている」ということになる。

これは本当だろうか。掘り下げて考えてみたい。

IBM iは時代遅れの
古いコンピュータなのか?

IBM i の古さの象徴として話題に上がるのは、5250画面だろう。マウスを使う、あるいは画面をタップするなどのインターフェースが主流の現在、キーボードのみの操作はどうしても古臭く感じるのだろう。

これは確かにそうだと思う。そもそも5250画面を使った業務システムは、古くは20数年以上前に作成され、現在まで継続して使用しているケースが少なくない。だから、業務的には確かに「古い」のかもしれないが、5250のインターフェースそのものが古いかと言えば、決してそうではない。

他のプラットフォームを考えてみよう。Windows には「コマンド・プロンプト」がある。Linux にもシェルと呼ばれる文字ベースのインターフェースがある(図表1-1、図表1-2、図表1-3)。これらの機能は古くて使用されていないかと言えば、そんなことはない。

Windows のコマンド・プロンプト機能まだ使っているユーザーは多いだろう。Linux のシェルに至っては、遠隔システムにアクセスして操作するためのインターフェースとして今でも第一線で活躍中だ。つまり文字ベースのインターフェースだから、すなわち「レガシーシステム」であるとは言えない。

図表1-1 文字ベースのインターフェース ~Windowsのコマンド・プロンプト
図表1-1 文字ベースのインターフェース ~Windowsのコマンド・プロンプト
図表1-2 文字ベースのインターフェース ~Linuxのシェル
図表1-2 文字ベースのインターフェース ~Linuxのシェル
図表1-3 文字ベースのインターフェース ~5250画面
図表1-3 文字ベースのインターフェース ~5250画面

では、機能面で考えてみよう。5250画面と他のプラットフォームのインターフェースには決定的な違いがある。5250 画面は、管理者だけでなくエンドユーザーも利用するインターフェースである点だ。エンドユーザーはOSや業務システムが提供するメニュー画面を用いて、日々の業務を実施している。5250画面は、実は高機能なのである。

また、システム管理者はマウス操作よりコマンド実行のほうが効率的に作業できるので、5250を利用している人は多い。それに他のインターフェースには見られないコマンドのプロンプト機能などもあるので、使いやすい。

5250はIBM i の唯一のインターフェースではない。Web インターフェースが業務にも管理向けにも用意されており、モダナイゼーションの一環で5250から Webへの置き換えが進んでいるケースも多い。にもかかわらず、IBM i だけが「古い」と言われる理由は簡単で、文字ベースの 5250が単に一番目立っているからだ。

AS/400 として発表された当時は、そもそもパーソナルユースのコンピュータがなく、専用端末を接続していた。その当時に作成されたプログラムは30年後の現在も、専用端末をエミュレートしたプログラムで実行できる。完全な上位互換性の実現だ。目立つのも当然である。しかし、だからと言って古い仕組みのコンピュータシステムでないのは明らかだ。

IBM iは今の仕組みと異なる
古い技術基盤で構築されているのか?

古い技術基盤と言えば、たとえば通信プロトコルにSNAを使用しているとか、RDBファイルの作成にDDS(データ記述仕様書)を使用しているとか、IBM iでしか使えない言語(RPG)で開発している点なども指摘される。確かにそうした技術しか使えないのであれば、それは問題である。

最近オープンソースに触れる機会が多いので、他のプラットフォームでよく耳にする機能を思いつくままに列挙してみる。

たとえばTCP/IP接続、Apache、nginx、SQL、Python、Secure Shell(SSH)、Bash、Git、yumなど。

実はこれらはすべて現在、IBM iで利用可能な技術、言語、インターフェースである。長年にわたり使用している基幹システムは、確かに古い技術基盤で構築されているが、他のプラットフォームでは当たり前に使えるこれらの技術基盤への移行は、IBM i上ですでに可能である。

今最も注目されている言語であるPythonも、IBM iで利用できる。Python関係でいうと、NumPyも、実はpandas だって、IBM i で利用可能である(図表2、図表3)。これらが利用できないという(間違った)理由で、他のプラットフォームに移行する必要はまったくない。

また基幹システムで最も重要なのはデータベースだが、DDS という古い技術で作成されたファイルを変換することなく、業界標準のSQLを使って操作することもできる。

つまりIBM iはレガシーシステムを完全に継承しつつ、新しい技術基盤を積極的に取り込んでレガシー部分とうまく連携させられる。よい意味でレガシーシステムであると同時に、最新技術基盤を併せもつ、とても稀有なコンピュータなのだ。

図表2 IBM i上でpandasを利用
図表2 IBM i上でpandasを利用
図表3 pandasによるデータ分析
図表3 pandasによるデータ分析

IBM iの最大の優位性である
「資産継承性」がもたらした弊害

30数年前の技術から最新技術までを網羅しているにも関わらず、DX という文脈のなかで古いというレッテルを貼られる理由は、AS/400の前身であるシステム/38時代からの資産の継承(過去のオブジェクトがそのまま新しいOSでも利用できる)が、悪い意味でその原因であると思う。

過去の資産の継承が実直に実践されてきたからこそ、IBM iで稼働している業務システムが企業の屋台骨を支えるシステムとして生き永らえてきた。技術革新の激しいコンピュータ業界にあって、その荒波の影響を受けることなく、企業は業務に専念できた。

しかし、その代償も大きい。それは、企業システムが外部の刺激を受けて成長することなく、現在まで生き永らえてしまったことだ。

長期にわたりシステムを安定稼働させることは、とても難しい。それはコンピュータメーカーにとっても、その上で稼働するシステムを保守する立場としても、大変な労力を要求される。だからシステムを開発・保守している担当者には、日々進化する新しい技術を取り込む余裕などないはずだし、誰もそのことを責められない。

しかし2025年の壁を突きつけられた時、IBM i上で稼働するシステムは20数年以上前の技術の上に構築されており、最新の技術を何も使っていないという現実を知る。IBM i というシステムが古いのではなく、その上で稼働している業務システムが古いのだ。だからこの古いシステムは1日も早く刷新せねばならない。

そう、確かに古いシステムは刷新せねばならないが、IBM iは古い技術と最新の技術を共存させる新しいシステムであり、決して古くはない。つまり刷新すべきは業務システムそのものであり、それを最も低コストに、かつスパイラルに実装していけるのは IBM i というプラットフォームをおいてほかにない。これが「モダナイゼーション」である。

モダナイゼーションとは、既存のRPGをJavaで書き換えるという狭義の意味ではなく、ましてや WindowsやLinux などのオープン系に移行したり、新しいミドルウェアを採用することでもない。基幹システムに最新のテクノロジーを組み込み、日々進化させていくことである。

DXに向けて実施すべきは、IBM iというプラットフォーム上で、絶え間ない技術革新の成果を日々取り込んで進化させていくことであり、そのサイクルを短期間で回していくための企業文化の刷新や、オープン系の技術や考え方に沿って仕事の進め方を変化させ、それを日々進化させる風土の熟成である。

 

◎ IBM iの開発環境を見直そう

・IBM iとDX| IBM iはレガシーを継承しつつ、新しい技術基盤を併せもつ
・PDMとSEU | IBM iの開発に欠かせない2つのツールがもつ強みと考慮点
・IBM iとモダナイゼーション| これからのIBM i開発に求められる機能とは
・これからの開発環境| ソースコード管理を起点に理想的な開発環境を考える(近日公開)

 

著者|小川 誠氏

ティアンドトラスト株式会社
常務取締役

1989年、エス・イー・ラボ入社。その後、1993年にティアンドトラストに入社。システム/38 から IBM i まで、さまざまな開発プロジェクトに参加。またAS/400 、IBM i の機能拡張に伴い、他プラットフォームとの連携機能開発も手掛ける。IBM i 関連の多彩な教育コンテンツの作成や研修、セミナーなども担当。2021年6月から現職。

 

[i Magazine・IS magazine]

 

More Posts