![]() |
iPlanet Calendar Server プログラマリファレンス |
第 1 章 アーキテクチャの概要
iPlanet Calendar Server 5.0 は、公開されているインターネット標準を使用した、強力で柔軟性のあるクロスプラットフォームソリューションです。このソリューションを利用して、あらゆる規模のサービスプロバイダは、顧客の個人用およびグループ用のスケジュールカレンダーを管理できます。
iPlanet Calendar Server の概要
iPlanet Calendar Server の概要
iPlanet Calendar Server は、展開が簡単な LDAP ベースのソリューションです。このソリューションを利用すれば、インターネットサービスプロバイダおよび通信事業者は、加入者に対して、個人用イベントカレンダー管理機能だけでなくグループスケジューリング機能を提供できます。iPlanet Calendar Server 5.0 は、さまざまなニーズに応じて構成できるサーバシステムです。このサーバシステムは、スタンドアロンのカレンダーサーバとして独立して構築したり、以降で説明するように複数のインスタンスで構成し、さまざまなサービスをインスタンス間で複製または分割したりできます。「水平方向のスケーラビリティ」を参照してください。iPlanet Calendar Server 5.0 では、カレンダー、カレンダーのプロパティ、アクセスコントロール情報、イベント、仕事、およびアラームが格納および管理されます。ユーザ情報の記憶領域は管理されません。システムには、ディレクトリサービスが必要です。外部のサービスを利用する場合は、プラグインを使用します。ディレクトリサービスは、認証、ユーザ設定の格納と検索などを操作するときに使用されます。iPlanet Calendar Server には、LDAP サービスを使用してディレクトリサービスを実行するためのプラグインが付属しています。LDAP 以外のディレクトリサービスをサポートするために、独自のプラグインを使用することもできます。
図 1-1 は、最小構成の iPlanet Calendar Server (iCS) 5.0 システムです。単一の iPlanet Calendar Server インスタンス、ディレクトリサービス、およびイベント通知のサポートから構成されています。
図 1-1 最小構成の iPlanet Calendar Server システム ![]()
表 1-1 に、図 1-1 に出てくる省略名の説明を示します。
表 1-1 iPlanet Calendar Server システムの用語の説明
CLD
カレンダー検索データベース (Calendar Lookup Database)
CUA
カレンダーユーザエージェント (Calendar User Agent)
ENS
イベント通知サーバ (Event Notification Server)
iCal
iCalendar-RFC 2445
iPlanet Calendar Server は、垂直方向および水平方向に拡張できます。単一マシン上のマルチプロセッサ構成で動作させたり、複数のマシンに分割して動作させたりできます。図 1-2 では、3 つの iPlanet Calendar Serverが HTTP「フロントエンド」サービスとして使用され、ほかの 3 つの iPlanet Calendar Server が「データベース」サービスとして使用されています。これら 6 つのインスタンスは、別々のマシンで実行できます。この図の中の省略名「dwp」は、データベースワイヤプロトコル (Database Wire Protocol) を表しています。水平方向のスケーラビリティによって実現できるさまざまな構成についての詳細は、「水平方向のスケーラビリティ」を参照してください。
図 1-2 スケーラブルなシステム ![]()
機能の要約
iPlanet Calendar Server 5.0 は、一連の新しいインターネットカレンダー標準を完全にサポートするように構築されており、次の長所を持っています。
グループスケジューリング - イベントを作成し、参加者を招集します。出席予定者は、出席するか欠席するかを回答します。参加者がカレンダーサーバに存在しない場合は、グループスケジューリングエンジンからスケジューリングメッセージがIMIP メッセージとして電子メールで送信します。IMIP メッセージについては、RFC2447 に規定されています。
インターネット上でのカレンダー操作とスケジューリング - iCalendar カレンダー操作標準がサポートされているため、イベントがインターネットを介して簡単に共有できる形式になっています。
低い所有コスト - LDAP のサポートにより、サービスプロバイダは、すべての加入者を単一ユーザディレクトリで簡単に集中管理できるうえ、サーバの管理コストを最小限に抑えることができます。また、プロバイダはさらに高度な機能を持つサービスを提案できるプラットフォームを顧客に提供できます。
強力なスケーラビリティ - iPlanet Calendar Server 5.0 は、水平方向にも垂直方向にも拡張できます。
- 垂直方向の拡張では、最大規模のサービスプロバイダの要件に対応することができ、数百万ユーザの個人用イベントカレンダーを運用するための環境をサポートします。単一マシンをマルチプロセッサ構成で動作させて、マシンの処理能力を最大限活用できます。
- 水平方向の拡張では、さまざまな組み合わせで複数のコンピュータに分割して動作させることもできます。たとえば、別々の 2 台のマシンで、3 つのカレンダーサーバ HTTP サービスと 3 つのカレンダーサーバデータベースサービスを動作させることもできます。そこでは、HTTP サービスはデータベースサービスを有効に利用します。この新しい機能の詳細は、「水平方向のスケーラビリティ」を参照してください。
バージョン 5.0 の新機能
iPlanet Calendar Server 5.0 には、次の新機能が追加されています。
グループスケジューリング - 個人用カレンダー情報を管理するだけでなく、ほかのカレンダーユーザを会議に招集し、出席または欠席の回答を受け取ることができるようになりました。この新しい機能の詳細は、「グループスケジューリング」を参照してください。
iPlanet Calendar Server 5.0 は、iPlanet Calendar Server 2.x のユーザの視点に基づいて構築されており、複数のマシンによる水平方向のスケーラビリティが導入されています。この新しいアーキテクチャによって、通知機能を使用したグループスケジューリング機能が提供されます。この通知機能を実現するために、iPlanet Calendar Server にはイベント通知サービス (ENS) が付属しています。このアーキテクチャの特長は、さまざまなコンポーネントをカスタマイズして、顧客のニーズに基づいた独自のアプリケーションを開発できることです。水平方向のスケーラビリティ - サーバを単一マシンで実行したり、構成方法が豊富なのでサーバプロセスを複数のマシンへ分散したりすることができます。この新しい機能の詳細は、「水平方向のスケーラビリティ」を参照してください。
デフォルトで提供される新しいクライアントユーザインタフェース - Calendar Express は、カレンダークライアント UI として同梱されていますが、SHTML を採用することにより、ブラウザの描画と応答時間が高速化され、さらにサイトを速く簡単にカスタマイズできるようになりました。
iPlanet Calendar Server 2.x からの移行 - 同梱されているユーティリティを使用して、既存の iPlanet Calendar Server 2.x からデータをインポートできます。バージョン 5.0 を正常にインストールした後で、個別のプログラムを実行すれば、データの移行が完了します。詳細については、『iPlanet Calendar Server インストールガイド』を参照してください。
同期化 - iPlanet Synchronization 1.0 ソフトウェアは、ダウンロードして入手できるオプションのアプリケーションです。iPlanet Calendar Server 5.0 のインストールパッケージには組み込まれていません。このソフトウェアを使用して、オンラインカレンダーデータを Palm OS デバイス、Windows CE デバイス、ACT!、Outlook、および Palm Desktop アプリケーションと同期させることができます。
この新しい機能が追加されたため、このマニュアルで説明するインタフェースとツールの一部に根本的な変更が必要になりました。カスタマイズ用の新しいインタフェースが、このマニュアルに追加されています。今回追加されたインタフェースは、プロキシ認証 SDK です。
互換性を保つために、WCAP は引き続き使用できるため、iPlanet Calendar Server 2.x のデータ形式をすべて使用できます。WCAP の詳細は、第 9 章 「Web カレンダーアクセスプロトコル (WCAP) の概要」および第 10 章 「WCAP コマンド」を参照してください。
カレンダーサーバサービス
iPlanet Calendar Server 5.0 システムは、単一マシン上で実行したり、複数のマシン上に分割して実行したりできる複数のカレンダーサーバデーモンなど、いくつかの実行プロセスで構成されています。実行インスタンスのモジュールの組み合わせは、ics.conf ファイルに格納されるサーバ構成情報で定義されます。このファイルはコマンドライン管理ツールを使用して変更できます。この管理方法で、単一マシン上の単一サービスや複数のマシン上の複数サービスを管理します。管理者は、カレンダーサービスを実行しているマシン以外のマシンから、コマンドをリモートで実行することもできます。表 1-2 に、iPlanet Calendar Server 5.0 の 5 つのデーモンを示します。
表 1-2 iPlanet Calendar Server のデーモン
csadmind
このサービスは、アラームの通知、グループスケジューリングの要求、データベースのチェックポイントの設定とデッドロックの検出、およびディスク使用状況とサーバレスポンスのモニタを行います。
cshttpd
iPlanet Calendar Server 5.0 では、主要な通信手段として HTTP を使用します。このサービスは、HTTP コマンドを受け取り、データを取得して呼び出し元に返します。5.0 の新しいユーザインタフェースでは、そのコマンドがデフォルトの .shtml 拡張子が付いたコマンドを受信し、HTML でフォーマットされたデータを返します。 一方、.wcap 拡張子が付いた要求を受信した場合は、標準 RFC2445 iCalendar 形式の生の (raw) カレンダーデータ、XML、または HTML 内に組み込まれた JavaScript としてデータをフォーマットして直します。
csnotifyd
csnotifyd は通知サービスで、カレンダーに基づいてイベントと仕事の通知を送信し、イベントブローカとしてイベント通知サーバ (Event Notification Server、ENS) を活用します。通知サービスは、アラームイベントを購読します。アラームイベントが発生すると、通知サービスは SMTP アラームメッセージを受信者に送信します。詳細は、「イベント通知サービス (ENS)」、第 4 章 「イベント通知サービス (ENS) の概要」および 第 5 章 「イベント通知サービス API リファレンス」を参照してください。
csdwpd
このサービスは、同じシステム内の複数のマシンを取りまとめて、1 つの分散されたカレンダーストアを作成します。このサービスは、iPlanet Calendar Server 5.0 がインストールされている任意のマシン上でバックグラウンドで実行できます。csdwpd は、データベースワイヤプロトコル (DWP) に準拠した、カレンダー操作情報への要求を受け付けるサービスとして動作します。
ローカルにカレンダーのデータを保管する機能があること
ほかの iPlanet Calendar Server からこのサーバのカレンダーデータにネットワーク経由でアクセスできること
注 このサービスは、必ず高速ネットワーク上で実行してください。データベース間のパイプ (ネットワーク) が低速の場合は、システムの全体的なパフォーマンスが著しく低下することがあります。
enpd
このデーモンは、イベント通知サービスのもう一方の半分にあたり、イベントアラームのブローカとして動作します。csadmind デーモンからアラームの通知を受け取り、このイベントの購読依頼を確認し、購読先へのアラーム通知を csnotifyd に渡し、イベントの購読者に通知します。また、csnotifyd から購読および購読の取り消し (購読の中止) を受信して格納します。
起動順
iPlanet Calendar Server 5.0 のデーモンは、次に示す特定の順序で起動する必要があります。
enpd - ほかの iPlanet サーバによって共有されるイベント登録および通知の汎用サービス。
csadmind - カレンダーサーバ管理デーモン (各サーバマシンにインストールが必要)
グループスケジューリング
バージョン 2.x では、独自のカレンダーにイベントと仕事のスケジュールを設定し、そのカレンダーをほかのユーザと共有できましたが、iPlanet Calendar Server 5.0 では、ほかのカレンダーに対してスケジュール設定を要求できます。イベントのスケジュールを設定して参加者を招集し、出席予定者はその要求を受諾または拒否します。出席予定者が受諾または拒否すると、イベントの開催者とすべての出席予定者のカレンダーがサーバによって更新されます。インストールされているデータベースに登録されていない参加者には、電子メールで通知されます。
ディレクトリサーバサービス
デフォルトでは iPlanet Calendar Server は、Netscape Directory Server など、LDAP ディレクトリ内で定義および維持されているユーザをサポートします。また、iPlanet Calendar Server は、CSAPI プラグインの使用もサポートします。このプラグインで、LDAP 以外のディレクトリ内で定義されたユーザにもアクセス権限を設定できます。たとえば、標準の UNIX 認証形式で格納されたユーザ、または Windows NT ユーザ管理データベースに格納されたユーザにアクセス権限を設定できます。ユーザが LDAP ディレクトリにすでに格納されている場合、ディレクトリサーバを Netscape Directory Server 4.12 にアップグレードするのが、iPlanet Calendar Server を配備するもっとも簡単な方法です。そうすれば、iPlanet Calendar Server システムがそのあとの処理を実行してくれます。また、ディレクトリスキーマを手作業で変更して、iPlanet Calendar Server のデータへのアクセス権限を設定することもできます。iPlanet Calendar Server のディレクトリスキーマを変更する方法についての詳細は、『iPlanet Calendar Server インストールガイド』の「LDAP サーバのインストールと設定」を参照してください。
水平方向のスケーラビリティ
iPlanet Calendar Server を複数のマシンにまたがってインストールすることにより、水平方向のスケーラビリティを得ることができます。iPlanet Calendar Server は、cshttpd、csadmind、csdwpd、csnotifyd、および enpd というデーモンで構成されており、これらのデーモンをさまざまな構成で実行できるため、強力な柔軟性とスケーラビリティが提供されます。iPlanet Calendar Server 5.0 では、水平方向のスケーラビリティを実現するために、データベースワイヤプロトコル (DWP) の csdwpd が内部で使用されています。iPlanet Calendar Server 5.0 ではデフォルトのバークレー DB を使用しており、これはネットワークデータベースでないため、このプロトコルの実装が必要です。DWP プロトコルは、HTTP が基盤になっています。DWP プロトコルは、HTTP の POST または GET コマンドと、直列化されたバイナリデータベース情報を含んだ単一バイナリ MIME 部で構成されます。
今後のリリースでは、カレンダーデータベース API が公開される予定です。そしてデータベースを任意のデータベース技術を使用して実装できます。DWP はネットワークデータベースをサポートしている実装では不要です。
構成
水平方向のスケーラビリティを実現するには、各マシンに iPlanet Calendar Server 5.0 のさまざまな組み合わせのインスタンスをインストールします。各システムの基本要件は次のとおりです。表 1-3 は、3 つの構成例と、各インスタンスのインストールに必要なサービスの一覧です。図 1-3 に、これらの構成を示します。これ以外の構成にすることも可能です。どの組み合わせが適しているかは、自分自身で判断してください。
単純な単一インスタンスのインストール。
(ローカルデータベース) 次の図 1-3 を参照HTTP サービスだけのインスタンス (データベースサービスだけのインスタンスと組み合わせて使用)
例 :図 1-4 の「ネットワークフロント
エンド、データベースバックエンド」、
および図 1-5 の「複数のフロントエンド、
複数のバックエンド」の左側のボックス
を参照データベースサービスだけのインスタンス(HTTP サービスだけのインスタンスと組み合わせて使用)
例 :図 1-4 の「ネットワークフロント
エンド、データベースバックエンド」、
および図 1-5 の「複数のフロントエンド、
複数のバックエンド」の右側のボックス
を参照
単純な単一インスタンス
iPlanet Calendar Server 5.0 を実行できるもっとも単純な構成です。図 1-3 に示すように、着信した SHTML 要求と WCAP 要求を処理する cshttpd、イベントを通知する enpd と csnotifyd、および必須の csadmind から構成されています。データベース全体はローカルです。
図 1-3    単純な単一インスタンス構成
ネットワークフロントエンド、データベースバックエンド
この構成では、図 1-4 に示すように、HTTP サービスフロントエンドで、ブラウザおよびほかのクライアントがカレンダーサーバに接続します。フロントエンドの名前は、この例では cal.example.com です。カレンダーデータに対するすべての要求は、この例では、caldb.example.com という名前のデータベースサービスにルーティングされます。以下のことに注意してください。フロントエンドでは、データベースを処理しないため、cshttpd と csadmind 以外は必要ありません。一方、バックエンドでは、cshttpd は必要ありませんが、csdwpd、enpd、および csnotifyd が必要です。
図 1-4    ネットワークフロントエンド、データベースバックエンド ![]()
複数のフロントエンド、複数のバックエンド
この構成では、図 1-5 に示すように、外部の何らかのメカニズムによって、クライアントはフロントエンドの HTTP サービスのどれかにルーティングされます。ログインしたときに返されるセッション ID は、ログインしたホストのみで有効です。このセッション ID に対するすべての要求は、同じホストにルーティングされる必要があります。異なるホストにルーティングされた場合、ユーザは再度ログインする必要があります。この例では、データベースが分割されており、カレンダー A-M は
caldb1.example.com サーバにルーティングされ、カレンダー N-Z は
caldb2.example.com サーバにルーティングされます。CSAPI プラグインによって、カレンダー ID とカレンダーが存在するサーバの名前が対応付けられます。iPlanet Calendar Server 5.0 に実装されているデフォルトの CSAPI では、カレンダー ID をサーバ名に関連付けるアルゴリズムが使用されています。
図 1-5    複数のフロントエンド、複数のバックエンド ![]()
新しいデフォルトクライアント UI: SHTML
iPlanet Calendar Server 5.0 では、バージョン 2.x で実装されていた WCAP プロトコルを使用するデフォルトクライアント UI (ユーザインタフェース) は実装されていません。WCAP プロトコルでは、HTML と JavaScript の組み合わせが生成され、クライアントに渡されて処理されていました。新しい SHTML コマンドを使用することによって、サーバですべての処理が行われてから、HTML 形式だけの出力が生成され、クライアントに渡されます。新しい SHTML コマンドでは、XML プロトタイプ定義と XSL スタイルシートテンプレートを使用して、HTML が生成されます。ユーザインタフェース内に表示されるビューおよびダイアログごとに、1 つ以上の対応するテキストファイルのペアがあります。各ペアは、.xml ファイルと .xsl ファイルから構成されます。プログラマは、これらのファイルの一方または両方を変更または置換して、ユーザインタフェースをカスタマイズできます。バージョン 2.x 用カスタムユーザインタフェースをすでに開発している場合は、変更しないでそのまま使用できます。iPlanet Calendar Server 5.0 は、iPlanet Calendar Server 2.x との下位互換性が保証されています。
WCAP は、未処理のカレンダーデータを取り出す唯一の方法です。書式設定されていない生のカレンダー情報が必要な場合、クライアントは WCAP 形式で要求を送信する必要があります。
アーキテクチャの基本
iPlanet Calendar Server 5.0 は、共有ライブラリの集合として実装されています。これらの共有ライブラリは、さまざまな組み合わせで結合されて、実行可能デーモンである cshttpd、csdwpd、csadmind、および csnotifyd が動作します。イベント通知サービス (ENS) のデーモンである enpd サービスは、iPlanet Calendar Server 5.0 に付属しており、個別にインストールされます。ENS についての詳細は、この章の 「イベント通知サービス (ENS)」と、このマニュアルの第 4 章および第 5 章を参照してください。
共有ライブラリは、サブシステムと呼ばれる次の 3 つの主要カテゴリに分類されます。
図 1-6 は、これらのサブシステム間の論理的な流れを示しています。この図の後で、各サブシステムについて説明します。
図 1-6    サーバのアーキテクチャ ![]()
SHTML と WCAP
SHTML と WCAP は、HTTP を基盤にしています。要求は、HTTP プロトコルレイヤー経由で受信されます。これは、カレンダー要求をサポートするために必要な最小構成の HTTP サーバです。クライアントは、SHTML または WCAP のどちらかを使用して要求を送信します。WCAP は、一部の管理コマンドを除くすべてのサーバコマンドを実行できる、公開プロトコルです。WCAP は、書式設定されていない生のカレンダー情報を必要とするクライアントでも使用できます。また、JavaScript 対応のユーザインタフェースを入手するときにも使用できます。このユーザインタフェースは、iPlanet Calendar Server 2.x で使用できる唯一のインタフェースでしたが、バージョン 5.0 では、新しい SHTML 対応のユーザインタフェースに置き換えられました。この新しいユーザインタフェースは、XML および XSLT 仕様に基づいて設計されており、コマンドに応答してユーザインタフェースを生成します。UI ジェネレータは、要求を受信すると、アクセスコントロールに応じて、カレンダーとユーザデータが含まれる XML 仕様のドキュメントツリーを作成します。次に、XSLT 仕様が、ドキュメントデータツリーを走査し、HTML を作成します。この設計の利点の 1 つは、クライアントとサーバ間の対話が少なくなり、送信される総ビット数も少なくなることです。以前の iPlanet Calendar Server 2.x では、組み込みの JavaScript を返し、この JavaScript がクライアント側で HTML を生成していました。XML/XSLT 方式では、ブラウザ側で速く描画が行える出力を生成します。以前のバージョンとの互換性を保つために、iPlanet Calendar Server 2.x のデザインは引き続き機能します。つまり、デフォルトで、WCAP 要求に対して HTML テキストと JavaScript の組み合わせを返します。iPlanet Calendar Server 2.x と同様に、.wcap 拡張子を使用するコマンドは、HTML にくるまれた XML、または HTML にくるまれた iCalendar として出力を要求します。
WCAP プロトコルについては、第 9 章 「Web カレンダーアクセスプロトコル (WCAP) の概要」を参照してください。
コア
コアサブシステムは、アクセスコントロールサブシステム、UI ジェネレータサブシステム (XML と XSLT を使用する SHTML、またはデータ変換機能を使用する WCAP)、および Caldb サブシステムで構成され、それぞれ別の区分に配置されています。CSAPI プラグインは、コアサブシステム内にあります。コマンドは、プロトコルによって処理されてコアサブシステムに送信され、コアサブシステムで実行されます。コマンドには、次の 4 つの種類があります。
カレンダー操作 - データベースの処理を必要とするカレンダー操作の場合、要求はプロトコルによってコアのアクセスコントロールサブシステムに送信されます。アクセスコントロールサブシステムは、汎用の Caldb サブシステムを使用して、カレンダーの読み込みおよび書き込み操作を行います。
ユーザの属性 - ユーザ属性に関する要求は、コアのディレクトリサービスに送信されます。iPlanet Calendar Server 5.0 では、ディレクトリサービスなどの外部サービスを取得するときにプラグインが使用できます。このバージョンには、LDAP サービスのプラグインが付属しています。インストールをカスタマイズするには、LDAP 以外のディレクトリサービスをサポートするプラグインを別に作成します。
- Caldb サブシステムは、データベース技術固有のサブシステムを使用して、操作を行います。このバージョンの iPlanet Calendar Server では、バークレーデータベースが実装されているため、Caldb サブシステムは、ローカルデータベースファイルを処理したり、適切なマシンに対するデータベースワイヤプロトコル (DWP) 要求を作成したりする機能を持ちます。
- このデータベースサブシステムは、低レベルの形式でデータを返します。コアの UI ジェネレータ (SHTML または WCAP) は、この低レベルデータを必要な出力に変換します。.shtml 拡張子付きのコマンドの場合は、デフォルトで HTML 形式を生成します。.wcap 拡張子付きのコマンドの場合は、要求された出力形式を返します。WCAP は、このサーバでサポートされる唯一の公開プロトコルです。書式設定されていないカレンダーデータを取り出すには、WCAP を使用します。
注 HTML/js が iPlanet Calendar Server 2.x のデフォルト UI 出力でしたが、iPlanet Calendar Server 5.0 では、.shtml に置き換わりました。
認証 - 認証に関する要求は、コアのデフォルト LDAP ディレクトリサービスに送信されます。iPlanet Calendar Server 5.0 には、次の 3 つの認証オプションがあります。
CSAPI 認証。第 2 章 「Calendar Server API (CSAPI) の概要」を参照。内部の認証
その他 - その他のサービスに関する要求は、ほかのコアサブシステムに送信されます。プロキシ認証 SDK。第 6 章 「プロキシ認証 SDK の概要」を参照。外部プラグイン認証
シングルサインオン認証。第 8 章 「シングルサインオン認証」を参照。単一ドメイン内で、アプリケーション間の信頼サークルが形成される
データベース
iPlanet Calendar Server 5.0 では、Sleepycat のバークレー DB を使用した csBerkeley サブシステムが使用されます。このデータベースの API は公開されていません。
カレンダーデータ
この節では、カレンダーデータについて説明します。
カレンダーデータの形式
カレンダーのデータ形式は、IETF iCalendar の標準である RFC-2445 に準じて設計されています。アクセスコントロールレイヤによって、iCalendar コンポーネントの集合であるカレンダーが管理されます。iCalendar コンポーネントは、イベント、仕事、およびアラームで構成されます。カレンダーごとに、1 人の主な所有者が割り当てられます。第 1 所有者以外に、複数の所有者を割り当てることもできます。ユーザ属性は、外部メカニズムによって管理されます。デフォルトのメカニズムは、LDAP です。
グループ
グループとは、名前付きカレンダーリストのことです。ユーザは、カレンダーを購読します。ユーザは、アクセスコントロールに応じて、購読したカレンダーを表示および変更できます。また、ユーザはグループを作成できます。カレンダーグループを使用すれば、カレンダーを並べて表示したりカレンダーの所有者をイベントに招集したりするたびに、カレンダーリストを再指定または選択する必要がなくなります。グループを使用すれば、複数のカレンダーソースを単一カレンダーに集約して表示することができます。たとえば、所有しているカレンダー、部門のカレンダー、祝日カレンダー、「最新アクションビデオのリリース」カレンダーから構成される、デフォルトのカレンダー表示を作成できます。それらをまとめて「カレンダーグループ」と呼びます。
イベントフィード
このインフラストラクチャによって、iCalendar または XML などのインポート形式で、イベントデータをデータベースにリアルタイムに送信できます。イベントデータは、カレンダーから送信されます。たとえば、アメリカンフットボールチームのシーズンスケジュール、コンベンションセンターのスケジュール、コンサートのスケジュールなど、興味を持つイベントのスケジュールのカレンダーが使われます。iPlanet Calendar Server には、イベントフィードおよびデータベースからカレンダーデータを取り出すツールが用意されています。ユーザは、このツールを利用して、イベント情報を表示し、取り出すことができます。これらのイベントをカレンダー表示上で階層化すれば、ほかの会社で管理されるさまざまなイベント情報を豊富に入手できます。
カレンダーデータの交換
すべてのカレンダーとイベントは、URL として参照できます。これらの URL リンクは、電子メールメッセージと Web ページ内に組み込むことができます。リンク位置をクリックすれば、月次カレンダー表示、週次カレンダー表示、日次カレンダー表示、または特定のイベントを表示できます。カレンダーが公開されている場合は、ユーザはログインする必要はありません。iPlanet Calendar Server では、サーバ側の電子メールアラームがサポートされます。このアラームは、受取人リストに送信できます。電子メールメッセージの書式は、任意に設定できます。メッセージの書式は、ユーザまたはカレンダーの属性としてではなく、サーバの属性として管理されます。iPlanet Calendar Server 5.0 では、ITIP/IMIP 標準 (RFC-2446、RFC-2447) が制限付きでサポートされます。つまり、イベントに対して、ITIP メソッドの PUBLISH、REQUEST、REPLY、および CANCEL がサポートされます。
カレンダーのユーザ設定
iPlanet Calendar Server は、ユーザ設定と呼ばれる属性に従って、個々のユーザのカレンダー操作情報の表示を生成します。ユーザ設定は、カレンダー設定とは異なり、情報のユーザインタフェース表示方法を示しています。ユーザ設定には、電子メールのアドレス、ユーザ名、カレンダー情報を描画するときに使用する色などがあります。ユーザ設定の完全なリストについては、第 10 章 「WCAP コマンド」の get_userprefs および set_userprefs コマンドの説明を参照してください。
カレンダーアクセスコントロール
iPlanet Calendar Server 5.0 では、グループスケジューリングを使用するときにカレンダーにアクセスできるユーザが、アクセスコントロールで決定されます。アクセスコントロールエントリ (Access Control Entry、ACE) の文字列を使用して、ユーザに許可されるカレンダーへのアクセス特権の種類を指定します。ACE の文字列は、アクセスコントロールのカレンダープロパティである acl (アクセスコントロールリスト) に格納され、カレンダーのアクセスコントロールを一元管理します。カレンダープロパティへの書き込み権限を持つユーザだけが、これらの文字列を変更できます。デフォルトでは、Calendar Server の管理者とカレンダーの主な所有者だけが、プロパティの書き込み権限を持ちます。iPlanet Calendar Server のアクセスコントロールモデルでは、ほかのユーザの代理としてふるまう機能もサポートされます。たとえば、管理者のアシスタントに対して、ほかのユーザの代理としてふるまう権限を設定すると、管理者のアシスタントの代理としてイベントの招集、取り消し、応答などを行うことができます。
サポートされるコーディング方式
データの格納のために、コアサブシステムは、入力を Caldb サブシステムで使用されるバイナリ形式に変換します。iPlanet Calendar Server では、次のコーディング方式をサポートしています。UI のビューとダイアログ用に独自の XSL 変換を開発して、ほかの形式を追加できます。また、CSAPI を使用して、WCAP プロトコルの変換 DLL または共有ライブラリを開発できます。( 第 2 章 「Calendar Server API (CSAPI) の概要」を参照)
カレンダーサーバ API (CSAPI)
CSAPI は、COM と似たインタフェースです。CSAPI を使用すれば、サーバの一部をカスタマイズして実装できます。次の機能を変更するには、CSAPI を使用します。
アクセスコントロール(「csIAccessControl」を参照)
たとえば、デフォルトでは、サーバの認証メカニズムには LDAP が使用され、ユーザ設定はデフォルトで LDAP に保存されています。LDAP に基づいていない、ユーザ認証やユーザ設定の保存のための既存のインフラストラクチャがある場合は、CSAPI を使用してデフォルトのメカニズムを置き換え、既存の認証およびディレクトリサービスを使用します。加えて、次の 3 つのカスタマイズ可能なインタフェースがあります。認証(「csIAuthentication」を参照)
カレンダー検索(「csICalendarLookup」および
「csIQualifiedCalidLookup」を参照)データ形式の変換(「csIDataTranslator」を参照)
ユーザ属性へのアクセス(「csIAccessControl」を参照)
csIPlugin。起動時に、プラグインモジュールに関する情報をサーバに提供します
CSAPI については、第 2 章 「Calendar Server API (CSAPI) の概要」および第 3 章 「CSAPI リファレンス」で詳しく説明します。csICalendarServer。実行中のサーバインスタンスのバージョン情報が提供されます
csIMalloc。メモリ割り当てスキーマ
イベント通知サービス (ENS)
iPlanet Calendar Server では、イベント通知サービス (ENS) は主としてアラームディスパッチャーとして使用されます。アラームディスパッチャーによってアラームキュー上のイベントが検出され、イベントの通知が購読者に送信されます。ENS API を使用すれば、iPlanet Calendar Server 5.0 で使用される公開および購読に関する次の機能を変更できますENS の概要については、第 4 章 「イベント通知サービス (ENS) の概要」を参照してください。
プロキシ認証 SDK (authSDK)
authSDK は、iPlanet Calendar Server 5.0 に用意されている 3 つのユーザ認証ツールの 1 つです。authSDK を使用すれば、既存のポータルサービスを iPlanet Calendar Server 5.0 に統合できるため、ユーザがアプリケーションにアクセスするたびに再認証する必要がなくなります。authSDK は、DLL/ 共有オブジェクトライブラリの libicsexp10 内にパッケージ化されている 5 つの関数と、ヘッダーファイルの expapi.h から構成されています。これらの関数によって、次の 3 つの単純な処理が行われます。また、標準以外のポートを使用可能にする関数と、トラブルシューティング用の authSDK バージョン番号を取得する関数があります。
注 iPlanet Calendar Server と authSDK との間で接続が確立されると、そこで設定された関係が信頼の 1 つになります。したがって、ユーザがログインして authSDK で認証されると、カレンダーサーバは、プロキシによって生成された証明書を受け入れます。この証明書がすべてのアプリケーションで使用されます。
authSDK の詳細については、第 6 章 「プロキシ認証 SDK の概要」および第 7 章 「プロキシ認証 SDK リファレンス」を参照してください。
シングルサインオン (SSO)
シングルサインオン (Single Sign-on、SSO) は、iPlanet Calendar Server 5.0 に用意されている 3 つの認証メカニズムの 1 つです。シングルサインオンを使用するには、クライアントのブラウザで cookie がサポートされ、サーバで HTTP がサポートされている必要があります。シングルサインオンは、その他の認証メカニズム、セッション管理、およびリソースアクセスコントロールから独立しています。シングルサインオンを使用すると、アプリケーション間の信頼サークルが形成され、信頼サークル内で cookie が共有され、ユーザ認証が交換されます。必要に応じて、各アプリケーションに独自の検証インタフェースを設定できます。ただし、各検証機能は、ほかのアプリケーションの検証機能のルーチンで認識される cookie を格納します。
このメカニズムには、いくつかの制限事項があります。まず、アプリケーションごとに、検証プロトコルが実装されている必要があります。また、信頼されているすべてのアプリケーションは、同じドメインに配置されている必要があります。さらに、異なる識別情報に切り替えるときは、ユーザがブラウザを再起動する必要があります。これは、各ブラウザセッションで複数のユーザ ID がサポートされないためです。
シングルサインオンの詳細は、第 8 章 「シングルサインオン認証」を参照してください。
Web カレンダーアクセスプロトコル (WCAP)
WCAP はコマンドベースのシステムで、カレンダー操作データを転送するクライアントの要求とサーバの応答で構成されます。WCAP 2.0 では、HTTP 経由でカレンダー操作データが返されます。WCAP コマンドを使用すると、カレンダーコンポーネント、ユーザ設定、カレンダーのプロパティ、およびタイムゾーンなどのカレンダー情報を取得、削除、および変更できます。時刻、文字列、パラメータなどは、ほかの方法で指定されていない限り、RFC2445、RFC2446、および RFC2447 の仕様に準拠します。WCAP は、iPlanet Calendar Server 5.0 に用意されている 3 つのユーザ認証メカニズムの 1 つです。デフォルトでは、プレーンテキストのパスワードとユーザ名を使用します。WCAP で使用する認証メカニズムは、置換または拡張できます。 第 3 章 「CSAPI リファレンス」の「csIAuthentication」の節を参照してください。
WCAP では、クライアントの要求とサーバの応答で、次のデータ形式がサポートされます。
前へ 目次 索引 DocHome 次へ
Copyright © 2000 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.
Last Updated June 04, 2001