ソフトウェア20年間の歴史とミドルウェア
――早速ですが、ミドルウェアの世界は現在どのような状況にあるのでしょうか? 製品としてはかなり成熟の進んだ分野であるため、例えば、最新の機能などを見ていても非常に複雑化している印象を受けます。
最近、お客様から非常に多く寄せられる質問です。結論から言うと、ミドルウェアは大きな転換点に立っています。個別の機能を紹介するよりも、ソフトウェアの全体像のどこにマッピングされるのかをお話しした方が最新の動向も理解しやすいと思いますので、まずは、この20年間の概況を振り返るところから始めましょう。
1990年代前半は、クライアント・サーバーの大波がIT業界を被い、さまざまなプロセス間、システム間連携技術が群雄割拠した時代と言えます。多くのベンダーが独自のアイディアを提唱し、業界の主導権を巡ってしのぎを削った。その中で、あるアイディアは生き残り、あるアイディアは淘汰されました。
IBMもそのベンダーの一つとして、失敗もあれば成功もあったわけですが、OMG(Object Management Group)のCORBA (Common Object Request Broker Architecture)は、現在のJava EEを支える技術として今でも現役で活用されています。CORBAは、さまざまなアプリケーションを異なるベンダープラットフォーム環境下で連携させる機能を持ち、現在でも多くのミッションクリティカルなシステムがこの仕組みの下で稼働しています。
さて、1990年代中盤にインターネットの商用化が開始されると、Web上でさまざまなサービスを展開するニーズが生まれます。1990年代後半から2000年代前半はWebシステムを前提とした標準化の時代と言えます。インターネット上で様々なシステムが稼働すると、必然的に連携のニーズが生まれます。そこで、Webシステムがよりスムーズに連携できるようにするために、ベンダーが協力し合って統一した標準を作る動きが出てきます。
例えば、XMLを利用してデータをやりとりするために、SOAP (Simple Object Access Protocol)が生まれ、その後、SOA(Service Oriented Architecture)を実現するベース技術になっていきます。アプリケーションを標準技術上で稼働させることで、多様なビジネス用途に応えるシステムを素早く作り上げるためにミドルウェアは重要な役割を果たします。要素技術の標準化が進む一方で、各社はミドルウェアの性能の向上に努めました。
この標準化の時代にあって、IBMは標準化の策定やオープンソースソフトウェアの開発にもっとも貢献した企業の一つといえるでしょう。例えば、Javaを使ったシステム開発では、デファクトスタンダードとなったEclipse (統合開発環境)が生まれたのもこの頃です。
――なるほど。そうした流れを受けて、現在はどのような状況にあるのでしょうか?
ミドルウェアは、今やOSと同じような存在になりつつあります。コモディティ化しつつあるといってもいいでしょう。もちろん、それはミドルウェアの価値が低下したとか、存在感が薄れたという意味ではありません。現在、ミドルウェアを使用しないシステムはほとんどありません。重要だからこそ、存在そのものが所与の前提、当然のこととして認識されるようになったということです。
ハードウェア、OSと進んできた標準化とコモディティ化の流れがミドルウェアにまで及び、今やIT担当者の視点はより上位のビジネスレイヤーに移っています。ITがビジネスに直結する現在の環境にあって、ユーザー企業が求めているもの。それは複雑なビジネス要件を満たし、安定的に稼働するシステムを素早く構築すること。既存のIT資産を有効に活用しつつ、ビジネスの変化にも迅速に対応させる柔軟性を持たせることです。
IBMのミドルウェアの歴史を振り返ってみると、オブジェクト指向に注目した1990年代、サービス志向に力を注いだ2000年代という時を辿ってきています。この間に培ってきた基盤技術があるからこそ、ビジネスを強固、かつ柔軟に支えることができるのです。
ビジネスとITのゴールが融合しはじめた2000年代後半
――これまでのITの進歩が次世代のITを可能にしてきた。そして、次世代のITが新たな可能性を提供してきた。
はい。しかし、最近ではその視点も変わってきました。例えば、IBMが掲げる「Smarter Planet」というコンセプト。そのゴールは社会が抱える問題の解決です。例えば、交通渋滞や環境問題という現実の課題の解決がITのゴールでもある。長らく乖離していたビジネスとITのゴールがここにきて一体化したと言えるでしょう。
このような背景を受けて、IBMのソフトウェア事業では、より業務領域に踏み込んだソリューションの展開を行っています。例えば、近年IBMでは積極的なM&Aを行っていますが、その内訳を見ると、業務特化型ソリューションが占める割合が非常に多いことにお気づきになるかと思います。いずれも、各分野で非常に高い評価を受けている企業ばかりです。
さらに特徴的なのが、OpenPages(リスク管理)、UNICA・Coremetrics(マーケティングマネージメント)、Sterling Commerce (サプライチェーン)などを見てもわかるとおり、近年買収した業務特化型ソリューションが全てJava EEをベースとしていることです。これは、2000年代前半に進んだ標準化の流れの中を受けて、優れたソフトウェア製品が生まれたことを示唆しています。
また、このほど業界特化型のフレームワークの提供を開始しました。これまでの実績を生かして、ソフトウェアチーム、サービスチーム、サーバーチーム、そしてパートナー企業が総力を投入し、業界ごとにシステムの基本的なパターンを策定。そこにIBMが持つ製品や技術をマッピングしています。ユーザー企業が置かれた環境にフィットするソリューションが既にあれば、それを適用することで、システムの立ち上げに要する時間や手間を極小化することができるという仕組みです。
――ハードウェア、OS、ミドルウェアの標準化が進み、製品としても成熟してきた。それは、コモディティ化という側面もあるが、ユーザーにとってはビジネスの部分により注力できるようになったという点で、非常に大きな変化だと言えますね。
はい。さらに言うと、ソフトウェア開発における力点がビジネス、もしくはソリューションレイヤーに移ったということは、当然、ミドルウェア以下のレイヤーを自分達で一から構築することの必然性は薄くなります。従来は、自分達が好きなハードウェア、OS、ミドルウェアを組み合わせられることがユーザーの選択の権利でした。しかし、ハードウェアの差別化要素が少なくなり、なおかつ迅速な変化を求められる現在にあっては、ハードウェアの導入からミドルウェアの初期設定までに要する時間は煩わしいものとなりました。かつてのオプションは、今やコストになったのです。
それらを解決するための手段として、ミドルウェア以下のレイヤーを詰め込んだアプライアンスへのニーズ、意義が高まると考えています。例えば、IBMではDataPowerやNetezzaなど、多数のアプライアンス製品をリリースしています。さらに、エンタープライズ・クラウドを迅速に構築する製品なども提供していく予定です。アプライアンス製品によって、ITの俊敏性もより高まっていく。そんな流れが今後はさらに加速していくと思います。
グローバル化によって非機能要件の差が問われるようになる
――今までのお話を総合すると、ミドルウェアの差別化の要素は限りなく小さくなっているようにも思われますが、いかがでしょうか?
確かに、ミドルウェアは標準化、コモディティ化が進んだことは事実です。ただし、それは改良の余地が残されていないという意味ではありません。ミドルウェアの性能がシステム全体の質を大きく左右するという点は今も昔も変わりません。
例えば、アプリケーション・サーバーで考えてみると、各社ともこれまでJava EE対応製品のリリースを続けてきています。実際、機能だけを見ると、どの製品もそれほど大きな違いがあるようには思えないかもしれません。しかし、仕様としてJava EEに対応していたとしても、実装の段階でいわゆる「非機能要件」という形の差が生じてしまうものです。
今後、企業がグローバルに事業を展開していくとなれば、この非機能要件はさらに重要になります。例えば、世界各地の企業システムと相互に接続するようになれば、これまで8時間だけ動かせば良かったシステムを、24時間絶え間なく稼働させなければならないかもしれない。その時に非機能要件が持つ重要性が増すことは想像に難くないでしょう。
――具体的には、今後、どのような非機能要件が重要になるのでしょうか? それらが製品によってどのような差異として現われるのでしょうか?
トランザクション、ワークロードバランス、ハイアベラビリティ、セキュリティーなどの非機能要件の充実は欠かせないでしょうし、自動化、標準化、仮想化などのクラウドを実現する機能も求められてくるでしょう。例えば、IBMではアプリケーション・サーバーとしてWebSphere Application Server(WAS)を提供しています。もちろん、多くの企業でも同様の製品を出していますが、WASは機能だけでなく非機能要件でも絶対的な自信を持っています。
例えば、IBMがメインフレームの時代から培ってきたトランザクション機能をSOA環境でも利用できるように発展させています。一見すると、Webサービスでトランザクション機能が必要かと考える方もいらっしゃるかもしれません。しかし、SOAをベースとしたサービスをWeb上で提供することを考えた場合にはどうでしょう。今後、インターネット環境下でのサービスやシステムの数が増加した場合、複数のサービスを一つのトランザクションスコープで処理するニーズが出てくることは容易に考えられます。
さらに、先ほど、IBMが業務向けソリューションのポートフォリオを積極的に拡大していることをお話ししましたが、それらはWAS上でパフォーマンスをより発揮できるようチューニングを施しています。もちろん、お客様のご要望次第ですので、他社のミドルウェアでも動くようになっていますが、WASでは、より厳しい性能要求にも応えられるというわけです。
この6月にはWAS V8をリリース予定です。新バージョンでは、開発生産性を高めるためのJava EE 6への対応と性能、運用管理、ハイパーバイザ対応が更に進化しています。
――可用性、信頼性といった非機能要件の充実はグローバル展開している企業のシステムにおいて非常に重要なことですね。ところで、ミドルウェアといえば、最近ではHadoopやストリームデータ処理といった新しい技術が登場していますね。
確かに、最近ではビッグデータと呼ばれる大量のデータを処理するために、インメモリ処理やストリーミング技術など利用するエクストリーム・トランザクション処理(XTP)にも注目が集まるようになりました。しかし、すべての処理がこれらに移っていくわけではありません。非常に有用な技術であることは間違いありませんが、スピードやデータ量を優先するためにXTPではBASEトランザクションというポリシーを採用しています。これはデータの一貫性を保障する従来型トランザクション処理とは大きく異なるものです。
むしろ、従来型のトランザクションとBASEトランザクションは相互補完的な関係にあると考えるべきでしょう。要件に応じて最適な技術を選択することが重要になります。CICS/IMSで制御されるトランザクション処理はこれからも進化し続けます。クリティカルな業務と迅速なデータ処理が求められる業務が今後も併存していく以上、トランザクション処理方法も併存していくわけです。
とはいえ、メインフレームで培った技術を存分に取り入れたWASもXA・OTS準拠に加えてWebサービストランザクションやコンペンセーションに代表される新しい技術を既に組み込んでいます。Java EEファンデーションとしてのWASは他のIBMソフトウェア製品やM&Aで買収した業務特化型ソリューションの基盤として今後も進化を続けることになるでしょう。
――ありがとうございました。
日本アイ・ビー・エム株式会社 ソフトウェア事業 技術理事(IBMディスティングイッシュト・エンジニア)。1990年代中盤よりSOM/DSOMやOpenDocと呼ばれた分散オブジェクト技術の普及、プロダクションシステムへの適用の取り組みをスタートし、製造・通信・金融セクターなどでの大規模異機種CORBAプロジェクトに従事する。その後J2EE技術による金融系ミッションクリティカル・プロジェクトや、公益系および製造系のWebサービス本番プロジェクトのアーキテクチャ設計を担当し、現在はSmartGridのプロジェクトに従事。2008年に技術理事に任命され現在に至る。
・ 日本アイ・ビー・エム株式会社(http://www.ibm.com/jp/ja/)