セキュリティセンターTOP > セキュアプログラミング講座 > Webアプリケーション編 > マッシュアップ > サーバサイドマッシュアップ

第8章 マッシュアップ
サーバ側マッシュアップ

クライアント側マッシュアップとの違い

サーバ側マッシュアップには、クライアント側マッシュアップと比べたとき、長所と短所がある。

長所

性能面

クライアントデバイスが行うネットワーク通信を必要最小限にとどめることができる。クライアントデバイスが性能の高くない場合、特に有利にはたらく。

ブラウザの「同一源泉ポリシー」は考慮する必要がない

クライアント側JavaScriptコードから素材サーバに直接アクセスする場合に生じる「他源泉リクエスト」の制約は、サーバ側マッシュアップにおいては存在しない。ただし、素材サーバと通信するリスクの考慮と対策は必要である。

侵害リスク面

短所

機能面

想定されるプログラマ

クライアント側マッシュアップよりも高度な知識を要する案件もあれば、より簡単な案件もありうる。
高度な知識を要する論点として、「セキュリティトークンとOAuth 2.0」等がある。

リソース統合の度合い

サーバ側においてゲストリソースが統合される度合いは、次の4段階に分けることができる。

 

resources

図8-18: リソース統合の度合い

これらのうち中央の「ダッシュボード」「リソース間連携」の二種類は、「マッシュアップ」と呼ぶのにとくに適している。反面、「プロキシ」は統合の度合いが低すぎ、逆に「融合」は高すぎるため、「マッシュアップ」と呼ぶのは必ずしも適当でない。

これら4段階は次のようなものである。

「プロキシ」レベルの統合度合い

「ダッシュボード」レベルの統合度合い

「リソース間連携」レベルの統合度合い

「融合」レベルの統合度合い

複数の手段の紹介

サーバ側マッシュアップを行う手段には、次の複数のものがあり、難易度も多様である。

  1. インターネットに公開されているマッシュアップエディタWebサイトを用いる
    例:
    ・Yahoo Pipes
  2. 企業内向けのマッシュアップ支援製品のマッシュアップエディタを用いる
    例:
    ・Oracle社の WebCenter Portal
    ・富士通社の マッシュアップフレームワーク
  3. 一般的なWebアプリケーション開発環境で開発する (例: Geronimo上のSpringフレームワーク)

サーバ側マッシュアップ用のエディタ

マッシュアップエディタは、Webページ上でGUIを用い、サーバ側マッシュアップコンテンツを容易に行える手段である。次のような要素を有している。

マッシュアップエディタには次のものがある。(2012年11月現在)

サーバ側マッシュアップが実装する処理

サーバ側マッシュアップの実装イメージは、概ね下図のようなものである。

resources

図8-19: サーバ側マッシュアップの実装イメージ

ここでは、次のような工夫を行うことができる。上流(図の右側)から紹介する。

(1) 並列動作による性能向上

(2) データ内容検証によるセキュリティ確保

(3) キャッシュによる性能向上

(4) 扱い易い形式のダウンロードデータ提供

サーバ側マッシュアップのサーバ側プログラムの記述にはJava、C# 等、大規模かつ複雑なソフトウェア構築に向いた各種のプログラミング言語、ライブラリ、フレームワークを利用することができる。