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-25
2009-06-04
Lotus Notes を開発した Iris Associates (その3)
Notes のアーキテクチャには、数々の画期的な仕組みが組み込まれていた。それが、古くなったと言われながらも今日でも通用している理由である。アーキテクチャのうち重要な物をあげておく。
- セキュリティ - Notes には公開鍵方式を使った強力なセキュリティの仕組みが組み込まれている。重要なのは、ユーザはセキュリティを意識することなく、ソフトウェアを使うことができるということで、Notes のメールデータベースをローカルの PC にレプリケーションするときは、指定しない限り自動的に暗号化され、ID ファイルとパスワードがないと読むことはできない。
- レプリケーション - サーバー上のデータベースを他のサーバー上やクライアント上に複製する機能である。Notes ができた当時はインターネットは広がっていなかったため、各リモートオフィスにそれぞれサーバーを置き、サーバー間を電話線を使った通信でつなぎ、レプリケーションを行っていた。現在は、インターネットがつながったが、複数サーバーによる負荷分散、複数コピーを持つことによる安全性、リモートアクセスの遅延防止などの目的で、レプリケーションは有効に使われている。
- データと表示の分離 - 現在ではデータと表示の分離は XML と CSS の分離のように常識的に行われているが、Notes では、データと表示は最初から分離されていた。そのため、ユーザはデータに無関係で、データベースの表示を設計することができた。
- マルチプラットフォーム - 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 の違いを意識することなく、アプリケーション開発に専念することができた。
- 国際化 - Notes は、Unicode が提唱される前から国際化を意識して開発されており、その過程で Lotus 独自の国際文字セットが使われた。現在も内部コードには、独自の国際化文字セットが使われているが、Unicode とのマッピングにより外部システムとの互換性がとられている。
以上
2009-05-27
Lotus Notes を開発した Iris Associates (その2)
Iris Associates の組織は、機能別のチームメンバー、チームのリーダー、複数のチームを束ねるプロジェクトリーダーが基本構成となっていた。当初は、Notes Client と Domino Server の区別がなくプロジェクトリーダーは一人であったが、プロジェクトに関わるメンバーや関連チームが増えてきた段階で、クライアント側とサーバー側にそれぞれプロジェクトリーダーが配置されて、リーダーミーティングも別々に行われるようになった。2000 年くらいのタイミングでは、Russ Holden がサーバー側のプロジェクトリーダー、Jen Kidder がクライアント側のプロジェクトリーダーであった。
エンジニアたちの多くは、優秀だがプライドの高い面々であった。リーダーは自分の担当している機能に関しては全面的な権限をもっており、次のバージョンで実現する機能の選択は、リーダーが行っていた。前のリリースで積み残した機能と、エンジニアとして実現したい機能が優先的に新バージョンの機能として扱われるため、新しい機能要望を追加することはタフなネゴシエーションが必要であった。開発チーム外から新しい機能を要望するときは、一つ一つの機能に対して要望責任者 (Champion) が要求され、機能ごとに詳細まで説明しなければならなかったので、中途半端な知識で、受け売りの機能要求をすることはできなかった。
2009-05-20
Lotus Notes を開発した Iris Associates (その1)
Iris Associates は、Lotus Notes を開発した会社である。IBM が Lotus を最終的に統合するまで、製品は、Lotus Notes のブランドで販売されていたが、製品は Iris Associates という別会社で開発されていた。Iris Associates は Lotus から出資を受けていたため、できあがった Notes の販売権は Lotus にあったと思われる。
Iris Associates の社員のほとんどは、製品開発エンジニアだったため、実際の製品を完成させるための、テスト、ドキュメンテーション、製造などの周辺の作業や、製品販売後の技術サポート、Unix 系のプラットフォームへの移植作業は Lotus が担当していた。
Iris Associates があった Westford, Massachusetts は、Lotus のオフィスがあった Cambridge, Massachusetts から車で40分以上かかり不便であったが、1997 年に Iris Associates が同じ敷地内にある別のビルに移転したと同時に、Lotus Notes のテストやドキュメントのエンジニアや、Product Management チームが Westford の同じビルに移転したことで、不便は解消した。
しかし、同じビルになっても Iris Associates の中心メンバーはビルの2階にオフィスを持ち、Lotus のメンバーがいる1階とは、隔離された雰囲気があった(実際は、Iris Associates のメンバーの一部は1階にいたので、隔離していた訳ではなかった)。
2009-05-17
Unicode 前夜
コンピュータは、主にアメリカで開発されたため、コンピュータで使える文字は、英語で使われるアルファベット26文字、数字、その他の限られた記号類だけであった。文字のエンコーディングも各社ごとに定義されていたために互換性がなかったが、アメリカで ASCII (American Standard Code for Information Interchange) という規格が定められたことで、文字表現が標準化された。ただ、IBM だけは今でも一部のコンピュータでは EBCDIC と呼ばれる独自表現を使っている。
ただ、ASCII には、英語以外の文字が含まれていないため、アメリカ、イギリス以外の多くの国では、ASCII を基本にした文字コード拡張が国(言語)ごとに行われていた。そのため日本語などの漢字圏だけでなく、フランスやドイツなどの国においても、各国ごとに文字セットを用意しなければならず、言語を超えた情報のやり取りができにくくなっている。
Unicode は、国ごとに別の文字コードを作って管理するのではなく、それまでとは違う世界共通の文字コードとして開発された。
登録:
投稿 (Atom)