2008年5月28日水曜日

SOA時代のファイル(情報)管理基盤 ECMとは (Insight Nowより転載)

 ECM - 企業向けコンテンツ管理というキーワードは、ERPやCRMなどと並ぶ"ITに関するコンセプトとそれを実現するための製品群を示す言葉"として、ここ数年で急速に市民権を得たものの一つであると言えます。本稿ではECMを、SOA時代のファイル(情報)管理基盤、と位置づけ、その狙いや求められる機能などについて概説していきたいと思います。



 ECM - Enterprise Content Management、企業向けコンテンツ管理というキーワードは、ERPやCRMなどと並ぶ"ITに関するコンセプトとそれを実現するための製品群を示す言葉"として、ここ数年で急速に市民権を得たものの一つであると言えます。そのコンセプトを一文で表現するのであれば、「企業内のコンテンツを統一的なプラットフォームに集約し管理精度を向上させる」といったところでしょうか。AIIM(Association for Information and Image Management)という米国の団体では「ECM(Enterprise Content Management)とは、企業内全域に渡って、「コンテンツ」を、獲得capture・管理manage・保持store・保管preserve・配布deliverするための、技術やツールや手法のことである」という言い方をしています。



 本稿ではECMを、SOA時代のファイル(情報)管理基盤、と位置づけ、その狙いや求められる機能などについて概説していきたいと思います。



 まず、先ほどの表現における「企業内のコンテンツを」の部分から、考えてみましょう。ここでいう"コンテンツ"とは「企業内にある非定型データ」を意味しています。従来の業務システムで取り扱われるデータがRDBMSなどに格納される定型データであるのに対し、実際に企業内に存在する情報の大部分は実はWordやExcelなどのオフィスツールで作成された文書や電子メールなどの非定型データであると言われています。この非定型データを如何に効率良く管理していくか、というのが今後大きなテーマとなっていくだろう、というのがコンセプトとしてのECMの出発点です。



 次にそのコンセプトを実現するソフトウェアとしてのECM製品に必要な機能について解説したいと思います。非定型データ、という抽象的な言い回しを持ち出すまでもなく、文書というものはずっと以前から企業内に存在していましたし、その管理が大きな経営課題であることもよく知られていました。文書管理システム、電子的文書管理と言われるソリューションにはすでに数十年の歴史があります。ECMはそれらの議論の延長線上にあるものであり、ECM製品と呼ばれるソフトウェアは基本的にかつて文書管理システムと呼ばれたパッケージの機能を継承したものだと言えます。そのため、以下にご紹介する機能の多くが文書管理システムが伝統的に備えてきた機能でもあります。



「柔軟なアクセス管理機能」通常のOSレベルの読み書き権限よりも数段細やかな設定ができる製品が多いです。文書ファイル本体に対する読み書き権限とそのファイルの属性への読み書き権限を個別に与えたり、新規ファイルの作成はできるが既存のファイルは編集できないという権限や、逆に既存のファイルの編集はできるが新規ファイルの作成はできないという権限を設定することができます。また、文書毎のステータスに応じてアクセス権限設定を変更するという機能を持つものもあります。



「バージョン管理機能」各文書の過去バージョンを全てリポジトリ上に保存しておく機能です。操作ミス等による作業途中バージョンの散逸を防ぐだけでなく、コンテンツの編集経緯を共有できるというメリットもあります。



「チェックアウト・チェックイン機能」リポジトリ内のコンテンツを編集する際に他のユーザと同時書き込みを行ってしまうリスクを回避するために、あらかじめロックをかける機構です。チェックアウトの処理を実行すると、リポジトリ内の別の場所、もしくはユーザのローカルに「ワーキングコピー」と呼ばれるファイルが生成されます。そのファイルを編集した後でチェックインすることによりリポジトリ内のコンテンツのバージョンが更新されます。チェックアウトされている間、リポジトリ内のコンテンツ本体は編集不可の状態になります。



「独自属性の定義機能」業務上の要請により企業内の文書には様々な付帯情報が割り当てられています。どのような属性情報を持たせるかは文書の種類によって異なるため、多くの製品にユーザが独自に属性情報を定義する機能が備わっています。文書の種類によってアクセス権を変更する、などのコントロールを持たせることもあります。この文書の種別の特定と、管理すべき属性情報の定義は、文書管理やECMの導入プロジェクトの中でも特に重要なステップとなります。



「ワークフロー機能」各ユーザに対して「編集」「レビュー」「承認」などのタスクを依頼し、その流れを管理する機能です。予め定義された業務の流れに従って各タスクが実行されるため業務遂行の精度向上が期待できます。また、各ユーザは自分に割り当てられたタスクの一覧を常に確認できるようになります。専用の所謂ワークフローツールと違い、原則的には社内にある文書全てを同様の業務フローの遡上に載せることができるというのが、文書管理システム(あるいはECM)でワークフローを実現することのメリットであると言われています。



「監査証跡機能」リポジトリ内の各コンテンツに対して、いつ誰がどのような操作を行ったのか、を記録していく機能です。操作ログがコンテンツ管理に保管されていく形式が一般的であるようです。内部統制、コンプライアンスなどの文脈によって注目度が高まっている機能です。伝統的な文書管理システムの多くは高価なパッケージ製品であったため、強制力のあるコンプライアンスの法的要件をもつ金融業界や製薬業界での稼働事例が多く、この監査証跡機能も必須機能と認識されてきました。



 さて、ここまで挙げた各機能は、かつて文書管理システムと呼ばれていた現在のECM製品の祖先にあたるソフトウェアにもすでに備わっていたものばかりです。「コンテンツ」という用語の定義もすでにご紹介しましたので、管理対象が文書からコンテンツへとより抽象化されたのがECM製品である、という解釈をされている方もいらっしゃるかもしれません。それはそれで正しい見方であるとも言えるのですが、本稿においては表題にもあります通り、SOAの文脈を絡めた視点を提示したいと思います。



 SOA的な視座からシステム設計を考える時、そこにファイル単位の情報を保管あるいは流通させるのであれば、それらの情報の管理手法や管理精度に対してもある程度抽象的なインターフェースを提示し、他のコンポーネントとの連携方法を捉える必要があります。そこで要求される機能は、伝統的な文書管理システムが培ってきた上記の各種機能とほぼ同じものです。今までの文書管理システムは、中央集権的なリポジトリに各種文書を集約することで、各ユーザが適切な手法で文書を活用できるような基盤を提供していく、ということをしてきたわけですが、SOAの文脈においては人間のユーザだけでなく他のシステムも同様にこのリポジトリの恩恵にあずかるように方向付けていくことが求められている、というわけです。それを実現しているのが、現在のECM製品群であるといえるでしょう。(文書管理システムと他システムの連携ということ自体は以前からも積極的に行われてきたことですが、連携の方法がサービスという粒度で捉えられ、また標準的なプロトコルによって実行されるというところが相違点になると思われます)



 単純にECM製品と呼ばれるソフトウェアを導入し、重要文書から順に格納していくという方針でもコンテンツの管理精度を向上させることは可能です。しかし、本当にECMを効果的に導入しようと考えた場合は、現在あるいは将来の各ユーザと各連携対象システムのニーズに柔軟に対応できるような計画をたてて行く必要があります。基盤として活用されたときに最も効果を発揮する、という性質があるため、計画段階から慎重に導入製品を選定する必要もあるでしょう。



 次稿以降では、ECM製品の基本的な仕組み(物理的な構成要素)やWebコンテンツ管理のためのCMSと呼ばれる製品群との相違、オープンソースで実現するECMなどの話題に触れていきたいと思います。ECM導入計画の立案や製品選定などのご参考にしていただくことを目標に、順次記事をアップロードしていく予定です。