本文へジャンプ

ソフトウェア > Lotus > Lotus Developer Domain > 

Iris Today Archives

インサイド・ノーツ:ノーツの仕組みについての資料


Lotus Software
by Dick McCarrick
レベル:すべて
対象:すべて
原文の掲載:2000年10月2日

Iris Today Archivesの原文(US)

インデックス
「より詳しく」というリクエストに答えるために
プロジェクトの計画とチームの編成
全部つなぎ合わせる
正確さを確保する
すでに出版され入手可能

あなたはドミノやノーツの中が、本当はどのようになっているか、不思議に思ったことはありませんか?全ての主なコンポーネントや、これらがどのように連携して動いているか、知りたいとは思いませんか?こう思った方は Inside Notes(US) という、Notes.net の Documentation Library(US) よりダウンロードできる新しい本を読んでみるといいとでしょう。

Inside Notes はドミノやノーツのデザインの徹底的な概観から始まります。作者の一人によると、「3万フィート上空からのノーツ」というコンセプトだそうです。たとえあなたがノーツについて一切の知識がなくとも、この本を読むことによってノーツの全体図と、どのように組み立てられているかを理解することができるでしょう。クライアント、サーバー、サーバータスク、NSF、NIF、プログラマービリティーなど、ノーツの全ての重要な技術的コンポーネントの概要、さらにこれらがどのように相互作用するかが説明されています。Inside Notes 後半の章では、これら各コンポーネントのより詳しい説明が掲載されています。

Inside Notes は、この製品に対する技術的な判断や決断を下す人を対象に書かれました。ノーツを評価し、自社への導入の検討、さらにどう使われるか、将来的に何が必要となるか、などを判断しなければならない人たちが対象となります。経験豊富なノーツのプログラマーもまた、さらに知識を深めたり、1つのことをするのに今までとは違った方法を学んだり、今までは考えもしなかった「可能性」を新たに見つけ出したりするのに、便利だと感じるでしょう。

「より詳しく」というリクエストに答えるために
Inside Notes は顧客戦略と iNotes を担当している、シニア製品マネージャーのジェイソン・デュモントの新構想として、顧客の強い要望に応える形で始まりました。ジェイソンによると、「顧客と開発者は、製品がどのようになっているか、中で何が起こっているかを洞察しなければなりません。これらの情報は、トラブルシューティング、配備、そしてノーツ・アプリケーションの開発に必要なのです。」 このニーズに応えるために ジェイソンはロータス ノーツ/ドミノ R5 ベスト・プラクティス・ガイドのような本で、ドミノとノーツの構造を中心とした内容のものの構想を立てました。これにより、顧客はノーツについて理解を深めることができ、より良いアプリケーションを開発する基盤となるとなるでしょう。

「ノーツではいろいろなことが、いろいろな方法でできるのです」と、ジェイソンは言います。「家を建てるようなものです。ログハウスやチューダー・スタイルのマンションに関わらず、正しい方法があるのです。私たちの仕事は、このタスクのために、各ステップのアウトラインを作ることです。私たちが、このような情報を提供するためより勉強すればするほど、報酬は多くなるのです。」
 
上に戻る
 
プロジェクトの計画とチームの編成
Inside Notes を実現させるための ジェイソンの最初のステップは、Iris のチーフ・テクニカル・オフィサーであるティム・ハルフセンとコンタクトをとることでした。ジェイソンがティムに本の意図と目標を説明した後、彼は熱烈なサポーターになりました。彼は全ての技術的なレビューと、Iris のリソースを提供することで、積極的に参加してくれることに同意してくれました。ノーツチームの開発者の一人である ジョージ・ラングレイズという人物の参加が、初めの最も貴重なリソースになりました。ジョージは以前、Iris とロータスの社員研修で教えたことがあり、Inside Notes の成功につながる、非常に貴重な体験をしていたのです。

Inside Notes の基本となるコンテンツと構造をジョージとジェイソンはいっしょになって考えてきました。これをするためにジョージが教えた社員研修の内容が役に立ちました。また、彼らは多くの顧客と直接コンタクトを取ることで、この本で顧客が何を必要としているかを把握しました。

当然のことですが、ノーツの構造のような意欲的で広範囲のトピックをカバーするためには、可能な限り経験豊富なチームが必要とされます。そこで Inside Notes のコンテンツを提供するにあたり、ジェイソンは Iris、ロータス、そして IBM 内の複数のグループにコンタクトし、彼らの協力を得ることにしました。これらには下記のグループが含まれます。
  • Iris Development
    ティムとジョージに続き、多くのドミノ・ノーツの開発者がこの本の情報源となってくれました。また、草稿の技術的な見直しも彼らが担当してくれました。
  • Lotus Notes Product Management
    ジェイソンと他の製品マネージャーが関わりました。
  • IBM Redbooks
    ソレン・ペーター・ネイルソンが4人のノーツ・プログラマー開発者のチームを編成し、技術的な部分について書き上げました。
  • Domino/Notes User Assistance
    User Assistance Manager であるキャシー・マーフィーによって率いられた執筆者グループで、Inside Notes のコンテンツを作る重要な役割を果たしました。他のノーツ文書のセットで見つけた素材を、1つの本に濃縮させました。また、いくつかの新しいトピックのについて書くために、彼らは開発部と共に作業をしました。

この大きなマルチ機能のチームを調和させるために、ジョージとキャシーはプロジェクトを通して常にコミュニケーションを取っていました。User Assistance からの編集者であるフィリス・シャロンが、総合的な編集サポートを提供してくれました。これにより、全てのトピックにおいて首尾一貫したペースとスタイルを貫くことができました。
 
上に戻る
 
全部つなぎ合わせる
Inside Notes を書き始める最初の段階は、アウトラインを展開させるために、ジョージと Redbooks チームによって始められました。彼らはこれから扱うトピックのリストと、全体的な担当部分を決定しました。そしてその後、これらのトピックを各執筆者に割り当てました。彼らの多くは User Assistance チームのメンバーでした。キャシーは次のように回想します。「このプロセスの中で1つ難しかったことと言えば、他の人の章とどう調整するか、ですね。例えば、どの程度詳しく説明するか、などです。」

ジョージの最も大きな Inside Notes への宿題は、概観のセクションでした。これは 70 ページからなる、ドミノとノーツのデザインについてのセクションです。このセクションについて計画している間、ジョージは彼自身が「クリスマスパーティー会話」モデルと呼んでいるものを用意していました。これは例えば、誰かが私に仕事は何をしていますか、と聞くと、私は「ノーツのために働いています」と私は答えます。次に相手は「ノーツって何ですか?」と聞き、私が20分ほどかけてノーツの基本であるコラボレーション、セキュリティ、アプリケーション・デザインを説明します。この本の最初のセクションは、この程度の詳細のレベルで始まります。これによって、ノーツのことを何も知らない読者も、1、2時間かけてこの製品が何なのか、どのように作られたのかを理解できます。この概観は、ノーツの全ての技術的な構成要素に触れ、これらの要素の相互関係を説明します。このように、この概観は一種の「スーパー用語集」になるのです。

Inside Notes の概観を読んでいる最中読者が、「これについてもっと知りたい」と思ったトピックは、この本の後半部分でより詳しく説明されているのです。これはとても便利なレファレンスとなるでしょう。例えば、あるユーザーがデータベースのカタログに関連するレファレンスに遭遇するとします。ユーザーは Inside Notes の該当するセクションを調べ、それが何であるのかの記述を探し出し、データベース・インデクサーとの関連性等を知ることができます。この資料は、通常文書セット内で見つかるものより技術的になっています。一例を挙げると、ユーザー・インターフェースの解説や、実施手順の方法をステップ毎に説明することはありません。代わりに、ノーツの内部がどのような仕組みになっているのか、メッセージ・キュー、キャッシュ、セマフォなどに焦点を合わせています。

下記は Inside Notes の後半部分でカバーされているトピックです。

Notes Object Services (NOS)
Notes Object Services (NOS) は、クライアントとサーバーが使用する、全ての基本的で携帯性があり、安全なサービスを提供する機能の数多くの集まりから成りたっています。この章では次のグループに分かれる NOS サービスの概要を紹介します。
  • Portability layer はノーツが基盤となるプラットフォームと相互作用するレベルであり、基盤となるシステムと相互作用する、全てのノーツのコンポーネントがある場所です。
  • ネットワーク・サービスは1つのインターフェースを、複数の異なったネットワーク・プロトコルのドライバーに提供し、Notes Remote Procedure Call (NRPC) のメカニズムをサポートします。
  • データベース・サービスはノーツのデータベース・ファイル内のコンテンツへのアクセスを提供します。低レベル・データベース・サービスは、作成、バックアップ、削除などのタスクへ機能性を提供します。高レベル・データベース・サービスは、全文索引や電子メール送受信、スケジュール管理などのタスクへ機能性を提供します。
  • 他の NOS サービスは、 ID テーブルを作成・管理したり、ユーザーが書いたコールバック機能を使ってノーツの動作をカスタマイズしたり、ACL の内部メモリーのコピーを操作したりすることを可能にします。

Notes Storage Facility (NSF)
Notes Storage Facility (NSF) は NOS の鍵となるコンポーネントです。ノーツ・クライアントとドミノ サーバーのプログラムは NSF を使って、ノーツ データベースの作成・管理を行っています。この章は、NSF の概略と働き、そしてどう動作するかを説明しています。そして次の項目を詳しく考察しています。
  • バージョン、クラス、ID、複製の設定などの、データベースの鍵となる情報を含むデータベースのヘッダ
  • ACL、デザインコレクション、そして文書などのノート・タイプを含む、データベース・ノーツ

ドミノ サーバー・タスク
ドミノ サーバー・タスクは、ドミノ サーバーが行う全ての機能を集合させて実行します。この章では、サーバー・タスクによって管理される次の項目を説明します。
  • ノーツ・アプリケーション (エージェント管理、カタログ生成、ドミノ索引など)
  • サーバーと管理動作 (管理プロセス、クラスター管理プロセス、クラスター・レプリケーターなど)
  • メール、カレンダー、そしてスケジュール管理
  • プロトコル (DECS、DIIOP、そして HTTP サービスなど)
  • サーバー動作 (イベント、Ispy、Stats(統計) など)

ドミノ Web サーバー
ドミノ Web サーバーは、ノーツ データベースと文書構造の要素を形成する一連のオブジェクトの周りに組まれており、このデータの表示を定義します。またこれはアプリケーション実行時の環境で、ブラウザー (単独ではほとんど知能を持ちません) にアプリケーションを実行させるのに必要な変換や計算を組み込む方法(メソッド)を提供します。 この章では、ノーツが Web上でそのサービスの提供を利用するアーキテクチャーについて述べます。そして、どのようにインターネットのコンポーネントがノーツ・クライアントに統合されているかを論じます。

ドミノとノーツ・セキュリティ
ドミノとノーツ・セキュリティは、あなたの組織の基準を満たす、強固なセキュリティー・モデルを提供します。この章ではドミノとノーツのアクセス制御のメカニズムを解説します。これは次の項目へのアクセスを制限します。
  • サーバーとポート
  • データベース
  • ファイル
  • デザイン要素 (フォーム、ビュー、フォルダなど)
  • クライアント(ワークステーション)のデータ
  • 文書

ディレクトリー
この章では、ドミノがどのようにディレクトリーを作成し使用しているか、技術的に詳しく解説します。これにはドミノがディレクトリー情報を検索できる、3つのデータベースが含まれます。
  • ドミノ・ディレクトリーはユーザー、サーバー、グループ、そして管理者がディレクトリーに追加する可能性のある他のオブジェクト (プリンタなど) の情報を持っています。また、ドミノ・システムを管理するために使われるツールでもあります。例えば、複製やメール・ルーティングのためサーバー同士を接続させて、ユーザーやサーバーの登録やサーバー・タスクをスケジュールするために、管理者はドミノ・ディレクトリーに文書を作成することがあります。
  • ディレクトリー・カタログは、簡略化されたユーザー、グループ、メール内のデータベース、そしてリソース・ディレクトリーの入力事項などを、1つ以上のドミノ・ディレクトリーから、1つの軽くて(lightweight)、すばやくアクセスできるディレクトリーに統合させます。これによりユーザーやサーバーは組織内の人々の名前やアドレスを簡単に検索できるようになるのです。
  • ディレクトリーアシスタントは「セカンダリー・ディレクトリーのディレクトリー」として動作します。サーバーのプライマリー・ドミノ・ディレクトリー (names.nsf) はこれに含まれません。ディレクトリー・アシスタントは、セカンダリー(二次)ドミノ・ディレクトリーを指し示すことが可能であり、例えば、ローカルに保存されたか、あるいはリモートドミノ サーバー上の他のノーツ・ドメインのドミノ・ディレクトリーが該当します。ディレクトリーアシスタントはまた、リモート LDAP サーバー上の LDAP ディレクトリー (第三者の LDAP ディレクトリーなど) を操作することもできます。

またこの章は証明書発行、アクセス制御、参照や検索を含む、LDAP サービスの詳細をも解説しています。

システム管理プロセス システム管理プロセスはシステム管理要求を処理します。この章ではシステム管理プロセスの、技術的なディスカッションを詳しく提供します。

ドミノ・クラスター ドミノ・クラスターは2台から6台のサーバーからなるグループで、ユーザーにデータへの安定したアクセスを提供し、サーバー間の負荷を安定状態にし、サーバー・パフォーマンスの向上を図り、そして企業規模を拡大したときにパフォーマンスを維持するために使われます。この章ではクラスターとフェイルオーバーがどのように働くか、を説明します。クラスターから得られる利点や必要な動作環境をリストアップし、クラスターのコンポーネントについて解説し、フェイルオーバー・プロセスの「舞台裏」情報をお届けします。

インデクサー インデクサーは2つのサーバー・タスクから構成されており、Update タスクと Updall タスクです。これらのタスクは、2セットの NOS サービス、Notes Index Facility (NIF) と Full-Text サービスを使用することで、文書が追加、削除、または更新された後にデータベースビューと全文索引を最新の状態に保ちます。この章では、Update と Updall の両方を解説し、索引処理とドミノ・ディレクトリーについて簡潔に説明します。

複製 複製とは、レプリカ・データベース間で、更新内容を交換するプロセスのことです。この章では、複製がどのように動作しているかの深い考察と、これから得られる利益をリストアップし提供します。Replicator サーバー・タスクについて深い考察を行い、replicator コマンド、設定、制御の用途と機能を説明します。またこの章では、複製が起こす競合を回避するための方法や解決法もお伝えします。

ドミノ・メール・ルーター ドミノ・メール・ルーターはサーバー上の特別なプログラムで、文書を受信者のメールファイルに移動させたり、受信者のホーム・サーバーに文書を転送したりする役割を果たしています。この章では、メールルーターがどのように動作し、他のノーツ/ドミノ・アプリケーションとどのように相互に作用するかを詳細にお伝えします。メッセージ送信に関する内部プロセスを説明し、メール機能の性能を向上・維持させるためのタスクをリストアップします。
 
上に戻る
 
正確さを確保する
これらのトピックについて書かれる間に、技術的な見直しという複雑なタスクが始まりました。Iris の開発者達は、見直す必要のある 30 ものコピーを渡されました。多くのコピーは広範囲に渡るコメントが添えられ返却されました。キャシーはこう言っています。「Inside Notes を見直すのに莫大な時間が費やされました。各章の技術的な見直しは、それぞれ独立した体制で行われました。最も重要な技術的な見直しはスケジュール的に大幅に遅れました。この本全体についてです。」 Inside Notes を最後に見直したのは、各セクションの完璧な見直しを行ったティム・ハルフセンでした。
 
上に戻る
 
すでに出版され入手可能
この本に関わった全ての人が、努力した甲斐があった、と納得しています。顧客はこれらの情報を入手できることをとても嬉しく思うと ジェイソンは感じています。それどころか、「なぜこの情報をもっと早く利用できなかったのか」と思う人もいるでしょう。そして Iris と ロータス内でも、Inside Notes のコピーを求める声が強くなりました。ジョージは言います。「多くの人は内面的にこの本に対して大きな熱意を持っています。いつ入手できるか、次のバージョンはいつになるのか、聞かれるのです。」「社内でこれほどの人気が出るとは、私たちは予想していなかったのです。」それどころか、新入開発員が Iris に入るときにまずすべきことは、Inside Notes を読むことだと、多くの社員は感じているのです。

Inside Notes の将来として現在考えられているのが、アップデートされたバージョンを、次のドミノとノーツのメジャー・リリースの後に発行する、ということです。特に、顧客が我々の予想通りの期待感を持っていればなおさらです。ジェイソンはこうまとめました。「私たちの製品を使う顧客により詳しい製品情報を提供すると言うことは、私たちはより自分たちをあらわにすることができるということであり、より彼らの助けとなるということなのです。」

Inside Notes(US) は Notes.net の Documentation Library(US) よりダウンロードすることができます。



著者について
ディック・マカリックはノーツ/ドミノ User Assistance (documentation) グループの Documentation Manager です。ディックはノーツ・チームと共に 10 年間働いてきました。彼は現在、次のドミノとノーツのリリースの資料を、総合的にまとめ上げる仕事に就いています。
 
上に戻る