メニューボタン
IBMi海外記事2021.08.25

次世代のIBM i アプリケーションに求められるもの

Alex Woodie 著

RPGおよびCOBOLアプリケーションは、今後どうなって行くのでしょうか。IBM i チーフ アーキテクトのSteve Will氏の思う通りになるのだとしたら、その根幹は、必要に応じてクラウドで稼働できる「次世代」アプリケーションと彼が呼んでいるものへと進化して行くのでしょう。

「クライアントがグリーン スクリーンからモバイル インターフェースやWebインターフェースへと移行する支援の取り組みには、今はもう重点が置かれなくなっています」と、Will氏は、先日の COMMON NAViGATEで行った「 IBM i PLUS Cloud is the Answer(IBM i とクラウドの組み合わせが解決策)」と題するセッションで述べています。「そこへ向かうべきクライアントやアプリケーションは、まだまだあります。それは理解しています。しかし、今、そこで立ち止まってはなりません。次の世代に向けての準備をしなければならないのです。」

では、次世代アプリケーションというのは、どのようなものなのでしょうか。Will氏のプレゼンテーションによれば、それを定義する特徴がいくつかあるようです。おそらく一番重要なのは、次世代アプリケーションは、モノリシック(巨大で一体的)なコードの代わりに、互いに独立して存在し得る、より小さなコードの塊(つまり、モジュール)を活用するということです。

「モノリシックな構造を前提に構築された古いレガシー コードを、モジュール化して行く必要があるということです」とWill氏は述べます。「お分かりでしょう。もう20年も前から、そうすることを勧めてきました。モジュール化することが必要だということです。ILEが生み出されたのは、そのためなのです。」

次世代アプリケーションが、RPGやCOBOLで書かれることはまだあります。これらの言語で定義されているビジネス ロジックは、IBM i プラットフォームに実に深く結び付けられているからです(特に、RPGは、このプラットフォームから離れては存在しません)。次世代アプリケーションは、ILE言語に限られるわけではありませんが、次世代のRPGまたはCOBOLアプリケーションは、他の言語で書かれた他の次世代アプリケーションとやり取りできなければなりません。

次世代アプリケーションを構成する様々なモジュールは、どのような機能を実行するために呼び出されるにしても、その機能に最も適した言語で書かれるとWill氏は述べています。

「コードをモジュール化する際には、個々のモジュールを、それぞれが最も得意なことに特化させる必要があります」と彼は述べます。「データベース アクセスを行うコードは、おそらくRPGかSQLで書いているのではないでしょうか。それを行うのにそれらの言語が最適だからです。しかし、ユーザー インターフェースやクラウドとのやり取りを行うコードであれば、おそらく、そうした目的向きの言語で書くことになるでしょう。Node.jsやPHPは、サービスの連携を実に見事に行います。」

外部アプリケーションと頻繁に通信を行う次世代アプリケーションは、おそらくはAPIを使用してそれらとの通信を行います。組織内で使用されるのがほとんどである次世代アプリケーションも(クラウド上かどうかにかかわらず)、APIを使用することができますが、サービス呼び出しを使用することも可能です。Will氏によれば、これにより、次世代の開発者が納得のいくようにアプリケーションを構成できる自由度が高まるということです。

「IBM i の次世代アプリケーションはモジュール型です。通常、複数のプログラミング言語が混在していて、それぞれが得意とする処理を担当しています。それらは、サービスを提供もすれば、利用もします。そのため、1つのシステム上に留まっているのであれば、それらはAPI呼び出しではなくサービス呼び出しを行っています。」

クラウドは次世代アプリケーションの鍵を握る部分であるとWill氏は見ています。企業のあるIBM i 環境がオンプレミスで稼働しているかクラウドで稼働しているかはあまり重要ではありませんが、次世代アプリケーションのユーザーは、一定の作業の処理のために頻繁にクラウド サービスを利用することになります。

「大事なのは、現在、業務に使用しているアプリケーションの価値、つまり極めて貴重なものを基にして、今日、利用可能なありとあらゆるものとやり取りできる次世代アプリケーションにすることです」と彼は述べます。「それらの多くは、自社のデータ センターの中にあるのでしょう。あるいは、データ センターの外にあるのかもしれません。そのため、IBM i ベースのビジネス データおよびビジネス プロセスに費やした投資を守りつつ、他のどこかからもたらされる価値を付け加えられるようでなければなりません。そして、その「他のどこか」というのは、クラウドであるのかもしれません。」

DevOps、CI/CDなどの分野で行われているような、開発者の間でのより迅速にバージョン更新を行おうとする動きにとっては、次世代アプリケーションへの移行は不可欠な要素です。モノリシックなコードベースを分解して、ビジネス ロジックをより小さなモジュールに再構成するプロセスを始めるにつれて、モダナイゼーション作業には、より速いテンポでのデリバリーが適していることに企業が気付くことも多くなるでしょう。

何より重要なことは、前進し続けることです。歩みを止めるということは、ビジネス アプリケーションにとっては、恐ろしいことなのです。特に、今のように極度に競争的な環境においてはなおのことです。

「モダナイゼーションでは、今の技術から新たな価値を引き出すことによって、その価値を拡張します」とWill氏は述べます。「多くのクライアントが、過去10~15年にわたってユーザー インターフェースのモダナイゼーションに時間を費やしてきました。それによってもたらされる新たな価値はあります。しかし、他のソフトウェアからサービスを受け、以前は行わなかったことを自分のデータで行うことによってモダナイゼーションを実現できる場合もあります。したがって、モダナイゼーションを行うことは、以前からあったものの安定性や価値を維持しながら、市場にある既存の技術から新たな価値を引き出すということなのです。」

あわせて読みたい記事

PAGE TOP