前へ     目次     索引     DocHome     次へ     
iPlanet Calendar Server 管理ガイド



第 1 章   アーキテクチャの概要


iPlanet Calendar Server 5.0 は、公開されているインターネット標準を使用した、強力で柔軟性のあるクロスプラットフォームソリューションです。このソリューションを利用すれば、あらゆる規模のサービスプロバイダが、顧客の個人およびグループ用のスケジュールカレンダーを管理できます。

この章では、次の項目について説明します。



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 システム


iPlanet Calendar Server は、垂直方向および水平方向に拡張できます。単一マシン上のマルチプロセッサ構成で動作させたり、複数のマシンに分割して動作させたりできます。図 1-2 では、3 つの iPlanet Calendar Server が HTTP 「フロントエンド」サービスとして使用され、ほかの 3 つの iPlanet Calendar Server が「データベース」サービスとして使用されています。これら 6 つのインスタンスは、別々のマシンで実行できます。水平方向のスケーラビリティによって実現できるさまざまな構成についての詳細は、「水平方向のスケーラビリティ」を参照してください。

図 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 には、次の新機能が追加されています。

  • グループスケジューリング - 個人用カレンダー情報を管理するだけでなく、ほかのカレンダーユーザを会議に招集し、出席または欠席の回答を受け取ることができるようになりました。この新しい機能の詳細は、「グループスケジューリング」を参照してください。

  • 水平方向のスケーラビリティ - サーバを単一マシンで実行したり、構成方法が豊富なのでサーバプロセスを複数のマシンへ分散したりすることができます。この新しい機能の詳細は、「水平方向のスケーラビリティ」を参照してください。

  • デフォルトで提供される新しいクライアントユーザインタフェース - Calendar Express は、カレンダークライアント UI として同梱されていますが、SHTML を採用することにより、ブラウザの描画と応答時間が高速化され、さらにサイトを速く簡単にカスタマイズできるようになりました。

  • Netscape Calendar Server 4.0 からの移行 - パッケージに組み込まれているユーティリティ (ncs4migrate) を使用して、インストールされている Netscape Calendar Server 4.0 から iPlanet Calendar Server 5.0 にカレンダーデータをインポートできます。詳細については、『iPlanet Calendar Server インストールガイド』を参照してください。

  • iPlanet Calendar Server 2.x からの移行 - 同梱されているユーティリティを使用して、既存の iPlanet Calendar Server 2.x からデータをインポートできます。バージョン 5.0 を正常にインストールした後で、個別のプログラムを実行すれば、データの移行が完了します。詳細については、『iPlanet Calendar Server インストールガイド』を参照してください。

iPlanet Calendar Server 5.0 は、iPlanet Calendar Server 2.x のユーザの視点に基づいて構築されており、複数のマシンによる水平方向のスケーラビリティが導入されています。この新しいアーキテクチャによって、通知機能を使用したグループスケジューリング機能が提供されます。この通知機能を実現するために、iPlanet Calendar Server にはイベント通知サービス (ENS) が付属しています。このアーキテクチャの特長は、さまざまなコンポーネントをカスタマイズして、顧客のニーズに基づいた独自のアプリケーションを開発できることです。

この新しい機能が追加されたために、後で説明するインタフェースとツールの一部に根本的な変更が必要になりました。カスタマイズ用の新しいインタフェースが、このリファレンスに追加されています。今回追加されたインタフェースは、ENS API とプロキシ認証 SDK です。

互換性を保つために、WCAP を引き続き使用できます。したがって iPlanet Calendar Server 2.x のすべてのデータ形式を使用できます。



カレンダーサーバサービス



iPlanet Calendar Server 5.0 システムは、単一マシン上で実行したり、複数のマシン上に分割して実行したりできる複数のカレンダーサーバデーモンなど、いくつかの実行プロセスで構成されています。実行インスタンスのモジュールの組み合わせは、ics.conf ファイルに格納されるサーバ構成情報で定義されます。このファイルはコマンドライン管理ツールを使用して変更できます。この管理方法で、単一マシン上の単一サービスや複数のマシン上の複数サービスを管理します。管理者は、カレンダーサービスを実行しているマシン以外のマシンから、コマンドをリモートで実行することもできます。

iPlanet Calendar Server 5.0 のデーモンを起動順に挙げます。

  1. enpd - ほかの iPlanet サーバによって共有されるイベント登録および通知の汎用サービス。

  2. csnotifyd - カレンダーサーバ通知デーモン

  3. csadmind - カレンダーサーバ管理デーモン (すべてのサーバマシンにインストールが必要)

  4. csdwpd - カレンダーサーバデータベースデーモン (リモートデータベース構成の場合のみ起動される)

  5. cshttpd - カレンダーサーバデーモン (少なくとも 1 つ必要)


csadmind

このサービスで、カレンダーシステムの管理作業に必要な認証を 1 か所で行います。また、サービスの起動または停止、ユーザの一覧表示またはログアウト、ユーザまたはリソースの作成または削除、カレンダーの取り込みまたは格納、カウンタの取り込みまたはリセットなど、iPlanet Calendar Server の管理ツールコマンドのほとんどを提供します。また、アラームの通知方法、グループスケジューリングの要求、データベースのチェックポイントの設定とデッドロックの検出、およびディスク使用状況とサーバレスポンスのモニタ機能も管理されます。

csadmind サービスは、独自の HTTP ポートで管理コマンドをリッスンしています。このサービスは、Calendar Server の実行インスタンスごとに必要です。管理者がコマンドをリモートで実行すると、 csadmind によって カレンダー管理者管理プロトコル (Calendar Administration Management Protocol、CAMP) が使用され、管理クライアントと Calendar Server 間でコマンドが伝達されます。CAMP は、WCAP と形式が似ており、URL に符号化されたコマンドとパラメータを使用します。パフォーマンスを向上させるために、Calendar Server がインストールされているローカルマシンから管理コマンドが発行されると、コマンドは CAMP を使用しないで実行されます。csadmind を使用して、単一マシン上の単一サービスをローカルまたはリモートで停止したり、カレンダーシステム内のすべてのマシン上のすべてのサービスを停止したりできます。


cshttpd

iPlanet Calendar Server 5.0 では、主要な通信手段として HTTP を使用し、HTML に符号化されたコマンドを受信します。5.0 の新しいユーザインタフェースでは、デフォルトの .shtml 拡張子が付いたコマンドを受信し、純粋な HTML 書式のデータを返します。一方、.wcap 拡張子が付いた要求を受信した場合は、標準の RFC2445 iCalendar、XML、あるいは HTML 内に組み込まれた JavaScript 形式の、生の (raw) カレンダーデータとしてデータを書式設定して返します。


csnotifyd

csnotifyd は通知サービスで、カレンダーに基づいてイベントと仕事の通知を送信し、イベントブローカであるイベント通知サーバ (Event Notification Server、ENS) を活用します。さらにイベントを購読し、またそれらのイベントのアラームをイベント通知サービス経由で受信します。詳細については、『iPlanet Calendar Server プログラマリファレンス』の「イベント通知サービス (ENS) の概要」を参照してください。


csdwpd

このサービスを利用して、リモートで動作しているほかの iPlanet Calendar Server インストールから iPlanet Calendar Server のデータに対して、ネットワーク経由でアクセスすることができます。このサービスは、iPlanet Calendar Server 5.0 がインストールされている任意のマシン上のバックグラウンドで実行できます。また、カレンダー操作情報に対する要求を受信するサービスとして、データベースワイヤプロトコル (Database Wire Protocol、DWP) に準拠して動作します。

このサービスは、次の条件を満たすサーバで実行してください。

  • ローカルにカレンダーのデータを保管する機能があること

  • ほかの iPlanet Calendar Server からこのサーバのカレンダーデータにネットワーク経由でアクセスできること


enpd

このデーモンは、イベント通知サービスの一部で、イベントアラームのブローカとして動作します。csadmind デーモンからアラームの通知方法を受け取り、このイベントの受け取り方法を確認し、購読先へのアラーム通知を csnotifyd に渡してイベントの購読者に通知します。また、csnotifyd から購読および購読取り消し (購読解除) を受信および格納します。



グループスケジューリング



バージョン 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.1 にアップグレードするのが、iPlanet Calendar Server を配備するもっとも簡単な方法です。Netscape Directory Server 4.1 では、iPlanet Calendar Server のデータへのアクセス権限を設定できるように、スキーマが拡張されています。また、ディレクトリスキーマを手作業で変更して、iPlanet Calendar Server のデータへのアクセス権限を設定することもできます。iPlanet Calendar Server のディレクトリスキーマを変更する方法についての詳細は、『iPlanet Calendar Server インストールガイド』の「LDAP サーバのインストールと設定」を参照してください。



水平方向のスケーラビリティ



iPlanet Calendar Server を複数のマシンにまたがってインストールすることにより、水平方向のスケーラビリティを得ることができます。iPlanet Calendar Server は、cshttpdcsadmindcsdwpdcsnotifyd、および enpd というデーモンで構成されており、これらのデーモンをさまざまな構成で実行できるため、強力な柔軟性とスケーラビリティが提供されます。



csadmind

 

管理サービス。グループスケジューリングエンジン (Group Scheduling Engine、GSE) も含まれている。アラームモニタも行う

 

csdwpd

 

プロセス間データベースサービス

 

cshttpd

 

HTTP サービス。SHTML および WCAP 要求を処理する

 

csnotifyd

 

通知サービス。データベースが存在するインスタンス内で必要

 

enpd

 

イベント通知サービス

 

iPlanet Calendar Server 5.0 では、水平方向のスケーラビリティを実現するために、Database Wire Protocol (DWP) が内部で使用されています。iPlanet Calendar Server 5.0 ではデフォルトのバークレー DB を使用しており、これはネットワークデータベースでないため、このプロトコルの実装が必要です。DWP プロトコルは、HTTP が基盤になっています。DWP プロトコルは、HTTP の POST または GET コマンドと、直列化されたバイナリデータベース情報を含んだ単一バイナリ MIME 部で構成されます。

今後のリリースでは、カレンダーデータベース API が公開される予定です。そしてデータベースを任意のデータベース技術を使用して実装できます。DWP はネットワークデータベースをサポートしている実装では不要です。


構成

水平方向のスケーラビリティを実現するには、各マシンに iPlanet Calendar Server 5.0 のさまざまな組み合わせのインスタンスをインストールします。各システムの基本要件は次のとおりです。

  • 各インスタンスに csadmind が組み込まれていること。ただし、次の場合は例外

    csadmind なしでイベント通知デーモンである enpdcsnotifyd を別々のインスタンス上にインストールできます (「非接続イベント通知サービス」を参照)。

  • ほかのすべてのデーモンは、1 つ以上のインスタンスに少なくとも 1 回はインストールされていること

    ただし、ローカルデータベース接続を使用して、単一インスタンスをインストールしている場合は例外です。このような単純な構成では、csdwpd デーモンは必要ありません。

表 1-1 は、5 つの構成例と、各インスタンスのインストールに必要なサービスの一覧です。表の後に、これらの構成の図を示します。ほかの構成も可能です。どのようなインスタンスの組み合わせが要件を満たすか検討する必要があります。

表 1-1 必要なサービスのインスタンス構成 

インスタンス

必要なサービス

csadmind

cshttpd

csnotifyd

csdwp

enpd

単純な単一インスタンスのインストール (ローカルデータベース)  

 

 

 

不要  

 

複数の単純なインスタンス (分散データベース)  

 

 

 

 

 

バックエンドの追加 (共有または分割データベース)

フロントエンド

バックエンド  


 


不要  


 


不要

 


 

HTTP サービスだけのインスタンス (データベースサービスだけのインスタンスと組み合わせて使用)

例 :

 

 

 

不要  

不要  

不要  

データベースサービスだけのインスタンス (HTTP サービスだけのインスタンスと組み合わせて使用)

例 :

 

 

不要  

 

 

 

非接続イベント通知サービス (ローカルアラームキューを含む ENS フロントエンド、バックエンド)

フロントエンド

バックエンド  



 



不要  



不要  



不要

 



不要  


単純な単一インスタンス

iPlanet Calendar Server 5.0 を実行できるもっとも単純な構成です。図 1-3 に示すように、受信した SHTML と WCAP 要求を処理する cshttpd、イベントを通知する enpdcsnotifyd、および必須の csadmind から構成されています。データベース全体はローカルです。

図 1-3    単純な単一インスタンス構成




バックエンドの追加

図 1-4 に示すように、この構成は基本的に単純な単一インスタンスのインストールですが、1 つ以上のデータベースバックエンドが追加され、データベースは複数のマシン間で分割または共有できます。cshttpd はフロントエンドだけにインストールされ、csdwpd はバックエンドだけにインストールされています。この構成は、ネットワークフロントエンドおよびデータベースバックエンドのモデルと似ています。ただし、この構成ではフロントエンドでもデータベースが処理されます。この例では、カレンダーデータベースが 2 つに分割され、それぞれ別のマシンで管理されます。つまり、フロントエンドマシンの cal.example.com では A-M のデータが保管され、バックエンドマシンの caldb.example.com では N-Z のデータが保管されています。

図 1-4    バックエンドの追加



ネットワークフロントエンド、データベースバックエンド

この構成では、図 1-5 に示すように、HTTP サービスフロントエンドで、ブラウザおよびほかのクライアントがカレンダーサーバに接続します。フロントエンドの名前は、この例では cal.example.com です。カレンダーデータに対するすべての要求は、この例では、caldb.example.com という名前のデータベースサービスにルーティングされます。以下のことに注意してください。フロントエンドでは、データベースを処理しないため、cshttpdcsadmind 以外は必要ありません。一方、バックエンドでは、cshttpd は必要ありませんが、csdwpdenpd、および csnotifyd が必要です。

図 1-5    ネットワークフロントエンド、データベースバックエンド



複数のフロントエンド、複数のバックエンド

この構成では、図 1-6 に示すように、外部の何らかのメカニズムによって、クライアントはフロントエンドの HTTP サービスのどれかにルーティングされます。ログインしたときに返されるセッション ID は、ログインしたホストのみで有効です。このセッション ID に対するすべての要求は、同じホストにルーティングされる必要があります。異なるホストにルーティングされた場合、ユーザは再度ログインする必要があります。この例では、データベースが分割されており、カレンダー A-Mcaldb1.example.com サーバにルーティングされ、カレンダー N-Zcaldb2.example.com サーバにルーティングされます。CSAPI プラグインによって、カレンダー ID とカレンダーが存在するサーバの名前が対応付けられます。iPlanet Calendar Server 5.0 に実装されているデフォルトの CSAPI では、カレンダー ID をサーバ名に関連付けるアルゴリズムが使用されています。

図 1-6    複数のフロントエンド、複数のバックエンド



複数の単純なインスタンス

図 1-7 に示すように、この構成は、単純な構成の複数のコピーで構成されます。さらに csdwpd が追加されて、データベースがインスタンス間で分散および共有されています。このため、前述した複数のフロントエンド構成と同じように、現在の要求を取得するフロントエンドを決定するために、何らかのルーティングメカニズムが必要です。

図 1-7    複数の単純なインスタンス



非接続イベント通知サービス

enpd または csnotifyd は、cshttpdcsdwpd、または csadmind と同じマシン上で実行する必要はありません。環境によっては、図 1-8 に示すような配置も可能です。

図 1-8    非接続 ENS 構成




新しいデフォルトクライアント UI: SHTML



iPlanet Calendar Server 5.0 では、バージョン 2.x で実装されていた WCAP プロトコルを使用するデフォルトクライアント UI (ユーザインタフェース) は実装されていません。WCAP プロトコルでは、HTML と JavaScript の組み合わせが生成され、クライアントに渡されて処理されていました。新しい SHTML コマンドを使用することによって、サーバですべての処理が行われてから、HTML 形式だけの出力が生成され、クライアントに渡されます。新しい SHTML コマンドでは、XML プロトタイプ定義と XSL スタイルシートテンプレートを使用して、HTML が生成されます。UI 内に表示されるビューおよびダイアログごとに、1 つ以上の対応するテキストファイルのペアがあります。各ペアは、.xml ファイルと .xsl ファイルから構成されます。プログラマは、これらのファイルの一方または両方を変更または置換して、UI をカスタマイズできます。

バージョン 2.x 用カスタム UI をすでに開発している場合は、変更しないでそのまま使用できます。iPlanet Calendar Server 5.0 は、iPlanet Calendar Server 2.x との下位互換性が保証されています。

WCAP は、未処理のカレンダーデータを取り出す唯一の方法です。書式設定されていない生のカレンダー情報が必要な場合、クライアントは WCAP 形式で要求を送信する必要があります。



アーキテクチャの基本



iPlanet Calendar Server 5.0 は、共有ライブラリの集合として実装されています。これらの共有ライブラリは、さまざまな組み合わせで結合されて、実行可能デーモンである cshttpdcsdwpdcsadmind、および csnotifyd が動作します。

イベント通知サービス (ENS) のデーモンである enpd サービスは、iPlanet Calendar Server 5.0 に付属しており、個別にインストールします。ENS についての詳細は、「イベント通知サービス」、および『iPlanet Calendar Server プログラマリファレンス』の第 4 章と第 5 章を参照してください。

共有ライブラリは、サブシステムと呼ばれる次の 3 つの主要カテゴリに分類されます。

  • プロトコル

  • コア

  • データベース

図 1-9 は、これらのサブシステム間の論理的な流れを示しています。この図の後で、各サブシステムについて説明します。

図 1-9    サーバのアーキテクチャ



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 プロトコルについての詳細は、『iPlanet Calendar Server プログラマリファレンス』を参照してください。


コア

コアサブシステムは、アクセスコントロールサブシステム、UI ジェネレータサブシステム (XML と XSLT を使用する SHTML、またはデータ変換機能を使用する WCAP)、および Caldb サブシステムで構成され、それぞれ別の区分に配置されています。CSAPI プラグインは、コアサブシステム内にあります。

コマンドは、プロトコルによって処理されてコアサブシステムに送信され、コアサブシステムで実行されます。コマンドには、次の 4 つの種類があります。

  • カレンダー操作 - データベースの処理を必要とするカレンダー操作の場合、要求はプロトコルによってコアのアクセスコントロールサブシステムに送信されます。アクセスコントロールサブシステムは、汎用の Caldb サブシステムを使用して、カレンダーの読み込みおよび書き込み操作を行います。

    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 に置き換わりました。



  • ユーザの属性 - ユーザ属性に関する要求は、コアのディレクトリサービスに送信されます。iPlanet Calendar Server 5.0 では、ディレクトリサービスなどの外部サービスを取得するときにプラグインが使用できます。このバージョンには、LDAP サービスのプラグインが付属しています。インストールをカスタマイズするには、LDAP 以外のディレクトリサービスをサポートするプラグインを別に作成します。

  • 認証 - 認証に関する要求は、コアのデフォルト LDAP ディレクトリに送信されます。iPlanet Calendar Server 5.0 には、次の 3 つの認証オプションがあります。

    • CSAPI 認証。

    • プロキシ認証 SDK。外部プラグイン認証

    • シングルサインオン認証。単一ドメイン内で、アプリケーション間の信頼サークルが形成される

    CSAPI 認証およびプロキシ認証 SDK には、カスタマイズ可能な API があります。

  • その他 - その他のサービスに関する要求は、ほかのコアサブシステムに送信されます。


データベース

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 メソッドの PUBLISHREQUESTREPLY、および CANCEL がサポートされます。


カレンダーのユーザ設定

iPlanet Calendar Server は、ユーザ設定と呼ばれる属性に従って、個々のユーザのカレンダー操作情報の表示を生成します。ユーザ設定は、カレンダー設定とは異なり、情報のユーザインタフェース表示方法を示しています。ユーザ設定には、電子メールのアドレス、ユーザ名、カレンダー情報を描画するときに使用する色などがあります。


カレンダーアクセスコントロール

iPlanet Calendar Server 5.0 では、グループスケジューリングを使用するときにカレンダーにアクセスできるユーザが、アクセスコントロールで決定されます。アクセスコントロールエントリ (Access Control Entry、ACE) の文字列を使用して、ユーザに許可されるカレンダーへのアクセス特権の種類を指定します。ACE の文字列は、アクセスコントロールのカレンダープロパティである acl (アクセスコントロールリスト) に格納され、カレンダーのアクセスコントロールを一元管理します。カレンダープロパティへの書き込み権限を持つユーザだけが、これらの文字列を変更できます。デフォルトでは、Calendar Server の管理者とカレンダーの主な所有者だけが、プロパティの書き込み権限を持ちます。iPlanet Calendar Server のアクセスコントロールモデルでは、ほかのユーザの代理としてふるまう機能もサポートされます。たとえば、管理者のアシスタントに対して、ほかのユーザの代理としてふるまう権限を設定すると、管理者のアシスタントの代理としてイベントの招集、取り消し、応答などを行うことができます。

アクセスコントロールについては、次の節で詳しく説明します。


サポートされるコーディング方式

データの格納のために、コアサブシステムは、入力を Caldb サブシステムで使用されるバイナリ形式に変換します。iPlanet Calendar Server では、次のコーディング方式をサポートしています。

  • HTML (デフォルト)

  • HTML/JavaScript

  • XML

  • iCalendar

UI のビューとダイアログ用に独自の XSL 変換を開発して、ほかの形式を追加できます。また、CSAPI を使用して、WCAP プロトコルの変換 DLL または共有ライブラリを開発できます。CSAP についての詳細は、『iPlanet Calendar Server プログラマリファレンス』を参照してください。



カレンダーサーバ API (CSAPI)



CSAPI は、COM と似たインタフェースです。CSAPI を使用すれば、サーバの一部をカスタマイズして実装できます。次の機能を変更するには、CSAPI を使用します。

  • アクセスコントロール

  • 認証

  • カレンダー検索

  • データ書式の変換

  • ユーザ属性へのアクセス

CSAPI についての詳細は、『iPlanet Calendar Server プログラマリファレンス』を参照してください。



イベント通知サービス



iPlanet Calendar Server では、イベント通知サービス (ENS) は主としてアラームディスパッチャとして使用されます。アラームディスパッチャによってアラームキュー上のイベントが検出され、イベントの通知が購読者に送信されます。ENS API を使用すれば、iPlanet Calendar Server 5.0 で使用される公開および購読に関する次の機能を変更できます。

  • イベントを購読する

  • イベントの購読を解除する

  • イベントの購読者に通知する



プロキシ認証 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 で認証されると、カレンダーサーバは、プロキシサーバによって生成された証明書を受け入れます。この証明書がすべてのアプリケーションで使用されます。





シングルサインオン



シングルサインオン (Single Sign-on、SSO) は、iPlanet Calendar Server 5.0 に用意されている 3 つの認証メカニズムの 1 つです。シングルサインオンを使用するには、クライアントのブラウザで cookie がサポートされ、サーバで HTTP がサポートされている必要があります。シングルサインオンは、その他の認証メカニズム、セッション管理、およびリソースアクセスコントロールから独立しています。

シングルサインオンを使用すると、アプリケーション間の信頼サークルが形成され、信頼サークル内で cookie が共有され、ユーザ認証が交換されます。必要に応じて、各アプリケーションに独自の検証インタフェースを設定できます。ただし、各検証機能は、ほかのアプリケーションの検証機能のルーチンで認識される cookie を格納します。

このメカニズムには、いくつかの制限事項があります。まず、アプリケーションごとに、検証プロトコルが実装されている必要があります。また、信頼されているすべてのアプリケーションは、同じドメインおよび同じマシンに配置されている必要があります。さらに、異なる識別情報に切り替えるときは、ユーザがブラウザを再起動する必要があります。これは、各ブラウザセッションで複数のユーザ ID がサポートされないためです。



Web カレンダーアクセスプロトコル (WCAP)



WCAP はコマンドベースのシステムで、カレンダー操作データを転送するクライアントの要求とサーバの応答で構成されます。WCAP 2.0 では、HTTP 経由でカレンダー操作データが返されます。WCAP コマンドを使用すると、カレンダーコンポーネント、ユーザ設定、カレンダーのプロパティ、およびタイムゾーンなどのカレンダー情報を取得、削除、および変更できます。時刻、文字列、パラメータなどは、ほかの方法で指定されていない限り、RFC2445、RFC2446、および RFC2447 の仕様に準拠します。

WCAP は、iPlanet Calendar Server 5.0 に用意されている 3 つのユーザ認証メカニズムの 1 つです。デフォルトでは、プレーンテキストのパスワードとユーザ名を使用します。WCAP で使用する認証メカニズムは、置換または拡張できます。

WCAP では、クライアントの要求とサーバの応答で、次のデータ形式がサポートされます。

  • プレーンテキスト形式のカレンダーデータ (HTML のみ)

    これは、UI の新しいデフォルトの形式です。

  • text/calendar 形式のカレンダーデータ (iCalendar)

  • text/xml 形式のカレンダーデータ

    XML スタイルの iCalendar。

  • text/js として、JavaScript オブジェクトが組み込まれたカレンダーデータ

    これは、iPlanet Calendar Server2.x ユーザインタフェースのデフォルトです。


前へ     目次     索引     DocHome     次へ     
Copyright © 2000 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.

Last Updated May 21, 2001