Sun Java System Calendar Server 6.3 管理指南

第 1 章 Calendar Server 6.3 软件概述

Sun JavaTM System Calendar Server 6.3 (Calendar Server) 是一款基于 Web 的可伸缩解决方案,可供企业和服务提供商进行集中的日程管理和预定。Calendar Server 既支持事件和任务的个人日历和组日历,也支持诸如会议室和设备的资源日历。

有关基本配置方案的信息,参见《Sun Java Communications Suite 5 Deployment Planning Guide 》

本章包含以下主题:


注 –

在本章和随后各章中,如果指定了全限定目录路径,则它们都是针对 Solaris 平台的。针对 Solaris 的默认路径为:

/opt/SUNWics5/cal

/var/opt/SUNWics5

/etc/opt/SUNWics5

针对 Linux® 的默认路径为:

/opt/sun/calendar

/var/opt/sun/

/etc/opt/sun

Linux 用户应使用 Linux 默认路径替换显示 Solaris 默认路径的命令中的 Solaris 默认路径。


1.1 Calendar Server 6.3 软件安装

Calendar Server 6.3 的安装与之前的 Calendar Server 版本存在很大的不同。必须使用 Communications Suite 安装程序来安装 Calendar Server 6.3 软件。切勿使用 Java Enterprise System 安装程序。但是,您可能需要使用 Java Enterprise System 安装程序来安装其他服务器产品。

有关安装 Calendar Server 6.3 的更多信息,参见《Sun Java Communications Suite 5 Installation Guide》

如果要从 Calendar Server 的早期版本升级,升级过程如《Sun Java Communications Suite 5 Upgrade Guide》所述。

有关将日历数据库和 LDAP 数据库从 Calendar Server 的早期版本迁移到版本 6.3 的信息,参阅第 3 章,Calendar Server 6.3 的数据库迁移实用程序中的信息。

1.2 Calendar Server 版本 6.3 的安装后配置

安装 Calendar Server 之后,必须对其进行配置。安装过程中,安装程序不会执行配置任务。

ProcedureCalendar Server 版本 6.3 的安装后配置的高级任务列表

  1. 运行 Directory Server 设置脚本 comm_dssetup.pl 来配置 Sun Java System Directory Server 5(如果该脚本尚未运行)。

    该脚本位于以下目录中:/opt/SUNWcomds/sbin

    有关运行该脚本的信息,参见《Sun Java Communications Suite 5 Installation Guide》

  2. 运行 Calendar Server 配置程序 csconfigurator.sh 来根据您站点的具体要求进行配置,并创建一个新的 ics.conf 配置文件。

    有关 ics.conf 文件中的参数的说明,参见附录 E,Calendar Server 配置参数

    配置程序位于以下目录中:/opt/SUNWics5/sbin

    有关运行 csconfigurator.sh 的信息,参见第 2 章,Calendar Server 6.3 软件的初始运行时配置程序 (csconfigurator.sh)

  3. 通过编辑 ics.conf 文件中的参数自定义系统。

    第 3 部分, 自定义 Calendar Server 配置中的各章节描述了如何通过编辑 ics.conf 文件自定义系统。


    注 –

    ics.conf 可以包含具有不同值的重复参数。系统依次读取文件,并且同时更新系统设置。通过此方法,它找到的此参数的最后一个值即为要使用的值。

    最好的做法就是将所有的 ics.conf 设置都添加到文件末尾,这样就可以知道已设置了哪些值。但是,为提高效率,应将旧的参数实例注释掉。其原因是系统读取的参数越少,其处理文件的速度就越快。


1.3 Calendar Server 版本 6.3 的特殊帐户

Calendar Server 特殊帐户包括:

1.3.1 Calendar Server 版本 6.3 中的 Calendar Server 管理员 (calmaster) 帐户

Calendar Server 管理员是指具有相关口令且可以管理 Calendar Server 的某个特定用户名。例如,Calendar Server 管理员可以启动和停止 Calendar Server 服务、添加和删除用户、创建和删除日历等等。此用户拥有 Calendar Server 的管理员权限,但不一定拥有 Directory Server 的管理员权限。

默认的 Calendar Server 管理员用户 ID 为 calmaster,但如需要,您可以在配置 Calendar Server 时指定其他用户。安装后,也可以通过 ics.conf 文件中的 service.siteadmin.userid 参数来指定其他用户。

所指定的 Calendar Server 管理员用户 ID 必须为 Directory Server 中的有效用户帐户。如果配置时 Directory Server 中不存在 Calendar Server 管理员用户帐户,配置程序将为您创建一个用户帐户。

下表介绍了 ics.conf 文件中的 Calendar Server 管理员配置参数。

表 1–1 Calendar Server 管理员 (calmaster) 配置参数

参数 

说明 

service.siteadmin.userid

指定作为 Calendar Server 管理员的用户的用户 ID。安装 Calendar Server 时必须提供此必需的值。默认值为 calmaster

service.siteadmin.cred

指定作为 Calendar Server 管理员的用户 ID 的密码。安装时必须提供此必需的值。 

caldb.calmaster

Calendar Server 管理员的电子邮件地址。默认值为 root@localhost

service.admin.calmaster.overrides.

accesscontrol

指定 Calendar Server 管理员是否可以覆盖访问控制。默认值为 no

service.admin.calmaster.wcap.

allowgetmodifyuserprefs

 

指定 Calendar Server 管理员是否可以使用 WCAP 命令获得并设定用户首选项。默认值为 no

service.admin.ldap.enable

启用 LDAP 服务器来验证在 service.siteadmin.userid 中指定的用户。默认值为 yes

1.3.2 Calendar Server 版本 6.3 的 Calendar Server 用户和组帐户

这些特殊帐户是运行 Calendar Server 的用户 ID 和 组 ID。建议您使用默认值(icsusericsgroup),除非您有充分的理由不使用默认值。如果默认值不存在,配置程序将自动创建。

但如果需要,您可以在运行 Calendar Server 配置程序时指定不同于 icsusericsgroup 的值。这些值分别存储在 ics.conf 文件的 local.serveruidlocal.servergid 参数中。

1.3.3 超级用户(root 用户)

必须以超级用户 (root) 身份登录或成为超级用户才能安装 Calendar Server。还可以作为超级用户运行,使用命令行实用程序来管理 Calendar Server。但对于某些任务,应该作为 icsusericsgroup(或选定的值)而不是超级用户来运行,以防无法访问 Calendar Server 文件。

1.3.4 Calendar Server 版本 6.3 的非 root 用户 (icsuser, icsgroup)

虽然需要 root 权限才可安装 Calendar Server,但是可以以非 root 用户身份运行服务。

然而,如果以 root 身份启动服务,则一旦执行了需要 root 权限的任务,每个进程都会将有效 UID 更改为运行时(非 root)用户和组。这么做允许使用 1024 以下的端口。但是,如果以非 root 运行时用户和组的身份启动服务,则必须将 Web 服务器端口设置为大于 1024 的值,这样才能成功启动服务。


注 –

在配置时会自动创建非 root 用户或组。默认值为 icsusericsgroup


1.4 Calendar Server 版本 6.3 的代理管理员登录

要允许管理员管理用户日历,需将 ics.conf 文件中的以下参数默认设置为:service.http.allowadminproxy="yes"

如果使用的是 Communications Express,则必须将该参数设置为 "yes"

有关该参数以及验证代理登录是否正常工作的更多信息,参见4.5 配置登录和验证

1.5 Calendar Server 版本 6.3 的最终用户管理

最终用户可使用 Web 图形用户界面 (graphical user interface , GUI)、Sun Java System Communications Express 或通过 Connector for Microsoft Outlook(它允许最终用户在利用 Calendar Server 后端的同时继续使用其桌面上的 Outlook)从客户机连接到 Calendar Server。用户必须在 LDAP 目录中拥有唯一条目。每个用户可以有一个或多个日历,同时每个用户可以属于一个或多个组。

拥有适当权限的管理员可以使用 Delegated Administrator 实用程序(命令行)或控制台 (GUI) 来添加、删除或修改用户 LDAP 条目或资源 LDAP 条目。

有关 Delegated Administrator 实用程序 (commadmin) 的文档,参见《Sun Java System Communications Services 6 2005Q4 Delegated Administrator Guide》

有关 Delegated Administrator 控制台的文档,请参见控制台的联机帮助。

此外,如果需要,可以使用 ldapmodify 直接修改 LDAP 条目。有关 ldapmodify 的信息,参阅《Sun ONE Directory Server Resource Kit 5.2 Tools Reference》


注意 – 注意 –

在以前的 Java Enterprise System 部署中使用的实用程序(例如 csuser)仍然与 Calendar Server 捆绑在一起。如果在部署中使用 Access Manager,请勿使用这些实用程序来管理或创建用户、域或资源 LDAP 条目。也有一些例外。遇到这些例外时,此向导将指导您使用适当的实用程序。


本节介绍用户和用户日历管理的以下主题:

1.5.1 为 Calendar Server 版本 6.3 选择合适的用户管理工具

可使用以下任意一种用户管理工具来管理日历用户、组和资源:


注 –

Delegated Administrator 不管理日历。要为用户、组和资源创建日历,可使用 Calendar Server 实用程序 cscalcsresource,或打开自动置备。打开自动置备后,系统会在两种情况下创建默认日历:一种情况是登录用户没有默认日历,另一种情况是在不存在默认日历的情况下向用户、组或资源发出邀请。


1.5.2 在 Calendar Server 版本 6.3 中创建用户 LDAP 条目

可使用以下工具在 LDAP 中创建用户:

1.5.3 在 Calendar Server 版本 6.3 中验证用户

Calendar Server 需要使用 LDAP 目录服务器(例如 Sun Java System Directory Server)来验证用户和存储用户首选项。

1.5.4 了解 Calendar Server 版本 6.3 的用户首选项

Calendar Server 允许用户通过设置用户首选项属性(它们存储在目录服务器中)来自定义其日历数据视图。用户首选项(与 Calendar Server 配置参数相对)是指日历数据的用户界面表示,包含诸如用户名、电子邮件地址和以及渲染日历视图时优先使用的颜色等条目。

有关首选项列表,参阅《Sun Java System Calendar Server 6.3 WCAP Developer’s Guide》中的 WCAP 命令 get_userprefsset_userprefs

1.5.5 Calendar Server 版本 6.3 中的 LDAP 组概述

组为用户的命名集合。每个组都有一个 LDAP 条目,类似于用户或资源条目。所有服务(如日历和消息传送)可使用同一组条目。

以下是一些有关 Calendar Server LDAP 组的情况:

有关组日历的更多信息,参见以下章节:1.5.7 Calendar Server 版本 6.3 的组日历概述

1.5.6 自动置备:在 Calendar Server 版本 6.3 中自动创建日历

通过在 ics.conf 文件中设置 local.autoprovision="yes" 即可自动填充日历数据库。此外,域必须已启用日历(拥有日历服务),表示域 LDAP 条目必须包含 icsCalendar 对象类。

有两种自动创建默认日历的方法:

例如,假设目录服务器中存在 tchang 但尚未为其启用日历功能(即,不具有默认日历)。在打开自动置备并启用域日历时:

有关用户、资源和组所需的配置文件参数的更多信息,参见4.3 配置 LDAP 用户、组和资源的日历

1.5.7 Calendar Server 版本 6.3 的组日历概述

可为所有启用了日历的 LDAP 组创建组日历。计划此日历的方法与计划个人日历的方法非常类似。发送给组的邀请将被计划给组日历和所有个人成员日历。如果邀请尚不存在的组日历参与事件,并且打开了自动置备,系统会创建具有一组默认属性和 ACL 的日历。

以下是一些组日历的情况:

有关 Calendar Server 用户的更多信息,参见第 14 章,管理用户、组和资源

1.5.8 Calendar Server 版本 6.3 的资源概述

资源是可以使用日历安排的任何内容,例如会议室或投影仪。每个这样的项目都有一个单独的资源 LDAP 条目。使用适当的工具创建 LDAP 条目及其关联的日历:


注 –

无需明确地创建资源日历。在已启用自动置备时,系统会在首次邀请资源时自动为该资源创建资源日历。首次邀请用户和组时也会为其创建日历。


1.6 Calendar Server 版本 6.3 的数据格式和标准概述

本节介绍有关 Calendar Server 数据的以下信息:

1.6.1 Calendar Server 版本 6.3 的数据格式

Calendar Server 数据格式采用 RFC 2445 "Internet Calendaring and Scheduling Core Object Specification (iCalendar)" 规范。

Calendar Server 支持以下格式:

1.6.2 导入和导出 Calendar Server 版本 6.3 的日历数据

可采用 iCalendar (.ical) 或 XML (.xml) 格式导入和导出日历数据。Calendar Server 管理员可使用 Calendar Server 的 csimportcsexport 实用程序导入和导出日历数据。最终用户可以使用 Communications Express 用户界面导入和导出日历数据。

1.6.3 Calendar Server 版本 6.3 中用于数据交换的日历链接

可将日历作为电子邮件消息和 Web 页面上嵌入的链接来进行引用。只要日历允许对其进行读访问,用户就可以单击链接来查看该日历,而无需登录到 Calendar Server。例如,以下链接指定了名为 Auditorium 的资源会议室:

http://calendar.sesta.com:8080/uwc/?calid=Auditorium

有关如何链接到日历的信息,参见15.8 创建日历链接

1.6.4 Calendar Server 版本 6.3 中的服务器警报

Calendar Server 支持服务器端的电子邮件警报,并可将其发送给一组收件人。电子邮件消息的格式是可以配置的,可以作为服务器属性,而不是作为用户或日历属性进行维护。

1.6.5 Calendar Server 版本 6.3 支持 ITIP/IMIP 标准

Calendar Server 支持 ITIP/IMIP 标准(RFC 2446 和 RFC 2447),包括用于事件的 ITIP 方法PUBLISHREQUESTREPLYCANCEL

1.7 Calendar Server 版本 6.3 的 LDAP 数据高速缓存选项

LDAP 数据高速缓存选项可确保提交 LDAP 数据后可以立即使用该数据,即使将 LDAP Directory Server 配置为提交的数据需经一段时间延迟方可使用。

例如,如果您的站点上部署了主/从 LDAP 配置,其中,Calendar Server 是通过从属 LDAP Directory Server 访问主 LDAP 目录,因而会导致提交的 LDAP 数据需经一段延迟方可使用,则配置 LDAP 数据高速缓存可以确保 Calendar Server 客户端获得准确的 LDAP 数据。

本节包含以下主题:

1.7.1 使用 Calendar Server 版本 6.3 的 LDAP 数据高速缓存的注意事项

按照以下原则确定您的站点是否需要配置 LDAP 数据高速缓存:

1.7.2 Calendar Server 版本 6.3 的主/从 LDAP 配置

主/从 LDAP 配置包含一个主(根)Directory Server 和一个或多个从属(用户或副本)Directory Server。Calendar Server 可直接访问或通过从属 Directory Server 访问主 LDAP Directory Server:

1.7.3 Calendar Server 版本 6.3 的 LDAP 数据高速缓存

LDAP 数据高速缓存通过为 Calendar Server 客户端提供最新的 LDAP 数据解决了主/从 LDAP 配置问题,即使主 Directory Server 还未更新每个从属 Directory Server。

如果启用了 LDAP 数据高速缓存,Calendar Server 会将已提交的 LDAP 数据写入高速缓存数据库(ldapcache.db 文件)。默认情况下,LDAP 高速缓存数据库位于 ldap_cache 数据库目录中,但如果需要,您也可以将其配置为其他位置。

客户端更改单个用户的 LDAP 数据时,Calendar Server 会将更改后的数据写入 LDAP 高速缓存数据库(同时也写入从属 Directory Server)。随后的客户端操作将从高速缓存数据库中检索 LDAP 数据。

此数据检索应用于单个用户的以下操作:

从而,LDAP 数据高速缓存数据库可提供:

1.7.4 Calendar Server 版本 6.3 的 LDAP 数据高速高速缓存限制

LDAP 数据高速缓存不提供:

1.8 Calendar Server 版本 6.3 的访问控制

Calendar Server 使用访问控制列表 (Access Control List, ACL) 来确定日历、日历属性和日历组件(例如事件和待办事项(任务))的访问控制。

本节包含以下主题:

1.8.1 增加 Calendar Server 版本 6.3 的登录安全性

用户通过 Communications Express 登录 Calendar Server 时,默认情况下验证进程并不加密登录信息(包括用户名和密码)。如果希望增加站点登录的安全性,请配置 Calendar Server 使用安全套接口层 (Secure Sockets Layer, SSL) 协议来加密登录数据。有关更多信息,请参见第 7 章,配置 SSL,配置 SSL。

1.8.2 Calendar Server 版本 6.3 中的用户访问控制

确定对日历、日历属性和日历组件的访问权限时,Calendar Server 将考虑以下用户:

1.8.3 Calendar Server 版本 6.3 的访问控制列表 (Access Control List, ACL)

Calendar Server 使用访问控制列表 (Access Control List, ACL) 来确定日历、日历属性和日历组件(例如事件和待办事项(任务))的访问控制。ACL 由一个或多个访问控制条目 (access control entry, ACE) 组成,这些条目是共同应用到同一个日历或组件的字符串。ACL 中的每个 ACE 之间必须用分号分隔。

以下为一组示例:

ACE 由以下元素组成,每个元素之间由插入符号 (^) 分隔:

例如,在 ACE jsmith^c^wd^g 中:

1.8.3.1 Calendar Server 版本 6.3 中的 Ace 字符串的 Who 元素

Who 元素是 ACE 中的主要值,表示将应用 ACE 的人(例如单个用户、域或特定类型的用户)。

Who 也称为通用主要名称 (UPN)。用户的 UPN 是用户的域和登录名的组合。例如,域 sesta.com 中的用户 bill 的 UPN 为 bill@sesta.com

表 1–2 访问控制条目 (ACE) 字符串中的 "Who" 格式

格式 

说明 

user

表示一个特定的用户。例如:jsmith。 

user@domain

表示特定域中的特定用户。例如:jsmith@sesta.com

@domain

表示指定域中的任何用户。 

例如:@sesta.com 指定 jsmith@sesta.comsally@sesta.comsesta.com 中的任何其他用户。

使用此格式可以为用户授予或拒绝对整个域的访问权限。 

@

表示所有用户。 

@@{d|p|o|n}

表示日历的所有者: 

  • @@d—主要所有者的域

  • @@p—仅主要所有者

  • @@o—所有所有者,包括主要所有者

  • @@n—非所有者

1.8.3.2 Calendar Server 版本 6.3 中的 Ace 字符串的 What 元素

What 元素指定要访问的目标,例如日历、日历组件(事件或任务)或日历属性。

表 1–3 访问控制条目 (ACE) 字符串中的 "What" 值

值 

说明 


c                           

指定日历组件,例如事件和任务 


p                           

指定日历属性,例如名称、说明和所有者等 


a                           

指定整个日历(所有内容),包括组件和属性 

1.8.3.3 Calendar Server 版本 6.3 中的 Ace 字符串的 How 元素

How 元素指定允许的访问控制权限的类型,例如读、写或删除。

表 1–4 访问控制条目 (ACE) 字符串中的 "How" 类型

类型 

说明 

r

读访问。 

w

写访问,包括添加新项和修改现有项。 

d

删除访问。 

s

预定(邀请)访问。可以发送请求、接受回复以及进行其他 ITIP 预定交互操作。 

f

仅空闲/繁忙(空闲时间)访问。空闲/繁忙访问表示用户能够查看日历中的时间安排,但不能查看事件的详细信息。已预定的时间块将只显示“不可用”。未预定任何事件的时间块旁边将显示“可用”。 

域的查找访问。 

e

以代表身份进行回复访问。此类型授予用户代表日历的主要所有者接受或拒绝邀请的权限。此访问类型不需要明确授予,因为当一名用户被指定为日历的所有者(非主要所有者)时,就暗含授予了这种权限。 

i

以代表身份进行邀请访问。此类型授予用户代表日历的主要所有者创建和修改已邀请其他参与者的组件的权限。此访问类型不需要明确授予,因为当一名用户被指定为日历的所有者(非主要所有者)时,就暗含授予了这种权限。 

c

以代表身份进行取消访问。此类型授予用户代表日历的主要所有者取消已邀请其他参与者的组件的权限。此访问类型不需要明确授予,因为当一名用户被指定为日历的所有者(非主要所有者)时,就暗含授予了这种权限。 

z

自我管理访问—授予已经验证的用户添加和删除访问控制条目的权力。拥有该权限的用户可以添加和删除自身的权限。例如,UserA 可能不具有对 UserB 的日历的写访问权限,但是 UserA 被授予了对 UserB 的日历的自我管理访问权限。因此,UserA 可以添加一条访问控制条目,授予自己对 UserB 的日历的写访问权限。 

备注:UserA 不能使用该权限授予其他用户对 UserB 的日历的访问权限。例如,自我管理权限不允许 UserA 授予 UserC 对 UserB 的日历的访问权限。 

1.8.3.4 Calendar Server 版本 6.3 中的 Ace 字符串的 Grant 元素

Grant 元素指定是授予还是拒绝授予指定的访问类型,例如 d(删除)或 r(读取)。

表 1–5 访问控制条目 (Access Control Entry, ACE) 字符串中的 Grant 值

值 

说明 

g

授予特定的访问控制权限。 

d

拒绝授予特定的访问控制权限。 

1.8.3.5 Calendar Server 版本 6.3 的 ACE 示例

以下示例显示了 ACE 的用法:

1.8.3.6 对 Calendar Server 第 6.3 版的 ACL 中的 ACE 进行排序

在 Calendar Server 读取 ACL 时,它会使用遇到的第一个 ACE,无论其是授予还是拒绝授予对目标的访问权限。因此,ACL 条目的顺序非常重要。对 ACE 字符串排序时,应将明确具体的条目放在概括性条目之前。

例如,假设日历 jsmith:sports 的 ACL 中的第一个 ACE 将读访问权限授予所有用户。然后,Calendar Server 遇到的第二个 ACE 拒绝授予 bjones 对此日历的读访问权限。在这种情况下,Calendar Server 将授予 bjones 对此日历的读访问权限,而忽略第二个 ACE,因为它与第一个 ACE 冲突。因此,要确保实现特定用户(例如 bjones)的访问权限,应将 bjones 的 ACE 放在 ACL 中全局性较强的条目(例如,应用于日历的所有用户的 ACE)之前。

1.9 Calendar Server 版本 6.3 的内部子系统

Sun Java System Calendar Server 包括以下内部子系统:

下图显示了通过这些子系统的逻辑流程。

图 1–1 Calendar Server 6.3 内部子系统逻辑流程

该图显示了 Calendar Server 的子系统和组件的概念视图。后面的文字对这些子系统和组件进行了介绍。

1.9.1 协议子系统

客户端通过使用 HTTP 协议层提交请求来检索日历数据。这是最小 HTTP 服务器实现,已被流程化以支持日历请求。它是通过将 Web 日历访问协议 (WCAP) 命令附加到 URL 之后实现的。

WCAP 是一个开放协议,它允许您编写自己的 Calendar Server 界面。使用 WCAP 命令(.wcap 扩展名),可以执行除某些管理命令之外的大多数服务器命令。可以使用 WCAP 命令来请求以 XML 或封装在 HTML 中的 iCalendar 格式进行输出。

有关 WCAP 命令的信息,参见《Sun Java System Calendar Server 6.3 WCAP Developer’s Guide》

1.9.2 核心子系统

核心子系统包括访问控制组件、WCAP 命令解释组件和数据转换器来格式化日历数据库组件的数据。核心子系统处理日历请求并生成 XML 和 iCalendar 输出。核心子系统还可处理用户身份验证。

1.9.3 数据库子系统

数据库子系统使用 Sleepycat Software 公司的 Berkeley DB(数据库 API 未公开)。数据库子系统在数据库中存储并检索日历数据,包括事件、待办事项(任务)和警报。日历数据基于 iCalendar 格式,并且 Calendar Server 数据使用的模式是 iCalendar 标准的超集。

数据库子系统以低级格式返回数据,然后由核心 UI 生成器转换此低级数据并通过 WCAP 进行发送。

对于分布式日历数据库,Calendar Server 使用分布式有线协议 (DWP) 来提供联网功能。有关更多信息,参见1.10.5 Calendar Server 版本 6.3 中的分布式数据库服务:csdwpd

有关日历数据库的更多信息,参阅第 16 章,使用 csdb 实用程序管理 Calendar Server 数据库

1.10 Calendar Server 版本 6.3 中作为守护进程运行的服务

Calendar Server 服务将作为守护进程(或进程)运行。这些服务包括:

1.10.1 Calendar Server 版本 6.3 中的管理服务:csadmind

csadmind 服务管理报警通知、组调度请求。

1.10.2 Calendar Server 版本 6.3 中的 HTTP 服务:cshttpd

由于 Calendar Server 使用 HTTP 作为其主要传输方式,因此 cshttpd 服务将侦听来自 Calendar Server 最终用户的 HTTP 命令、接收用户命令并返回日历数据,具体情况取决于传入 WCAP 命令中指定的格式。可采用标准 RFC 2445 iCalendar 格式 (text/calendar) 或 XML 格式 (text/xml) 格式化数据。

1.10.3 Calendar Server 数据库管理器:Calendar Server 版本 6.3 中的 csstored

csstored 守护进程管理各种 Calendar Server 数据库。由于每个访问存储库的服务都依赖于该存储库服务,因此只要 Calendar Server 系统在运行,该服务都应当在所有服务器(包括前端和后端服务器)上保持运行。

常规的启动和关机命令 start-calstop-cal 可启动和停止 csstored 以及其他守护进程。请勿独立于其他守护进程单独停止该守护进程。

请勿通过将 ics.conf 参数 local.store.enable 设置为 "no" 来禁用该守护进程。默认情况下,该参数设置为 "yes";请保留该设置。

1.10.4 Calendar Server 版本 6.3 中的事件通知服务 (Event Notification Service, ENS):csnotifyd 和 enpd

ENS 服务包括以下这些独立的服务:


注 –

并不要求 enpdcsnotifyd 服务与 cshttpdcsdwpdcsadmind 进程在同一台服务器上运行。


1.10.5 Calendar Server 版本 6.3 中的分布式数据库服务:csdwpd

使用 csdwpd 可创建分布式日历存储。即使用 csdwpd 管理分布到同一 Calendar Server 配置中的多个后端服务器上的日历数据库。

csdwpd 服务在后端服务器的后台上运行,并接受符合数据库有线协议 (Database Wire Protocol, DWP) 的日历数据库访问请求。DWP 是一个内部协议,用于为 Calendar Server 数据库提供联网功能。

1.11 Calendar Server 版本 6.3 的公共 API

Calendar Server 包括以下 API:

1.11.1 Calendar Server 版本 6.3 中的 Web 日历访问协议 (Web Calendar Access Protocol, WCAP)

Calendar Server 支持 WCAP 3.0(基于命令的高级协议),它允许与客户端进行通信。WCAP 命令(使用 .wcap 扩展名)允许客户端接收、修改和删除日历组件、用户首选项、日历属性和其他日历信息(例如时区信息)。WCAP 元素(例如时间、字符串和参数)通常遵循 RFC 2445、RFC 2446 和 RFC 2447 规范。

WCAP 按照以下格式在 HTTP 消息中返回输出日历数据:

通过 WCAP 命令,使用 login.wcap 登录的 Calendar Server 管理员可以执行以下操作:

有关更多信息,参见《Sun Java System Calendar Server 6.3 WCAP Developer’s Guide》

1.11.2 Calendar Server 版本 6.3 中的事件通知服务 (Event Notification Service, ENS) API

事件通知服务 (Event Notification Service, ENS) 是一种报警分发程序,它会检测报警队列中的事件并向这些事件的订户发送通知。ENS API 允许程序员修改 Calendar Server 使用的“发布和订阅”功能来执行订阅事件、取消订阅事件以及向事件订户发送通知等功能。ENS API 具体包括以下 API:发布者 API、订户 API 以及“发布和订阅”分发程序 API。

有关 ENS API 的信息,参见《Sun Java Communications Suite 5 Event Notification Service Guide》


注 –

Calendar Server 软件也支持 Java Message Queue 通知,但 csnotifyd 没有订阅它。因此,它不是默认报警和通知系统的一部分。有关更多信息,参阅 Sun Java System Java Message Queue 文档。