[インタビュー]
「今こそアプリケーションのモダナイズを!」米レッドハットのJBoss責任者にAPサーバーの役割を聞く
2012年11月6日(火)IT Leaders編集部
企業情報システムに欠かせないミドルウェアと言えば、データベース管理システム(DBMS)とアプリケーション(AP)サーバーが双璧だろう。しかしDBMSはともかく、APサーバーが単独で語られるケースは少なくなった。クラウドやビッグデータに関心が集中する中で業務アプリケーションへの関心が相対的に低くなったこと、独立系のベンダーが減ったこと、2大商用ブランドと言えるWeb SphereがPure Systemsに、WebLogicがExalogicに、それぞれ中核ソフトとして組み込まれ、ハード一体で語られるようになったこと、などがあるようだ。
そんな中、米レッドハットがオープンソースのAPサーバー「JBoss」を着々と強化している。メッセージベースのシステム連携機能に強みを持つ米Fuse Sourceの買収と技術の取り込み、スペインPolymitaの買収によるBPM機能の拡充など、である。そこにはどんな狙いや見通しがあるのか、あるいは(IBMやオラクルのように)ハードを持たないがゆえの、ある種の苦し紛れの行動なのか?そもそも今日の企業情報システムにおけるAPサーバーの役割は何か?JBossの責任者を務めるクレイグ・ムジラ同社副社長ゼネラルマネジャーに聞いた。
同氏は「企業情報システムは、モバイル対応やクラウドへのシフト、ビッグデータのハンドリングなど急激な変化に直面している。対応するには既存アプリケーションのモダナイゼーション(近代化)が必要だ。その手段の中核がAPサーバーのJBoss。JBossのすべての機能強化は、そのためにある」と語る。以下、同氏との一問一答を示す。
──JBossのようなミドルウェアに求められる現在の要件は何だと考えるか?
最も重要なことの1つが、既存アプリケーションのモダナイゼーションだ。好例がiPhoneやアンドロイド端末などのモバイルデバイス対応だろう。単にユーザーインタフェースの話ではなく、バックエンド側のデータベースとモバイルの間でデータ共有を実現しなければならない。その際、セキュリティ要求を満たしながら、バックエンドのサービスのうち、モバイルユーザーが使いたいものを使えるようにする必要がある。これはAPサーバーの役割の1つだ。
モバイル、クラウド、ビッグデータ対応にはAPサーバーが必須
──JBossを使えば、すでにモバイル連携は可能になっている?
現時点ではノーだ。しかし「AeroGear(aerogear.org)」というモバイル連携のOSSライブラリを開発するプロジェクトがある。これはJBossコミュニティのプロジェクトで、当社がスポンサードして開発を進めている。このライブラリを介して、トランザクション処理やDBへのアクセスなど、モバイルからバックエンドのサービスを連携利用できるようになる。来年にはAeroGearを製品化する予定だ。
先ほどの要件の話に戻るが、対応が必要なのはモバイルだけではない。ビッグデータの領域では、Hadoopが関心を集めている。それを既存システムと連携させなければならない。クラウドの流れもある。オンプミスのアプリケーションとクラウド上のそれを連携させたり、マルチテナントのサポートも必要になる(図1)。
──なるほど。JBossの構成要素に「Data Grid」というインメモリー型のキーバリュー型のデータベース(DB)や、複数の物理DBから仮想的な論理データモデルを作成してアクセス可能にする「Enterprise Data Services Platform(EDSP)」といったモジュールが入っているのは、そのためか?
その通りだ。例えばEDSPを使えば、JBossのアプリはクエリーを発行するだけで複数のDBからデータを持ってくることができる。ここでデータの複製が不要である点に注目して欲しい。例えば外部のクラウド上で稼働するアプリから、オンプレミスのサーバー上のDBにアクセスするとしよう。JBossを使っていればデータを複製してクラウドに持って行く必要がないので、セキュリティポリシーでデータの持ち出しを禁止している場合にも対応できる。
──しかし本来、J2EEの実行環境であるJBossに、データ関連機能を取り込むような方針は、APサーバーの複雑性、そして理解しにくさを増大させてしまわないか。実際、DB製品を別ブランドで持つIBMやオラクルのAPサーバーはそうなっていない。
確かにそういう面はある。JBossにデータサービスを取り込むのは我々にとってチャレンジであり、ユーザーの理解を進める必要がある。しかし、それはデータサービスに限らない。JBossはJavaのAPサーバーとして知られるが、現在は色々な機能を備えている。今後、エンタープライズ・ミドルウェアとして必要な機能をすべて包含するリファレンスアーキテクチャにしていきたいと考えている(図2)。そうする大きな理由の1つが、オペレーションとデータ分析が融合する方向にシステムが向かうことだ。
──それはトランザクション処理を実行中にリアルタイムで過去のデータを分析し、処理に反映させる「オペレーショナルアナリティックス」と呼ばれるような処理形態のことか?
そうだ。トランザクションの内容や分析結果から、BPM(ビジネスプロセスマネジメント)管理)を通じて人に指示を出すこともできる。私はこれを「データドリブン(駆動)」と呼んでいる。分析機能には、例えばOSSのBIツール「Pentaho」がある。こうしたツールを使うことによって、スマートグリッドの制御などに使われるCEP(複合イベント処理)も実行可能だ。データのストリームに対してイベントを生成、実行できる。
「IBMやオラクルのやり方は、1980年代に戻ったかのようだ」
──そのような処理には性能が要求されるので、IBMやオラクルはハードウェアを一体にした垂直統合のソリューションに向かっている面がある。Red Hatはどうか。
我々は、そうはしない。Oracleは今ではハードウェアの会社になったし、IBMは最初からそうだ。彼らはハードで、顧客をロックインをしようとしているかに見える。まるで1985年頃に戻ったかのようだ。これに対し我々は顧客に選択肢を提供し、ハードを自分で選べるようにする。
もちろんJBossや、その一製品であるDataGridに適したハードを提供する必要はあるだろう。しかしそれはハードベンダーの仕事であり、実際に米HPとは1年前からそれをやっている。日本では「アプリケーションサーバー高速化ソリューション」という名称で、当社のソフトウェアと検証済みのハードウェアをパックにして提供している。
──最初の話、モダナイゼーションについて、もう少し聞きたい。スマートデバイス対応などの前に、複雑化したシステム連携を整理し、疎結合化する必要があるという考えについてはどうか?
まったくその通りだし、それこそがJBossの重要な役割だと思う。疎結合というのは、基本的には独立したサービスを組み合わせてシステムを作ることを指す。JBossはSOAによるシステム連携基盤であり、サービスの連携の仕組みや各種データの変換機能など様々なサービスを作るフレームワークを提供している。これを使えば既存のロジックやデータを再利用しながら、モダナイゼーションを実現できるわけだ。先ほどのJBoss Enterprise Data Services Platformを既存システムに使えば、データ周りの疎結合化が可能になる。
JBossを使ったモダナイゼーションはすでに、SAP ERPやOracle EBSのユーザーにも広く利用されている。ERPと同じベンダーのミドルウエアを使わなければならないということはないし、JBossには例えばSAP用のアダプタがあり、SAPとパートナーシップも結んでいる。事実、日産自動車の会計システムはSAP ERPだが、ミドルウェアにはJBossを使ってもらっている。
Polymitaの買収でBPMのフルスィートを整えた
──最後に、最近の買収、具体的にはFuse Source、Polymitaの買収によってJBossの何が強化されたのかを聞きたい。
Fuse Sourceは、ApacheのCamelなどEIP(エンタープライズ・インテグレーション・パターンズ)に携わるリーダークラスのエンジニアが多数働いている企業だ。システム同士を連携させる様々なソフト、例えばApache ServiceMix, Apache ActiveMQ, Apache CXF, and Apache Camelを手がけている。このうちActiveMQはIBMのWebSphereMQの代替になり得るもので、オープンソースのメッセージベース連携ではもっともポピュラーな製品である。まだ買収してまもないので、現在のJBossには何も関連していないが、次世代のJBoss6.0には同社の技術を入れていくし、これでJBossは最新のシステム連携基盤になるし、ActiveMQに関しては単独の製品として提供する計画もある(図3)。
一方、Polymitaは、BPM製品を提供するスペインの企業だ。JBossにはすでにDroolsというルールエンジン機能があり、JBPMというBPMN2.0をサポートするツールもある。Polymitaはビジネスプロセスのモデリング、監視(ビジネス・アクティビティ・モニタリング=BAM)、シミュレーションを実行するツールであり、これで完全なBPMのソリューションを提供できるようになった。
──JBossが備える既存のBPMツールは不十分だった?
あまり分かりやすい話ではないかも知れないが(笑)、JBPMはビジネスプロセス開発にEclipseという開発環境が必要だった。Polymitaはブラウザベースなので、より簡単に使える。IBMのBPM製品に「Lombardi」があるが、それと同等と考えてもらえばいい。同様にこれまでBAMの機能はなかったが、これも今回の買収で加わった。これまで以上に包括的なソリューションにできたことに大きな意味がある。