業務コンポーネントのつくり
業務コンポーネントのつくりをどうするのかになるが、書類のライフと定義したということは、書類の作成から編集・確定・承認という、いわばワークフローという形態でもあると言える。しかし、ワークフローといっても、この場合は単純なもので、むしろ「状態遷移」と捉えたほうが分かりやすい。要するに、書類が作成された初期状態から、追記されたり、変更を加えられたりして、編集された状態に遷移する。それをメンバーが確定し、承認者に承認をうけて完成させるということである。
しかも、これらを逐次的な流れではなく、メンバー間での情報共有的さばきかたでやるのがこれからの仕事の進め方になるし、効率的であると思われる。Web2.0的な考え方の、参加型のアーキテクチャ、あるいは集合知の活用というところでしょうか。従って、これこそoss-CMSが本来的に持っている機能の重要な部分である。だから、それを利用するのだ。
誰かが、該当メンバーに書類の作成を宣言し、できたものをβ版でいいからすぐにアップする。それをみんなが寄ってたかって意見を言い合い改編していく、場合によっては承認者も参加しているため、承認伺いが立ったらすぐに承認・公開されるというわけだ。
それでは、具体的にoss-CMSをみていきましょう。CMSはコンテンツマネジメントシステムのことであるが、IT用語辞典「e-Words」によれば、「Webコンテンツを構成するテキストや画像、レイアウト情報などを一元的に保存・管理し、サイトを構築したり編集したりするソフトウェアのこと。広義には、デジタルコンテンツの管理を行なうシステムの総称。」ということになる。
もうちょっと技術的にいうと、「Webサイトを構築するには、テキストや画像を作成するだけでなく、HTMLやCSSなどの言語でレイアウトや装飾を行ない、ページ間にハイパーリンクを設定するなどの作業も行なう必要がある。これらの要素を分離してデータベースに保存し、サイト構築をソフトウェアで自動的に行なうようにしたものがCMSである。」であるが、CMSには拡張機能がいろいろあって、プラグインよいう形で付加できるため、広い範囲のアプリケーションに対応できる。
代表的なものをいくつかあげると、Plone、Xoops、WordPress、MovableType、osCommerce、ZenCartなどがあり、WikiやSNSも入れると数多く存在する。
今回さしあたって、「書類の状態遷移」を業務コンポーネントと定義した場合に適したものとして、Ploneを選択した。理由は、“オブジェクトの状態とユーザロール”を中心に構築されたワークフローの機能をもっていたからです。
Ploneはどのユーザが見たり実行したりできるのかを定義するのにロール(役割)を用い、そのオペレーションのすべての面においてセキュリティを組み込む。ロールにはanonymous(無名)、member(メンバー)、owner(所有者)、reviewer(レビューワ)、それにmanager(マネージャ)がある。
そして、Ploneのワークフローにはvisible(可視)、pending(保留)、published(公開)、private(私的)の4つの状態があり、それぞれのロールを与えられたユーザがオブジェクトを利用できるかどうか、また、オブジェクトが次に他のどんな状態に遷移できるのかはオブジェクトの状態によって決まってくる。
このように、ロール(役割・権限)とオブジェクト(書類)の状態を管理することでひとつの業務を処理していくわけです。こうした単位業務を組み合わせることで業務プロセスが形成されるのです。
業務コンポーネントにPloneを指名しましたが、場合によってはその他のCMSでもかまわないのです。例えば、ZenCartのような販売サイトをコンポーネントとして捉えてもよいし、Xoopsでコミュニティの議論結果をもってくるとか、応用動作は多くあるような気がします。
次回はBPMについて議論します。