やはりIBM Lotus製品群は限界か

情報共有基盤の製品選定というのは、いつも堂々巡りになっているような気がしてイヤになってくる。もっともそれは僕の情報共有ソリューションの中核となるスキルがIBM Lotus Notes/Dominoだからかもしれない。
単にWebメール、スケジュール管理、会議室予約、掲示板、電子会議室(スレッド形式の掲示板のようなもの)がとりあえずできればいいというのであれば、サイボウズ、デスクネッツなどお手ごろなパッケージ製品の選択肢は無数にある。
しかし、少しでも自社向けにカスタマイズしたいとなると、情報共有基盤の製品選定は様相がガラリと変わる。たとえば、電子会議室に発言するときに、自分が発言したという通知メールを指定した関係者に送信したい。そんなつまらない機能を追加したいというだけで、製品選択の幅はいきなり狭くなってしまう。
サイボウズ・ガルーンがどの程度までカスタマイズを許しているのか詳しくないが、おそらくメール送信機能が関係するカスタマイズは無理だろう。RSSフィード機能を利用すればいいという反論があるかもしれないが、RSSリーダを社内の標準クライアント・ソフトウェアを位置づけている企業がどれほどあるというのだろうか。デスクネッツはまったくカスタマイズの余地がない。
新規に情報を登録したときにメールを一発送信するカスタマイズくらい対応してくれよ、というのは、ずっとNotes/Dominoにかかわってきたシステムエンジニアならではの発想で、そもそもNotes/Dominoが簡易開発基盤としてよくできすぎているのだ。(もちろんその弊害として現場の利用者が勝手に開発したノーツデータベースが乱立するということもあるのだが)
それ以外となると、もうマイクロソフトのExchangeとSharePoint Portalの組合せをASP.NETででもカスタマイズするぐらいしか選択肢がない。
ワークフローの構築となるとさらに話が面倒になってくる。人事異動があったら組織階層と所属の情報は、人事データベースからデータを取ってきて自動更新させたい。組織変更があるたびに手作業で修正するような鈍なことはしたくない。
また、承認経路についても、ある程度までは社内の特殊事情に合った定義ができるようになっていてほしいし、承認が完了した文書については承認済みの正式文書として後々検索できるように文書の種類ごとに保管したい。
こうなってくるともうマイクロソフトか、IBMかの選択になる。
さらに、Notes/Dominoユーザならお分かりいただけるだろうが、Notes/Dominoというのは個々のデータベースファイル内の文書数(関係データベースにおけるレコード数に当たるデータ件数)が万単位になると、文書一覧を表示させる性能が急に悪化し、ほとんど使い物にならなくなる。
したがって、件数の多いデータを共有したいとなると、やはり関係データベースを直接検索しにいくようなしくみを開発する必要がある。ここまでくるとNotes/Domino単体では対応が難しくなる。Notes/DominoのWebアプリケーションで無理やりCGIアプリケーションのようなものを開発することもできるが、邪道もいいところだ。
そうするとIBMでそろえるにはWebSphere上にJavaで関係データベースのシステムを開発するかとなるが、ここまでくるとかなり本格的になり、Notes/Dominoデータベースのようにそうそう手軽に社内開発するわけにもいかなくなる。Visual Web Developer ExpressでASP.NET利用のWebアプリケーションを開発する方が、まだ開発生産性は高いだろう。
ここまでくると一つ大きな問題が出てくる。シングル・サインオンである。DominoのWebアプリケーションへのログインは、Notes/Dominoのユーザ名とWebアプリケーション専用のパスワードで行う。DominoのWebアプリケーション専用パスワードは、Notes/Dominoをクライアント・サーバ型で利用するときのIDファイルによる認証の仕組みとは連動しない。したがってNotes/Dominoの認証のしくみとマイクロソフトのActiveDirectoryの間で同期をとる運用をしていたとしても、DominoのWebアプリケーションはその枠から外れてしまう。
最近IBM Lotus製品群からIBM Workplace Designerという開発環境が発売されている。Notes/Dominoと非常によく似た感覚でJavaScriptを開発言語としてWebアプリケーションを構築できる製品だが、データはXML形式で関係データベースに保管されるため、飽くまで「文書」が単位になり、それを「一覧」(ビュー)形式で見せるというNotes/Dominoの思想まで受け継いでしまっている。そのために万件単位のデータをあつかう検索システムには不向きのようだ。
しかもIBM Workplace製品群は、Notes/DominoのWebアプリケーションとのシングル・サインオンは、僕の理解している限りでは、別の製品を持ってこない限りは不可能である。
そもそも企業内のWindowsパソコンは、マイクロソフトのActiveDirectory配下で管理されていることが多いのだから、ユーザ名とパスワードを管理するユーザ認証の仕組みはActiveDirectoryで統一したい。しかしIBM系のツールで開発したWebアプリケーションはその枠から外れる。ここでマイクロソフト製品が俄然、有利になってくる。
IIS 6.0上でASP.NETを使って関係データベースのシステムを構築すれば、IIS 6.0側の設定でActiveDirectoryを基本認証として利用することができる。そうすれば少なくともパソコンを起動して最初にログインするときのユーザ名とパスワードで、Exchangeにも、SharePoint Portalにも、お手製のASP.NETによるWebアプリケーションにもログインできるようになる。
いや、IBM製品でもTivoliのディレクトリシステムを使えばシングル・サインオンは実現できると言われるかもしれないが、中堅・中小企業にとってTivoliという製品群は明らかに技術的に敷居が高いし、運用が重荷である。
中堅・中小企業が、自社特有の組織的な事情や業務フローに合わせて、ある程度のカスタマイズができる情報共有基盤を構築し、数万件単位のデータ検索も同じ仕組みの中で実現したい。そんなささやかな情報共有の要件を実現しようとしているだけなのに、製品の選択肢は以上に見てきたように恐ろしく限定されてしまうのだ。
以上の要件全てを満たそうとすると、現時点ではマイクロソフト製品群の方に分があると言える。IBM Lotus製品群はIBM Workplace製品群を投入して奮闘中だが、Managed Clientというリッチクライアント製品を使っても、ominoのWebアプリケーションへのログインと、IBM Workplace製品群へのログインは別になっているようだ。
そういうわけで、そろそろDominoのWebアプリケーションの限界を追求するという不毛な作業を放棄して、ASP.NETの高機能なサーバコントロール群を使いこなせるような勉強をすべきなのだろうかと考え始めている。かつては「Notes/Domino命!」だった僕でさえこのように判断が傾きつつあるのだから、IBM Lotus製品群の未来は危うい。