アットマーク・アイティ @IT@IT自分戦略研究所QA@ITイベントカレンダー+ログ
 @IT > SOAのジレンマ:パフォーマンスと標準技術のトレードオフ
 
@IT[FYI] 企画:アットマーク・アイティ 営業企画局
制作:アットマーク・アイティ 編集局

掲載内容有効期限:2004年10月15日

 

SOAのジレンマ
パフォーマンスと標準技術のトレードオフ

 企業内あるいは企業間に分散する多くのアプリケーション(J2EEや.NET、レガシー資産など)に共通のインターフェイスを与え、それらを「サービス」として自在に活用するというSOAのシナリオに異を唱える者はもはや存在しないだろう。主要ベンダの多くがこのコンセプトを採用したことで、サービス指向というアーキテクチャの信頼性は保証されたといえる。そこで次のステップ、つまりSOAの実用化に向かう段階で重要になってくるのは、はたしてSOAは現実のビジネス用途に耐えるパフォーマンスが得られるか、という点である。

   共通データフォーマット「XML」のパフォーマンス問題

 プラットフォームや実装言語の異なるアプリケーションを連携させるには、共通のデータフォーマットにXML、その通信にはSOAPプロトコルを採用することは、SOA実装では暗黙の約束事となっている。つまり、SOAはWebサービス標準化作業で策定された基盤技術を用いるのだが、そこで頭の痛い問題が持ち上がってくる。それはXMLに起因するパフォーマンス問題だ。テキストデータであるXMLをアプリケーション間の共通データフォーマットに採用すると、送受信の際にアプリケーション側でXMLをパースするオーバーヘッドが発生し、サーバ・アプリケーションの負荷を著しく増大させるのだ。

 そしてもう1つの無視できないオーバーヘッドはXMLのセキュリティである。ビジネスデータを扱うSOAでXMLをテキストデータのままネットワークに流すことはあり得ない。SOAではパートナーなどの第三者を中継してデータを転送することもありうるため、SSLのようなネットワーク経路のみのセキュリティ対策では不十分で、データそのものを暗号化し、なおかつデータ改ざんを防ぐ仕組みが必須となる。XMLのセキュリティには暗号化、電子署名と認証、XMLスキーマ検証などが必要とされている。メッセージの送受信時には、非常に負荷の大きいセキュリティ処理を避けてとおれないわけである。

 図1はXMLのセキュリティ処理に要する負荷を図式化したものだ。SOAのシナリオでは複数のサービスを次々に呼び出してビジネスプロセスを実行させると意気込んでいるが、メッセージ送受信ごとにこれだけの負荷が発生することはあまり話題にされていない。

図1 Webサービス仕様に準じたXMLセキュリティの処理負荷
(@IT記事「Webサービス・セキュリティ構築の実践(前編)」より転載)

 先ほど、SOAはWebサービスを利用する「暗黙の約束事」があるといったが、この微妙ないい回しには訳がある。つまりXMLのパフォーマンス問題を回避するため、Java RMIやCORBA、あるいはプロプライエタリなメッセージを使用する余地をSOAでは留保しているのだ。標準技術を守るか、パフォーマンスを優先させるか。SOAのジレンマは今後実用化が進む中で、ますますクローズアップされてくるだろう。

   米ベンチャー企業が着目したSOAパフォーマンスの解決策

 メジャーITベンダがSOA対応製品を市場投入していく一方、米国では新興企業が独自のアイデアでSOAのパフォーマンス問題に切り込んできた。なかでも注目されているのは、XMLデータ変換処理技術で米国特許を取得したDataPower社である。ここでDataPower社の提案するSOAにおけるパフォーマンス問題への提案を紹介しよう。

 DataPower社の主力製品は、独自のデータ変換エンジンを実装した「DataPower XS40 XMLセキュリティ・ゲートウェイ」だ。そのコンセプトを要約すると、オーバーヘッドの大きいXMLのパース、セキュリティ処理、ルーティングやデータ変換などの処理を専用のハードウェアに負担させ、アプリケーション側の負荷を低減しようというものである。SOAを取り込んだ多くのベンダ製品は、これらの処理をアプリケーションで行うアーキテクチャを選択しているが、これではサーバの負荷増大ばかりでなく、アプリケーションへのハードコーディングによる開発負荷、運用管理の複雑化などが避けられない。

図2 DataPower XS40 XMLセキュリティ・ゲートウェイ
双方向のXML/SOAPに対して「XMLファイアウォール機能」「フィルタ、サービス仮想化」「暗号処理(全体およびフィールド):暗号化・復号・電子署名」「データ検証(Validation):XML書式、スキーマ、署名」「XMLルーティング」「そのほか:アクセス制御/SSL/ポリシー」といった多彩な機能を持つ

 
東京エレクトロン コンピュータ・ネットワーク事業部 マーケティング・グループ 事業開発担当 課長代理 松永豊氏  

 DataPower製品の日本代理店、東京エレクトロン コンピュータ・ネットワーク事業部 マーケティング・グループ 事業開発担当 課長代理 松永豊氏は、「SOAのメッセージング処理は、アプリケーション開発者が主導して、サーバ側ですべて対応することが前提になっているようだ。ここで数年前にWebアプリケーションが出てきたときを思い出してもらいたい。やはり当初はサーバ側ですべてを処理しようとしていたが、最終的にはロードバランサーやSSLアクセラレータなどはネットワーク機器が負担するようになった」と指摘する。

 「SOAにおけるメッセージング処理、つまりセキュリティ、データ変換、ルーティングなどは、サーバ側で行うには構造的にも性能的にも無理がある。視点を変えて、この問題をネットワーク的にとらえたところがDataPowerという製品が注目される理由だ。ネットワークの世界では、ルーティングやスイッチング、あるいはパケットレベルでのセキュリティなどはハードウェア的に処理している。SOAの共通データフォーマットとしてXMLが通信に使われるのなら、そのセキュリティ処理はルータやスイッチといったネットワーク機器に相当するハードウェアに任せてよいではないか」(松永氏)。

 DataPowerをファイアウォールとして機能させたシステムは、すでに米国では多くの導入事例が生まれているという(図3を参照)。

図3 マサチューセッツ州政府の税金収受システム
この事例では、ファイアウォールとDataPower XS40を使ったXML処理をネットワーク担当者が受け持ち、アプリケーション開発チームから完全に切り離すことで、システム開発および運用管理の生産性を向上させている。詳細はここを参照
(@IT記事「Webサービス・セキュリティ構築の実践(後編)」より図4をアレンジして転載)


   ノンプログラミングでSOAのパフォーマンス問題を解決

 「DataPower XS40 XMLセキュリティ・ゲートウェイ」では以下のXMLプロセスを専用ファームウェアに処理させることで、ネットワーク機器並みの高速実行を実現している。

 これだけの処理をアプリケーションにハードコーディングせずに済むことは単にパフォーマンスの向上ばかりではなく、開発/運用コストの削減にもつながる。DataPowerの設定やカスタマイズはXSLTのスタイルシートで記述する。管理ツールにはEclipseやIBM WebSphere Studioも利用可能だ。また、レガシー・アプリケーションへの対応としては、IBM WebSphere MQなどとのインターフェイスが用意されており、既存資産をSOA対応させる際にもゲートウェイとして利用できる。

 ここまではSOAを対象にDataPowerの有用性を紹介してきたが、もっとシンプルなデータ統合システムであっても、XMLを共通データフォーマットとして利用するケースは今後ますます増えていくだろう。そこには必ずセキュリティとパフォーマンスの問題がつきまとう。これを解決するために開発者を投入し、ハードコーディングとチューニングで乗り切るか、あるいはDataPowerの導入によってハードウェア的に解決してしまうか。どちらがROIに優れているかは、あらためて指摘するまでもないだろう。

 
DataPowerの紹介
DataPower社(米国)

DataPowerの紹介

DataPower XS40 XMLセキュリティ・ゲートウェイ

DataPower XA35 XMLアクセラレータ

東京エレクトロン

DataPower関連ニュース
DataPowerがRSA Securedパートナープログラムに参加し、WebサービスやSOAのためのXMLセキュリティ、認証、アクセス管理を実現

  DataPowerが、XML処理技術とデータ交換技術で特許を取得

DataPowerがバージョン3.0でXML Webサービスのセキュリティ機能を拡充

XMLコンソーシアム
Webサービス実証実験にDataPowerがセキュリティ実装の検証製品として参加(PDF)


DataPowerがXML Webサービス・セキュリティの最新技術をRSA 2004でデモ

DataPower事例集
  DataPower XS40 XMLセキュリティ・ゲートウェイが新しいビジネス・モデルに強固なセキュリティを実現

企業向け電子申請システムのセキュリティ確保にDataPower XS40 XMLセキュリティ・ゲートウェイを導入

DataPower XS40がXMLベースの金融ポータルを保護し、ビジネス・プロセスの業務効率を改善

マーケットプレース・サービスのNavio社が、DataPower XS40の使いやすさ、マルチステップXMLルーティングとSAML機能を核として高性能かつセキュアな商取引ネットワークを実現


</comment> <tr> <td bgcolor="#EEEEEE"><font size="2"><a href="javascript:KeepIt();"> <img src="/club/keepoint/images/ico_kpt.gif" alt="kee&lt;p&gt;oint保存" border="0" align="absmiddle" width="24" height="18">kee&lt;p&gt;ointで保存</a></font></td> </tr> <comment>

 
@ITトップ@IT Special インデックス会議室利用規約プライバシーポリシーサイトマップ