2009-06-25

Lotus Notes を開発した Iris Associates (その4)

Iris と最初に関わりを持ったのは、Lotus Notes の Internet 機能開発のひとつである、Web Navigator が Iris で開発されていると聞いたときだった。それまでも Lotus で SMTP Gateway や Domino の全身の Web Publisher などの Internet 対応機能を見ていたので、Cambridge にある Lotus のメンバーとは一緒に動いていたが、Web Navigator は Iris で開発が始まっていたので、大急ぎで Iris の担当マネージャの Dave Newbold と電話で話をして、国際化の必要性を話し、その開発をするためにエンジニアを送り込むことに同意してもらった。Dave Newbold はその後 Search Team のマネージャになったので、Verity に代えて、日本製の検索エンジン GTR を Notes に組み込むときにもお世話になった。

とりあえず、国際化されないままの製品が、そのままリリースされることは避けられそうであったが、エンジニアを送るといったものの、どういう仕組みで作られているかというような情報を入手している時間はなかった。そこで、どういう仕組みで開発されているかを推測して、それの国際化のための対策を立てた。結果的には、推測したデザインとほぼ近いデザインで開発されていたので、リリースまでに国際化対応を完了することができた。

Dave Newbold は、あまり目立つ機能を担当することはなかったが、新しい Web Navigator を担当したり、Verity から訴訟されたことで、Verity の検索エンジンが使えなくなったときに、GTR の組込みを決断するなど、重要な局面で頼りになる、非常にすばらしいマネージャであった。

2009-06-04

Lotus Notes を開発した Iris Associates (その3)

Notes のアーキテクチャには、数々の画期的な仕組みが組み込まれていた。それが、古くなったと言われながらも今日でも通用している理由である。アーキテクチャのうち重要な物をあげておく。
  1. セキュリティ - Notes には公開鍵方式を使った強力なセキュリティの仕組みが組み込まれている。重要なのは、ユーザはセキュリティを意識することなく、ソフトウェアを使うことができるということで、Notes のメールデータベースをローカルの PC にレプリケーションするときは、指定しない限り自動的に暗号化され、ID ファイルとパスワードがないと読むことはできない。
  2. レプリケーション - サーバー上のデータベースを他のサーバー上やクライアント上に複製する機能である。Notes ができた当時はインターネットは広がっていなかったため、各リモートオフィスにそれぞれサーバーを置き、サーバー間を電話線を使った通信でつなぎ、レプリケーションを行っていた。現在は、インターネットがつながったが、複数サーバーによる負荷分散、複数コピーを持つことによる安全性、リモートアクセスの遅延防止などの目的で、レプリケーションは有効に使われている。
  3. データと表示の分離 - 現在ではデータと表示の分離は XML と CSS の分離のように常識的に行われているが、Notes では、データと表示は最初から分離されていた。そのため、ユーザはデータに無関係で、データベースの表示を設計することができた。
  4. マルチプラットフォーム - Notes はこれまで、Windows 16bit, Windows 32bit, OS/2, Macintosh, HP/UX, Sun Solaris, IBM iSeries (AS/400), IBM zSeries (S/390), IBM pSeries (AIX), Netware, Linux などの各種 OS をサポートしてきた。Notes のアーキテクチャの下位レイヤーで OS 依存の部分が明確に分離されているため、多くの開発者は OS の違いを意識することなく、アプリケーション開発に専念することができた。
  5. 国際化 - Notes は、Unicode が提唱される前から国際化を意識して開発されており、その過程で Lotus 独自の国際文字セットが使われた。現在も内部コードには、独自の国際化文字セットが使われているが、Unicode とのマッピングにより外部システムとの互換性がとられている。
以上