ゆーたんのつぶやき

株式会社ノークリサーチにてIT関連のシニアアナリストとして活動しています。

エンタープライズサーチとSaaS



エンタープライズサーチというと、イントラ内の
様々なシステムに対する横断検索を指しますが、
今後はSaaSもその対象として含める必要があると
考えています。


企業が社内の全ての情報をSaaSとして外に預ける
ことは考えにくいですし、もしそれが実現すると
しても当分先のことでしょう。それまでは自社内
と社外の両方にデータが分散することになります。


となれば、当然エンタープライズサーチの対象を
SaaSにまで広げる必要が出てきます。


SaaSで提供されるデータがシンプルなHTMLだけなら
社外のWebページにクロールを掛けるのと同じ手段
が使えますが、SaaS側もオンラインオフィス文書等
かなり高度なデータ構造を持つものが増えています。


また、社内システムと同様にアクセス権を考慮する
必要もあります。


こうした「データの取得方法」と「アクセス権」の
課題は現在のエンタープライズサーチでも存在する
ものですが、これに対してエンタープライズサーチ
SaaSの双方がどう取り組むべきか?について、
以下で考えてみることにします。


まず「データの取得方法」ですが、現在のエンター
プライズサーチでは対象システム毎に「コネクタ」
を用意して対処しています。どのエンタープライズ
サーチ製品も主要なプロダクト向けコネクタを準備
しており、その点について不自由はありません。
ですが、相手がSaaSとなると話が変わってきます。
プロダクトの世界のように各分野(ERP/RDB/EIP)で
定番と言えるものはまだ存在しませんし、各SaaS
提供者が公開している連携インターフェースも千差
万別です。エンタープライズサーチ側からすれば、
現時点で各SaaS向けに数多くのコネクタ開発に踏み
切るのは時期尚早といえるでしょう。しかしながら
社内の既存データとの横断検索を実現しなければ、
SaaSの採用によって「情報の孤島」を作り出すこと
になり、それはSaaSの普及を阻むものになります。


これに対処するにはSaaS提供者側の対応が必要です。
SQLLDAPといった何らかの標準的なAPIもしくは
データ記法を策定するという道も考えられますが、
それではうまくいかないと思われます。エンター
プライズサーチにおいてはデータ本体だけでなく
作成者、レポジトリ、日付といったメタデータ
重要であり、それらを検索に活用するだけでなく
検索結果から更なるアクション(作成者へメール
するなど)へ結びつけることが重要だからです。
したがってデータセットの標準仕様を定めても、
それを越えるメタデータ属性をエンタープライズ
サーチベンダーが定義し、その結果N:Nのコネクタ
の組み合わせが発生してしまうという状態に陥って
しまう可能性があります。


結局のところ、各SaaS提供者がスキーマ情報と共に
自サービスのデータをREST表現で条件指定し、XML
RSSフィードで出力できる仕組みを備えるという
のが一つの落としどころではないかと考えています。
エンタープライズサーチ側はそのスキーマ情報を
元に自社製品のサーチャーが利用するメタデータ
とのマッピング定義をすれば良いわけです。


昨今のSaaSではAjaxなどを駆使したリッチなUIを
売りにしているものも少なくないですが、Ajax
インターフェースしか想定しておらず、データを
他の手段で出力できないケースもあります。
そのため、まずSaaS側が標準的なデータ出力手段
を用意することが重要なのです。


ちなみに手前味噌になってしまいますが、ボクが
携わっているZimbra Collaboration SuiteはAjax
クライアントと通信するSOAPインターフェースに
加えて、REST表現でデータを取得したり、サーチ
を掛けたりすることのできる機能を持っています。
その点が単なるリッチUIを持つアプリケーション
と違い、将来を見越した設計がされている点では
ないかと思っています。


次に「アクセス権」の問題です。これも現時点では
エンタープライズサーチ製品と検索対象システムの
間で個別にコネクタ提供することで対応しています。
これもそのままではN:N状態になってしまいますが、
先のエントリで触れたSAMLが一つの解決策になると
考えています。現在はエンタープライズサーチ製品
は主にLDAPを参照していますが、エンタープライズ
サーチ製品自身がSAMLで言うところのSPとして機能
することで、社内システム/SaaSの両方から権限情報
を取得することができます。


後は検索結果に権限を適用することによるパフォーマンス
の問題です。現在では権限情報をインデックスに含める
タイプ(Accela BizSearchやCiber Finder)と検索時に参照
するタイプ(Concept BaseやGoogle Appliance)、さらには
それらの混合タイプ(FAST ESPやOmniFind)があります。
複数のSaaSを利用し、それぞれのサービスレベルに差異が
生じる状況を踏まえると、インデックスに含める方が検索
実行時の性能を維持しやすいと言えそうです。ところが、
SaaSにおいては管理者が固定的に権限を設定するのではなく
情報の作成個人が他の個人に対して参照許可を与えるという
考え方に基づいた利用形態をとるものも少なくありません。
そうなると、参照権限の変更頻度はインデックス作成頻度
よりもずっと多くなり、インデックスに含めた権限情報が
すぐに古くなってしまう危険性もあります。
そう考えると、SPとして機能するエンタープライズサーチ
が権限情報を定期的にチェックしてキャッシュしておくと
いうアプローチが一つの落としどころになるのではないか
と考えています。


このようにSaaSエンタープライズサーチを結びつける
ためには、双方にそれなりの対策が必要になってくると
思われます。それぞれが普及していくためには不可避の
ポイントのはずですので、今後互いに情報交換しつつ、
最適なソリューションを打ち出せるように努力をしたい
と考えています。