Sun Java System Calendar Server には、次の内部サブシステムが含まれます。
次の図は、これらのサブシステム間の論理フローを示しています。
クライアントは、HTTP プロトコル層を使用して要求を送信することによりカレンダデータを取得します。これは、カレンダ要求のサポートを効率化するための最小の HTTP サーバー実装です。これを実現するために、URL に WCAP (Web カレンダアクセスプロトコル) コマンドを追加します。
WCAP は Calendar Server 用の独自のインタフェースの記述に利用できるオープンプロトコルです。WCAP コマンド (拡張子は .wcap) を使用することにより、特定の管理コマンドを除くほとんどのサーバーコマンドを実行できます。WCAP コマンドを使用すると、HTML でラップされた XML または iCalendar として出力を要求できます。
WCAP コマンドについては、『Sun Java System Calendar Server 6.3 WCAP Developer’s Guide 』を参照してください。
コアサブシステムには、アクセス制御コンポーネント、WCAP コマンド解釈コンポーネント、およびカレンダデータベースコンポーネントから受領されるデータをフォーマットするためのデータトランスレータがあります。コアサブシステムはカレンダ要求を処理し、XML および iCalendar 出力を生成します。コアサブシステムは、ユーザー認証も行えます。
データベースサブシステムは、Sleepycat Software の Berkeley DB (データベース API は未公開) を使用します。データベースサブシステムは、データベースとの間で予定、仕事 (作業)、アラームなどのカレンダデータを取得、格納します。カレンダデータは iCalendar 形式に基づいており、Calendar Server データに使用されるスキーマは iCalendar 標準のスーパーセットです。
データベースサブシステムは、低レベル形式のデータを返し、コア UI ジェネレータはその低レベル形式のデータを変換して WCAP を通じて送信します。
配布されたカレンダデータベース用に、Calendar Server では Distributed Wire Protocol (DWP) を使用してネットワーク機能を提供します。詳しくは、「1.10.5 分散データベースサービス: Calendar Server バージョン 6.3 の csdwpd」を参照してください。
カレンダデータベースについては、第 16 章「csdb ユーティリティーを使用した Calendar Server データベースの管理」を参照してください。