IBM i のウンチクを語ろう
~ その13:オープンって何?-4
皆さん、こんにちは。これまでオープン・システムと、それ以外のプロプライエタリ・システムそれぞれの、メリットとデメリットを述べてまいりました。現在においても旧来からのプロプライエタリ・システムが存在するのは、オープン・システムにはないメリットをユーザーに提供できるからである事は忘れないでいただきたいポイントです。だからと言って、プロプライエタリ・システムが全て、というのも現実的ではありません。そこで今回は、最適化されたシステムとはどのようなものになるのか、というテーマを考えてみたいと思います。
構築されるべきシステムは、近年大きく変化してきています。従来のシステムというと、その目的は生産管理・販売管理や人事・給与・経理など、企業の経済活動そのものである基幹業務をサポートすることにありました。人手を置き換えることで、事務処理の正確性を維持しながら、効率を高めようというわけです。この傾向は1940年代とされるコンピュータの誕生以来長い間続きましたが、1990年代にGUI化、2000年代になるとWeb化が求められるようになり、さらにモバイル化、IOT対応、データ活用(アナリティクス)から、AIとの連携に至るまで、用途は拡大の一途を辿りながら、その展開のスピードも上がっています。それまで内向き志向だったシステムは、ビジネスを積極的に拡大・推進するための原動力となり、他社に対する差別化要因としての役割を担うようになります。
ここで従来型の基幹業務を支えるアプリケーションをSoR(Systems of Record)、その後に登場した新しいタイプをSoE(Systems of Engagement: 直訳すると「連携業務」といったところでしょうか)と呼んでいることは、ご存知のとおりです。そして最先端技術はSoEにおいて積極的に取り込まれてゆく傾向があり、素人目に華やかに映るのに対して、SoRの方は地味であることは否めません。だからと言って企業のシステムの全てがSoEだけで構築されているわけではなく、基盤としてのSoR無くしては成立しないことに気を付ける必要があります。車の両輪のように両者は必要なのです。
さて、これまで説明の都合上、敢えて用語の定義を曖昧なままに話を進めてきましたが、ここであらためて明確にしておきましょう。それはオープン性を語る時に、アプリケーションを話題にしているのか、それ以外の「プラットフォーム」(ハードウェアやOS、さらにその上で稼動するミドルウェア製品群の全体)を話題にしているのか、という点を意識する必要があるという事です。このカラムでは、SoRとかSoEはアプリケーションを話題にしているのに対して、プロプライエタリ・システムとかオープン・システムはプラットフォームを指すものとします。そして、SoRであれSoEであれ、これらをプロプライエタリ、オープンいずれのタイプのシステム上でも稼動させる事は可能ですし、実績もあります。一言で言うと「何でもあり」なのですが、現実的には向き・不向きがあります。
SoRは多くの人が関与する企業の経済活動そのものの行為、すなわち仕事のやり方・慣習ですので、それを支えるアプリケーションも頻繁に大きな変化が求められることはありません。むしろ小刻みな進化・修正を繰り返しながら、長期的に利用される傾向があります。実情を把握するのはなかなか困難なのですが、過去の日経ITProの記事において、基幹系システム(アプリケーション)の寿命は14.6年にも達し、さらに延びる傾向にあることが述べられています。限られているIT予算をどこに振り向けるのかという、企業としての方針にもよるのでしょう。一方で、特にハードウェア耐用年数やメーカーとしての保守期間は無限ではありませんので、アプリケーションはそのままであったとしても、いつかプラットフォームを置き換えるタイミングがやって来ます。リースの期間などを考慮すると、このサイクルは典型的には5ないし7年間といったところでしょうか。この置換サイクルを通じて、長寿命のアプリケーション資産を保護し継承することができれば、もっと言うと手付かずのままに移行できれば、ユーザーの作業負担を大幅に軽減することが可能になります。
一方のSoEはどうでしょうか。こちらの方の統計値は見たことがありませんので、何とも言い難いのですが、短ければ寿命数ヶ月ということもあるのではないでしょうか。新しいテクノロジーが登場すると、何らかの手段でそれをビジネスに活かせないか、という試みがなされ、変革が進みます。そこまでいかなくても、例えばエンドユーザーが自社のウェブサイトを頻繁に訪れるよう魅力的なものにするために、少なくとも見栄えだけでも刷新するでしょう。 採用されるプログラミング言語も一定ではなく、最近では大学の授業で教える言語にも変化があるようです。例えばWebアプリケーションの開発というと、かつては誰もがJavaを思い浮かべました。何年も前から米国の大学で最初に教える言語はPythonになり、そのトレンドは日本にも押し寄せているようです。個人的なことで恐縮ですが、筆者が授業を受け持っていた大学の理系学部では、最初に教えるプログラミング言語は、2015年までの新入学生にはJavaであったのに対して、2016年からはPythonに切り替えたところがあります。最初に学ぶのがJavaだと比較的難易度が高いのに対して、シンプルでありながら応用も効く点が評価されているそうです。だからと言ってPythonが万能とされているわけでもなく、近いうちに別の言語が主役になるかも知れません。 いずれにせよアプリケーションのテクノロジーや寿命は短い傾向があるので、マシン置換時においてもそのまま使い続けようという判断にはなりにくいのです。
アプリケーションに関しては、一見地味ではあるものの、長期使用に耐えなければならないSoRに対して、最新テクノロジーが取り込まれる傾向があるが、比較的短期間の使用に耐えれば十分なSoE、という具合に対比されます。そして、プラットフォームについては、独自環境であるために長期利用をサポートし易いプロプライエタリ・システム(SoR)と、新しいテクノロジーを取り込み易いオープン・システム(SoE)という図式が成り立ちます。
自動車に例えるならば、高速走行に適したガソリン車と低速走行の電気自動車、という二つのテクノロジーが存在する中で、電気自動車は全ての点においてガソリン車に勝るわけではありませんし、その逆も成り立ちません。そしてそれぞれのテクノロジーのメリットをうまく組み合わせたハイブリッド・カーが第三の選択肢として登場し、私達はその価値を認めるが故に、多少コストが高くなるとしてもこれを買い求めているわけです。SoRのプロプライエタリ・システムと、SoEのオープン・システムの関係も同様です。将来はともかく、少なくとも現代においては「ITのハイブリッド・カー」を目指すのが最善の選択肢だと言えそうです。
次回はこの点をもう少し考えてみる予定です。