IBM i のウンチクを語ろう
~ その76:IBM i でもDX、IBM i だからこそDX
皆さん、こんにちは。2018年9月に経済産業省が「DXレポート」を公開して以来、IT業界のテーマがDX一色に塗りつぶされている、と表現するのはちょっと大袈裟かもしれません。ですがあらゆるIT関連の製品やサービスがDXを視野に入れ、原義を離れて思い思いのDX定義が生まれる程に世間に広く浸透している、と言っても間違いではないでしょう。
元々は「INFORMATION TECHNOLOGY AND THE GOOD LIFE」(Erik Stolterman、Anna Croon Fors)という論文における、「the changes that the digital technology causes or influences in all aspects of human life」という文章がDX定義だとされています。直訳すると「人々の生活のあらゆる側面において、デジタル技術が引き起こしたり影響したりする変化」、総務省の平成30年度版情報通信白書では、これを「ICTの浸透が人々の生活をあらゆる面でより良い方向に変化させる」こととして紹介しています。ちなみにICTのCはCommunication(通信)を意味しています。ITとほぼ同義の用語であり、OECD各国ではICTの方を標準的に使用しています。今さらDXの原典を気に掛ける人はあまりいらっしゃらないと思いますが、巷で語られている定義とは大分違った印象がありますね。新しい言葉が市民権を得る、もしくはバズワード化するというのはこういうことなのでしょうか。私個人的には「ITを活かして会社のビジネスや風土を変えること」だと勝手に解釈することにしております。数行にわたる格調高い定義文を目にすることもありますが、聞いただけではなかなか憶えきれませんのでね。
今やDXに関してIBM i のコミュニティが求めるのは、言葉の定義とか方法論ではなく事例のようです。理屈の方は世間に溢れていますし、解釈の違いを巡ってあれこれ議論したところで何も産まれません。製品やサービスについても、ありとあらゆるものがDXに紐づけられている有様なので、「DX推進を支援するための」と枕詞を付けたところで、注目を集めるわけでもありません。個々の具体的な事例については、弊社のセミナーである「DXウェビナー」や「IBM i Forum」において、これまでに何件か取り上げてまいりました。このコラムでは私自身が見聞きし、時にこれらセミナー準備のためにお客様にインタビューを実施してきた経験に基づいて、IBM i のDXにおける特徴を述べてみたいと思います。なお今後事例件数が増えるにつれて、傾向は変化するかも知れないことを予めお断りしておきます。
DXは本来ビジネス用語ですので、各企業の風土・ビジネスがどのように変革されたのかが最大の関心事であるべきですし、経産省が選定した「DX銘柄」の各ケースを見てもインフラの話はまず登場しません。ところが私達の場合は、どうしても「IBM i の」という注釈付きで語ることを求められます。IBM i ないしRPGプログラムとDXとは相容れない、または相性が悪い、という印象が原因の一つだと考えられます。先入観と言っても良いかもしれません。多くのお客様ではRPG/400(RPGⅢ)で記述された多数のプログラムが現役稼働しています。いかに優れたビジネス・モデルの着想を得たところで、できることならば既存の基幹業務アプリケーションを活用したいところです。さもなければ、IBM i からの脱却またはプログラムの変換という膨大な作業に腹を据えて取り組まなくてはなりませんが、失敗してしまうリスクを伴うのが現実です。IBM i ないし古いRPGプログラムを活かしたDXは成立し得るのか、という問題意識は結構根強いというわけです。そして仮にIBM i やRPG資産を維持するにしても、開発者の確保という課題も将来控えています。そのためのヒントを得たいと考えるのは当然と言えます。
IBM i のDX事例に共通に見られる傾向はクラウドの活用です。既存の基幹業務アプリケーション全体を、オンプレミスからクラウドにリフトするようなケースを言っているのではありません。これは単なるインフラの引っ越しとでも言うべきものです。
DXのためのクラウド活用には概ね二通りのパターンがあるようです。一つはオンプレミスの基幹アプリケーションをそのままに、新たにクラウド上にある各種のサービスと連携するものです。現行システムの資産継承性や安定性はそのまま活かしながらも、組み合わせの妙によって新たな価値を産み出すことを狙います。連携先はそれこそ無限にあって、クラウド上に配置した自社開発アプリケーションだったり、第三者が提供する各種のアプリケーションだったりすることもあります。IBM i はサーバーにもクライアントにもなる可能性があります。大袈裟に表現するならば、既存アプリケーションの価値が無限に拡がります。
もう一つは基幹アプリの中でも各企業の独自性が希薄な領域、例えば総務系や業界共通のアプリケーションを、オンプレミスのシステムからクラウドに切り出すケースです。既にパッケージ・ソフトウェアが利用されているケースもあるので、こちらの方は必ずしも多くはないように思います。DXレポートでは「協調領域」であるとしてコスト削減の対象と位置付けており、ここで産み出された投資余力を、自社の独自性をサポートする「競争領域」と呼ばれるアプリケーション強化のために投資するべきとしています。DXそのものと言うよりも、その準備段階とでも表現するのが妥当かもしれません。
自社開発ももう一つのキーワードだと言えるでしょう。DXを志向されるお客様は、アプリケーションの柔軟性を維持し、新たな要件に迅速に対処できる体制を維持しようという意識が強いようです。他社のサポートを得ることはあるにしても、数なくとも開発主導権は自社内に持っておく、という傾向を感じます。DXレポートにおいても、変化し続けられる状態を維持するためにはアジャイルな、すなわち柔軟性ある開発体制を社内に構築するべきとしています。
上記いずれのパターンにおいても、RPGプログラムとクラウドとは連携できることが必須の要件です。連携を実現するためのプログラムにはオープン性が求められること、IBM i 上で稼働するそのような言語と言えばJavaが想起される傾向があることから、「RPG ⇔ Java ⇔ クラウド」といった連携を想定するケースが多いようです。そしてREST API を通じてJavaとクラウド・サービスを接続します。RESTはインターネット環境におけるアプリケーション間連携の業界標準インターフェースであり、サーバーを問わないのも特徴です。
ここでRPGにはRPG/400(RPGⅢ)、ILE RPG(RPGⅣ)、FF RPG(フリーフォームRPG、ILE RPGの機能強化されたもの)とざっと3つの世代が存在すること、Javaと連携するためには最も古いRPG/400ではなくILE RPG(FF RPGを含む・以下同様)の方が適していること、を思い出す必要があります。当初の想定は「ILE RPG ⇔ Java ⇔ クラウド」、またはRPG/400とILE RPGが連携できる事を利用して「RPG/400 ⇔ ILE RPG ⇔ Java ⇔ クラウド」に書き換えられなければなりません。このままアプリケーション開発を進めることは不可能ではないと思いますし、状況次第ではそうした方が望ましいケースもあるでしょう。ですがもっとシンプルな方法もあります。
わざわざ他の言語を持ち込むまでもなく、ILE RPGであればREST APIを活かしたアプリケーションを開発できます。すなわち、RPGのスキルだけでもクラウド連携を達成できるということです。すなわち先ほどの図式からJavaが排除されて、「RPG/400 ⇔ ILE RPG ⇔ クラウド」か「ILE RPG ⇔ クラウド」とすることも可能になります。
IBMのサイトによると、REST APIのサポートはIBM i バージョン7.1以降とありますが、正直なところ私自身は当初あまり注目しておりませんでした。その後IBM i バージョン7.4が登場した頃には、REST APIの重要性ゆえに機能強化がなされた旨を市場に向けて訴求したつもりではあったのですが、その理解を十分に浸透させることはできていなかったようです。JavaによるRESTアプリケーションという方向で開発に着手し、その複雑さに直面し再度あらためて調査した結果、ILE RPGに舵を切り直したお客様もいらっしゃいます。
RPG/400の経験はあってもILE RPGのスキルが無ければ、不安を覚える方もいらっしゃるでしょう。実際にそのような事例があったのですが、業務ロジックを記述するわけではないので、サンプル・プログラムさえあれば、RPG/400プログラマの方であってもそれほど大きな困難に直面することなく目的を達成した事例があります。もしくは既存RPG/400の改修はベテランが担当し、新規のILE RPG特にFF RPGによる開発は若手が担当し、両者が連携する、というやり方を採用したケースもあります。FF RPGであれば、若手の方でも抵抗なく学習できることを活かしています。新旧テクノロジーの共存のみならず、異なる年齢層技術者の共存でもあります。
ILE RPGによるREST APIサポートは、既存の基幹業務アプリケーションを活かしながらクラウド連携を達成するための、すなわちIBM i を活かしたDXを推進する上での要となるテクノロジーと言って良いでしょう。事例にあったような回り道を避けるためにも、ILE RPGによるRESTアプリケーション開発という選択肢を、是非視野に入れておいていただきたいと思います。もし実装するにあたって詳しく知りたい方がいらっしゃいましたら、ベル・データでもB-Core API-HUBというサービスでご支援させていただいておりますので、遠慮無くお問い合わせください。
ではまた。