Linux 群件综述
对于绝大多数互联网用户来说,互联网代表着电子邮件和即时通讯。然而,即使电子邮件被认为是应该以最佳水平运行的关键任务服务,它也无法解决所有沟通问题。例如,当您不知道其他同事的空闲时间或会议可能在哪间会议室举行时,与几位同事安排会议可能是一项繁琐的任务。
群件是促进通过电子邮件、日历和日程安排、笔记、联系人和任务管理进行沟通和协作的软件。优秀的群件解决方案不仅提供可从任何地方访问的 Web 界面,还提供与 Linux、Apple Mac OS X 和 Microsoft Windows 等主要平台上的原生客户端的兼容性。
通常,群件解决方案提供的功能越多,其可扩展性就越差。提供许多功能的群件解决方案通常适用于由不超过数百名用户组成的团队。那些提供基本群件功能(如电子邮件、联系人和日历)的解决方案很可能满足多达数千用户的庞大规模部署的要求。
除了 Microsoft Exchange、IBM Lotus Notes 和 Novell GroupWise 等占据主导地位的成熟产品外,Linux 还提供优秀的专有和商业替代方案:Kerio MailServer、Scalix 和 Samsung Contact 等。在过去几年中,开源社区也对消息传递、日历和日程安排解决方案表现出越来越浓厚的兴趣。本文重点介绍这些开源工作的现状。它概述了与群件软件相关的各种标准,并考察了社区正在开发的最有前景的项目。
如今,日历和日程安排中最受支持和实施的标准是 iCalendar,它定义了一种用于在互联网上公开交换日历和日程安排信息的通用格式。除了 iCalendar 之外,还提出了两个附加标准:iCalendar 传输独立互操作协议 (iTIP) 和 iCalendar 基于消息的互操作协议 (iMIP)。RFC 3283,标题为“互联网日历指南”,总结了这三个标准之间的关系:“iCalendar 是用于描述日历对象的语言。iTIP 描述了一种使用 iCalendar 语言进行日程安排的方法。iMIP 描述了如何通过电子邮件进行 iTIP 日程安排。”
iMIP 取得了一些成功,但如今并不常用。还提出了一个实时日历访问协议 (CAP),但它最终在仅实施了少数几个之后就过期了。由于普遍认为 CAP 不是一个好概念,因此正在被放弃。
尽管各种日历软件供应商(Apple iCal、Mozilla Sunbird 和 Novell Evolution)出现了一种使用 WebDAV 共享和编辑 iCalendar 数据的趋势,但互联网任务组发布了 CalDAV 规范。该草案提出了一个标准,用于将日历事件建模为 iCalendar 格式的 HTTP 资源。各种开源群件解决方案已承诺支持 CalDAV,但大多数商业产品仍有待采用即将到来的标准。
最近,GroupDAV 的出现是为了创建一个简单的协议,将开源群件客户端连接到开源群件服务器。更准确地说,GroupDAV 专注于三个流行的客户端:KDE Kontact、Novell Evolution 和 Mozilla Sunbird。与 CalDAV 类似,所提出的模型使用 HTTP 和 WebDAV 来存储群件数据,例如事件和任务,使用 iCalendar 标准,但它也使用 vCard 标准存储联系人。
电子邮件服务可能是任何群件解决方案中最需要的服务。大多数组织都有可靠的电子邮件系统,并且有兴趣在现有基础设施之上添加群件类型的功能。为此,Kolab2 的开发版本大量使用了 Cyrus IMAP Server 的功能,包括访问控制列表、注释和共享文件夹。它将每个对象(例如联系人、事件、笔记或任务)存储在相应对象类型文件夹中的电子邮件消息中。Kolab2 提供所有群件功能,并使用可靠的开源服务器组件,包括 Postfix、Cyrus IMAP Server、OpenLDAP 和 ProFTPd。
Kolab2 除了其管理界面外,不包含 Web 界面,但正在向 Horde 的大多数优秀模块添加连接性。Horde 项目将强大的基于 PHP 的应用程序框架与模块(如 Webmail 程序 IMP、日历管理器 Kronolith 和联系人管理器 Turba)相结合。
由于 OpenPKG(一种也使该项目可在许多发行版上部署的组件),安装 Kolab2 相对容易。Kolab2 不支持 CalDAV 或 GroupDAV,并且由于对象在 Kolab2 中的存储方式的性质,添加对其中一个协议的支持很困难。此外,您无法更新 IMAP 中的消息;每当进行修改时,身份都会丢失。
OpenGroupware (OGo) 前身为 SKYRiX 群件服务器,是一个功能齐全的群件解决方案,与现有电子邮件基础设施并存。OGo 提供群组日历、联系人、任务、资源、项目和文档管理以及 Webmail 客户端。OGo 还提供 GroupDAV 支持。OGo 构建在 SOPE 应用程序服务器之上,具有结构良好的架构。安装相对容易,因为大多数发行版都提供了二进制软件包。
OPEN-XCHANGE (OX) 前身为 SUSE OpenExchange,提供与 OGo 相同类型的功能,并且也位于现有电子邮件基础设施之上。OX 主要围绕面向 Java 的组件构建,为其群件功能提供丰富的 Web 界面。尽管在客户端互操作性方面略微落后于其他项目,但对于那些熟悉 Java 技术的人来说,OX 可能是自然的选择。
如果您没有强大的电子邮件基础设施,或者您没有特别依赖它,那么 Hula 和 Citadel 项目是有趣的群件解决方案。新的 Hula Server 项目,以前是专有的 Novell NetMail 产品,是一个完整的邮件和日历服务器。它提供 SMTP、POP3、IMAP 和日历服务以及简单高效的 Web 界面。Hula Server 具有 CalDAV 支持,Martijn van Beers 正在添加 GroupDAV 支持。Hula Server 的安装和配置很容易完成,因为许多发行版都提供了软件包,并且该软件提供了一个丰富的 Web 界面来管理系统的所有组件。
Citadel 是一个多线程群件服务器,实现了所有邮件标准协议,尽管它可以与现有的邮件传输代理集成。支持标准的群件功能,如邮件、日历、联系人、笔记和任务。除了文本界面外,它还通过 WebCit 提供 Web 界面。Citadel 也加入了 GroupDAV 阵营,并且已经提供了可行的实现。
转向不同的领域,大学正在积极地将门户引擎集成到其基础设施中,特别是 uPortal。在门户中提供群件功能很有吸引力。不列颠哥伦比亚大学 (UBC) Webmail 和 UBC 地址簿等项目已经成熟,并且与 uPortal 很好地集成。对于日历服务,华盛顿大学 (UW) 日历项目可以作为 portlet 集成到门户引擎中,尽管支持是初步的。还计划支持原生客户端,如 Novell Evolution 或 MeetingMaker。
其他项目也值得一提,但仍应被视为实验性的:exchange4linux、OpenOffice.org Groupware 及其 Glow 客户端和 Chandler。Chandler 由 Mellon 基金会资助,最终可能成为关键参与者。开发活动也分散在基于 PHP 的重叠项目集群中,如 eGroupWare、phpGroupWare 和 more.groupware。尽管这些项目的功能数量令人印象深刻,但它们缺乏成熟度,无法扩展到企业范围的部署。此外,它们中的大多数都不支持 Web 浏览器以外的客户端。
表 1 列出了上述群件服务器及其各自的功能。其中一些功能目前正在开发中。
即使大多数群件竞争者为其提供的每个功能都提供了 Web 界面,用户通常更喜欢原生客户端。原生客户端提供对标准群件功能(如联系人、电子邮件、笔记和日历)的访问。在 Linux 上,三个原生群件客户端在其他客户端中脱颖而出:KDE Kontact、Novell Evolution 和 Mozilla Thunderbird 和 Sunbird。
Kontact 是 KDE 的个人信息管理套件,包含电子邮件、日历、联系人、笔记和新闻组件。截至 KDE 3.4 中包含的 Kontact 1.1 版本,已包含 GroupDAV 支持。
Novell Evolution 是一款流行的群件客户端,在一个应用程序中提供电子邮件、日历、联系人和任务管理。Noodle 项目旨在提高 Evolution 和 OpenGroupware 之间的兼容性。开发人员最近采用了 GroupDAV,这不仅将允许 Evolution 与 OGo 一起工作,还将允许 Evolution 与所有实现所提出的标准的群件服务器(包括 Citadel)一起工作。
Mozilla 项目及其 Thunderbird 和 Sunbird,正在推出出色的跨平台应用程序。Thunderbird 已经是一个成熟的电子邮件和联系人管理应用程序,而 Sunbird 正在快速成熟。Stelian Pop 已开始向 Sunbird 添加 GroupDAV 支持,从而使与各种群件的互操作性成为可能。还有一个名为 SyncKolab 的工作,旨在向 Thunderbird 及其日历扩展添加 Kolab 同步功能。该项目进展迅速,Kolab2 支持正在进行中。
另一个日趋成熟的客户端是 Aethera,这是一个由 TheKompany.com 开发的本地化多平台应用程序。尽管目前仅提供对 Kolab1 和 Citadel 的支持,但最终可能会支持 GroupDAV。
Microsoft Windows 和 Apple Mac OS X 等平台的原生客户端也可能成为群件解决方案的选择。商业连接器目前可用于 Microsoft Outlook(Kolab2 的 Toltec Connector、OPEN-XCHANGE 的 OXlook 和 OpenGroupware 的 ZideLook),但使用 Mozilla Thunderbird 和 Sunbird 等跨平台开源客户端当然是一个经济上更具吸引力的选择。
虽然 Web 界面对于访问群件相关信息很有吸引力,但有时很难进行 Web 访问。大多数移动工作人员都拥有手机或手持设备,这些设备提供联系人管理、笔记和日程安排。将这些设备与群件产品同步的需求正在增长,并且解决方案正在涌现。
MultiSync 是 GNOME 平台的一部分,是一个模块化程序,用于在计算机上的程序与手机或手持设备之间同步日历、联系人和其他信息。MultiSync 支持 Novell Evolution,它可以连接到许多群件解决方案,以及许多设备,如 Palm、Zaurus、PocketPC 和许多索尼爱立信手机。
KDE 的通用同步应用程序 KitchenSync 与 MultiSync 类似。由于它们的相似性,这两个项目正在合并为一个名为 OpenSync 的新项目。作为 freedesktop.org 协作区的一部分,OpenSync 项目正在创建一个新的 API、库和同步插件,这些插件最终将成为 GNOME 和 KDE 等项目使用的标准化同步框架。
另一方面,OpenGroupware 和 OPEN-XCHANGE 等项目通过 HotSync 管理器支持 Palm 同步。他们现在已经开始添加对 SyncML 的支持,SyncML 是一种基于 XML 的标准,允许您将移动设备上的 PIM 相关信息直接与群件服务器同步。
现在可以使用大量的群件客户端和服务器。GroupDAV 和 SyncML 等良好的提议标准需要被更多项目和供应商采用,以便于原生客户端、移动设备和群件服务器之间的互操作性。我们还应该看到群件开发人员之间很快就会出现合并的努力,因为目前可用的解决方案可能太多了。
可扩展性仍然有待观察,尤其是对于大量用户(20,000 用户及以上)而言。SOGo 等项目(也基于 SOPE 应用程序服务器)通过减少 OpenGroupware 等项目的功能来解决可扩展性问题,以便它们可以扩展到数千用户。这个始于 2004 年 8 月的项目在这方面很有前景。
从现有群件迁移是另一个问题,尤其是当涉及到 Microsoft Exchange 时。OpenGroupware 项目的启动是为了解决这个问题,希望在消除这种采用障碍方面取得进展。
在我们的下一篇文章中,我们将选择本文中提到的群件服务器之一,并详细介绍部署它所需的安装和配置步骤以及原生客户端的配置。
本文资源: /article/8333。
Francis Lachapelle (flachapelle@inverse.ca) 拥有麦吉尔大学计算机工程学士学位。他目前是 Inverse inc.(一家位于蒙特利尔市中心的 IT 咨询公司)的系统架构师。
Ludovic Marcotte (ludovic@inverse.ca) 拥有蒙特利尔大学计算机科学学士学位。他目前是 Inverse inc.(一家位于蒙特利尔市中心的 IT 咨询公司)的系统架构师。