2010年5月26日水曜日

伝統的ECMと比較してAlfrescoが劣っている点

 Alfrescoのご紹介をさせて頂く際に非常に頻繁に受ける質問として、表題のような「他社製品、特にエンタープライズレベルの要求に応えられるとされているDocumentumやFilenetと比較した場合のAlfrescoの弱点」、があります。値段が安いので、オープンソースなので、パフォーマンスなどの性能面でAlfrescoはそれなりに劣っているのだろう、という先入観があるようです。そうした方々は逆にECMの業界は細かい機能の差が殆どないということはよくご存知であることが多く、「Alfrescoでも基本的な機能は十分備えられているが、文書数○○を超えると、あるいはユーザ数○○を超えると、DocumentumやFilenetにしておいた方が良い」というような答えを求められているように感じます。


 しかし、その答えは2つの意味で間違っていると言わざるをえません。まず、Alfrescoの場合、恐らくは戦略的に実装を遅らせている機能がたくさんあります。コンテンツ指向サービスを提供するエンジンとして備えている機能は十分なのですが、それを扱うためのUI、特に管理者向けのUIについてはほとんど手付かずです。伝統的なECMでは管理者がGUIを使って、つまりはコーディング無しで設定できる項目が多岐に渡っていますが、Alfrescoで同等のことをやろうとした場合にスクリプト記述を要求されてしまう、というケースはよくあります。


 例えば、具体例として「有効期限管理」があります。Alfrescoには標準で有効期限管理のためのアスペクトが用意されています。エンドユーザが特定のファイルを指定し、そのファイルに対して有効期限管理アスペクトを付与する操作をすれば、属性として有効期限の日付が設定できるようになります。しかし、実際にその有効期限として入力した日が過ぎてもAlfresco上では特になにも置きません。多くのユーザは有効期限管理が来たのだから自動的にファイルが削除されるなどのスケジュールアクションを期待すると思いますが、そういった機能は標準では用意されていません。何故なら、この種の有効期限が訪れた際に起こしたいアクションというのは、組織や業種などによって大きくことなるからです。削除したいのか、別のエリアにアーカイブしたいのか、特定のアクセス権を無効化したいのか、単に通知が出ればよいのか、、、考えられるアクションをすべて機能として実装し、ユーザが有効期限管理アスペクトを使おうとしたときにその巨大なリストから選択してもらった上で個別のパラメータまで入力するとなると、使い勝手がかなり損なわれることになるでしょう。そのためAlfrescoではまず日付を入力するところまでを標準で用意し、管理者が定期的に検索機能で期限が切れたものを見つけ、マニュアルで然るべき対応をとる、というのが標準の考え方になっています。それ以上の処理はすべてスクリプトで吸収しています。伝統的なECM製品には標準でこうしたアクションまで含めた機能を持っていることがあります。そうした製品の場合は本当の期待がその標準のアクションと違っていた場合こそカスタマイズなどの対応が必要になりますが、そうでなければ標準機能で求める機能を得ることができるわけです。その意味で、Alfrescoには相対的に機能が足りていない、という結論になります。


 しかし、スケーラビリティなどの面ではすでに大手ベンダの製品と比べても遜色ない状況にあると言えます。むしろ余計な後方互換性のための負荷がない分、Alfrescoの方が優位であることの方が多いと思われます。後出しジャンケンで、新しい技術を前提として設計されているのですから、これはある種当然の話だと思うのですが、そのままお伝えしても(私も決して中立的な立場ではないので)、今ひとつ説得力にかけるのが残念なところです。もちろん全文検索インデックスと使い方など、癖のある部分もなくはないのですが、基本線で劣っているところを見つけるのは非常に難しいと思います。(率直に言って、そもそも、大手製品を使えばそんなにスケールするのか、高いパフォーマンスを得られるのか、という問題があります。伝統的なECM製品はどこも肥大化しているので、むしろ不利な材料の方が多いのではないかと思うのですが・・・)


(Ishii Akinori IT−Coordinator)