设为首页 加入收藏 期刊导航 网站地图
  • 首页
  • 期刊
    • 数学与物理
    • 地球与环境
    • 信息通讯
    • 经济与管理
    • 生命科学
    • 工程技术
    • 医药卫生
    • 人文社科
    • 化学与材料
  • 会议
  • 合作
  • 新闻
  • 我们
  • 招聘
  • 千人智库
  • 我要投搞
  • 办刊

期刊菜单

  • ●领域
  • ●编委
  • ●投稿须知
  • ●最新文章
  • ●检索
  • ●投稿

文章导航

  • ●Abstract
  • ●Full-Text PDF
  • ●Full-Text HTML
  • ●Full-Text ePUB
  • ●Linked References
  • ●How to Cite this Article
Computer Science and Application 计算机科学与应用, 2013, 3, 401-406
http://dx.doi.org/10.12677/csa.2013.39069 Published Online December 2013 (http://www.hanspub.org/journal/csa.html)
Research and Implementation of Enterprise Content
Management System Based on Domino*
Liangchen Chen
Department of Computer, Institute of Industrial Relations China, Beijing
Email: chenlc@ihep.ac.cn
Received: Dec. 3rd, 2013; revised: Dec. 19th, 2013; accepted: Dec. 25th, 2013
Copyright © 2013 Liangchen Chen. This is an open access article distributed under the Creative Commons Attribution License, which permits unre-
stricted use, distribution, and reproduction in any medium, provided the original work is properly cited. In accordance of the Creative Commons At-
tribution License all Copyrights © 2013 are reserved for Hans and the owner of the intellectual property Liangchen Chen. All Copyright © 2013 are
guarded by law and by Hans as a guardian.
Abstract: How to effectively manage and organize structured and unstructured data generated in the business becomes
the enterprises’ major challenge. This paper studies the Domino server architecture, Domino database model and Dom-
ino developed technology. A set of Domino-based enterprise content management system is designed and implemented,
with rich team collaboration components and powerful customization capability, and offline applications, single sign-on
and SPNEGO-integrated ECM are achieved. The system is user-friendly to store, organize and share documents, and it
helps the employee to improve productivity and business competitiveness.
Keywords: Enterprise Content Management; Lotus Domino; SSO; Offline
基于 Domino 的企业内容管理系统的设计与实现*
陈良臣
中国劳动关系学院计算机系,北京
Email: chenlc@ihep.ac.cn
收稿日期:2013 年12 月3日;修回日期:2013 年12 月19 日;录用日期:2013 年12 月25 日
摘 要:如何有效地管理和组织企业经营过程中产生的结构化和非结构化数据,成为当今企业面临的一大难题。
本文通过研究 Domino 服务器架构、Domino 数据库模型和 Domino 开发技术,设计与实现了一套基于Domino
的企业内容管理系统,具有丰富的团队协作组件和强大的定制能力,并实现离线应用功能、Cookies 单点登录和
SPNEGO 集成 ECM 扩展功能。该系统方便用户存储、组织和共享文档,有利于提高企业员工工作效率和企业
竞争力。
关键词:企业内容管理;Lotus Domino;单点登录;离线应用
1. 引言
随着信息更新越来越快,企业的信息生产量越来
越大,除了一般文字、文档、多媒体、流媒体外,还
包括 Web 网页、广告、程序、软件等一切数字资产。
通过内容管理,企业可以实现把正确、实时的内容传
递给适当的人,并且进行最有效率的管理,藉以在信
息产生后,能反复利用,以此大幅降低花费在数据管
理、查询与检索上的时间与成本。现有的企业内容管
理系统都不能支持离线应用,员工在离线环境下无法
正常工作,另外现有的企业内容管理系统功能很单
*资助项目:中央高校基本科研业务费专项基金资助项目(12ZY020)。
Open Access 401
基于 Domino 的企业内容管理系统的设计与实现
一,与企业内部其它团队协作系统相互独立,不能很
好的交互分享与反复利用,系统的可定制性和集成功
能薄弱[1]。
本文为了解决目前企业内容管理系统普遍存在
的这些问题,设计和实现了一个基于 Domino 和Web
2.0 技术的团队协作和内容管理平台,实现企业信息
资源的有效管理与应用,提供了在线与离线应用,丰
富的团队协作组件,其中包括团队文档库,维基,博
客,论坛,团队日历,团队任务,联系人,新闻组件,
Feeds阅读器等,除了这些功能外,还提供了强大的
定制能力和良好的与其他应用系统集成的能力。该系
统方便企业用户存储、组织和共享文档,提高了企业
员工工作效率和企业竞争力[2]。
2. Domino技术平台
Lotus Domino是优秀的办公电子协作平台,是集
电子邮件,文档数据库,LDAP 目录服务器,应用开
发技术和 Web 服务技术为一体的软件技术平台。
2.1. Domino服务器架构
Domino服务器主要包括任务(Tasks),Notes 对象
服务(NOS)以及 Domino 数据库三部分。图 1是
Domino服务器的一个最基本的架构图。
任务(Domino Ser ver Tasks)用以实现 Domino 服务
器要执行的所有功能,我们可将这些任务分为五类:
维护 Notes 应用的任务,监视服务器和管理服务器活
动的任务,管理邮件、日历和日程的任务,管理协议
的任务,监视服务器活动的任务。
Figure 1. Lotus Domino server framework
图1. Lotus Domino服务器架构
NOS 涵盖了 Notes 所有基本功能,Notes 客户机
和服务器均在使用这些功能,程序员可使用 Notes 应
用程序编程接口来调用,它们是可移植且线程安全
的。如包括跨平台的创建和访问数据及文件、Domino
公式和脚本的编译和解释等。
共享数据库和本地文件由数据库文件、模板、静
态HTML 文件、JavaScript、Servlets 和其他元素组成。
一个 Domino 数据库是文档的集合,而文档又是域的
集合,我们将这些元素统称为记录,每个记录代表一
个Domino 数据库中的一个元素[3]。
2.2. Domino数据库模型
Domino 是基于文档型的数据库结构,和关系数
据库不同,在Domino 应用程序中,是一组 NSF 数据
库组成,数据和设计代码集中在一起。NTF 是Domino
模板数据库,提供设计模板,可以通过模板创建 NSF
数据库,数据库继承 NTF 模板数据库所有的设计。
Domino应用程序中保存的数据称为“文档”,和关系
型数据库的“记录”是一个概念[4]。Domino 数据库结
构如图 2所示。
Domino 的数据库是一个集数据与设计元素于一
身的集合体。数据存储在文档中。文档的界面是表单,
一个设计元素。你可以把文档与表单非常粗略地类比
为数据库的行与表。但这种比喻并不恰当,比如我们
可以在文档中添加一个在过去创建的表单中并不存
在的域,而且你可以使用不同的表单去显示同一个给
定的文档。
2.3. Domino开发技术
Domino支持 B/S、C/S 开发模式,C/S 模式中应
Figure 2. Domino database structure
图2. Domino数据库结构
Open Access
402
基于 Domino 的企业内容管理系统的设计与实现
Open Access 403
利用。最终用户面对的是“应用”数据库,在Engine
端,由六个Domino 数据库组成,包括设计存储数据
库,其中归档和审计跟踪数据库是可选模块。将运行
完成的工作流结果保存到归档数据库中[6]。
用程序 NSF数据库部署在 Domino 服务器 DATA目录
中,客户端通过NOTES 进行应用程序访问。B/S 应
用程序 NSF 数据库及资源文件(JS/CSS/HTML/XML
等)部署在 DATA 及HTML 目录。Domino 具有特有
的开发设计元素,表单,视图、域,大纲,导航器,
帧结构,子表单,页面,Script函数库,代理等。 3. 基于Domino 的企业内容管理系统
3.1. 企业内容管理系统构架
Domino 开发语言包括 Lotus Script语言和
Forumal语言,支持JAVA,JavaScript,API 调用,
COM 调用,ODBC调用。Domino 接口开发技术支持
调用 Web Service服务,JAVA 接口,COM接口,XML
接口,ODBC/JDBC 接口。Domino 支持外部系统调用
Domino接口,Web Service,DIIOP 接口,COM 接口,
JSP接口,C API接口,可用C API访问 Domino 数据
库或底层[5]。
基于 Domino 的企业内容管理系统提供了丰富的
团队协作组件,其中包括团队文档库、维基、博客、
论坛、团队日历、团队任务、联系人、新闻组件、Feeds
阅读器等。除了这些功能外,还提供了强大的定制能
力。系统的核心技术是 Domino,对象模型是基于
Domino对象实现,所有的对象数据都存储在 Domino
数据库中,使用 Notes 客户端和 Domino Designer来
查看、定制或创建系统应用的对象。Domino 提供 C++
API 去实现和管理上层应用,支持内容管理系统对其
它Domino 应用的集成,也提供 JAVA AP I支持系统对
其它 JAVA 应用的扩展和集成。系统的服务引擎是基
于Domino HTTP的,是对于Domino 核心 HTTP 服务
的一个扩展[7]。基于Domino 的企业内容管理系统架
构如图 4所示。
2.4. Domino Workflow
Domino 的应用以工作流应用为最难,而工作流
开发的难点在于流程的实现和维护上,Domino 通过
对工作流应用的深入剖析,建立了工作流应用的科学
体系结构,并提供了工作流应用所需的各种增强功
能。Domino 工作流开发原理如图 3。
流程设计人员通过 Architect 设计流程:设计时通
过组织目录数据库获得人员信息,从应用数据库中获
得流转内容信息(表单,字段等),将设计的结果保存
到过程定义数据库中。在设计过程中,系统会自动将
各种设计元素保存到设计存储数据库中,以供将来再
基于 Domino 的企业内容管理系统提供了非常好
的用户体验和可定制的界面来为最终用户提供基于
文档的协作内容管理,通过对Domino的扩展提供了
与其他应用以及其他内容管理平台的交互。系统使用
了Domino 数据库、视图、代理等 Domino 基础技术,
Figure 3. Domino workflow principle
图3. Domino工作流原理图
基于 Domino 的企业内容管理系统的设计与实现
Figure 4. Framework of enterprise content management system based on Domino
图4. 基于Domino 的企业内容管理系统架构图
基于 Domino的扩展,提供了 tool 命令,JAVA API,
Servlets,Web Service等其他技术和接口。
当使用浏览器去操作企业内容管理系统的应用
内容时,其数据访问首先调用了Domino HTTP服务
器,然后通过应用服务器去操作后台的场所数据库。
而当使用PlaceBot 去操作管理应用系统对象,其使用
的是 Domino 的代理机制来实现。系统基于 Domino
的安全机制和授权模型,利用Notes 数据库、视图、
文档与 Ajax 来展示页面[8]。
3.2. 企业内容管理系统离线功能实现
离线,就是中断与网络的连接后称为离线,也称
脱机方式或下网。离线支持的应用向用户提供更好的
在线和离线的体验,将消除网络浏览器与台式电脑之
间的人工壁垒,能够离线工作。在经过某种程度的标
准化之后,这些离线功能已经慢慢的被集成到浏览器
中。
基于 Domino 的企业内容管理系统支持离线应
用,向用户提供更好的在线和离线的体验。在离线状
态,用户可以执行离线浏览和操作本地副本,当用户
中断与网络的连接后,用户仍然可以继续使用企业内
容管理系统办公,而且离线使用系统功能也会非常方
便、高效。使用离线服务的用户在关闭服务器之前需
要先与服务器同步离线的数据[8]。
搭建离线工作环境:在本地安装浏览器插件,使
浏览器支持离线应用,下载并安装 Lotus Domino同步
管理工具,就可以通过 Lotus Domino同步管理工具将
联机场所同步到本地了。图5为基于 Domino 的企业
内容管理系统离线工作图。
离线工作过程是:先通过 Lotus Domino同步管理
工具同步脱机内容,然后用户在本地在离线环境下离
线使用,操作脱机场所,读内容和写内容,最后再次
通过 Lotus Domino同步管理工具同步脱机内容与联
机内容[9]。
4. 企业内容管理系统集成与扩展
基于 Domino 的企业内容管理系统还提供了跟其
它企业级内容管理系统(ECM)集成的功能。该功能将
系统和其它业内领先的内容管理系统(ECM)集成起
来,为客户提供了端到端的完备内容管理解决方案。
系统集成最重要的是实现单点登录和系统集成安全。
4.1. 企业内容管理系统单点登录实现
当用户第一次访问企业内容管理系统时,因为还
没有登录,会被引导到认证系统中登录,根据用户提
供的登录信息,认证系统进行身份效验,如果通过效
验,返回给用户一个认证的凭据,用户再访问别的应
用时就会将这个凭据带上,作为认证的凭据,应用接
收到请求之后会把凭据送到认证系统检查凭据的合
法性。如果通过效验,用户就可在不用再次登录情况
下访问不同的应用[10]。
要实现单点登录的功能,让用户只登录一次,就
Open Access
404
基于 Domino 的企业内容管理系统的设计与实现
Plac e NS F
Client browser
Online server
Quickr Client
Local Place
NSF
Of f line server
Read Write
Sync
Figure 5. Offline working in enterprise content management system
图5. 企业内容管理系统中 OffLine工作图
必须让应用系统能够识别已经登录过的用户。应用系
统应该能对认证标志进行识别和提取,通过与认证系
统的通讯进行认证和授权,从而完成单点登录的功
能。基于 Domino 的企业内容管理系统是采用基于
Cookies 的单点登录机制实现,如图 6所示。
第一次访问时由浏览器向企业内容管理系统服
务器发出HTTP 请求,如果此请求需要浏览受保护的
页面,即登录以后才能看到内容,则应用服务器返回
一个登录页面;客户填好登录信息,通过浏览器将用
户名和密码发送到企业内容管理系统服务器,服务器
通过查询LDAP 来确定此用户名和密码是否正确,如
果有效,则将该用户信息以 Cache 的形式存储在服务
器端,并用 LTPA密钥将之进行加密,作为Cookie 返
回给浏览器;浏览器将该Cookies 存于本地,下次发
送 HTTP 请求时将该Cookies 一起发送至服务器端,
此时服务器只需将此Cookies 解密,与服务器上维护
的用户信息Cache 队列进行比对,如发现用户信息有
效则直接通过,不需要再次到LDAP 服务器上进行验
证,将浏览器请求的页面内容返回。
4.2. 企业内容管理系统 SPNEGO 集成
SPNEGO(简单和受保护的 GSSAPI协商机制)是
一种被用于协商合理的GSSAPI 伪机制。经常被用在
客户端应用程序需要与远程服务器进行认证但二者
均不清楚对方所支持的认证协议的情况中。最明显的
用处在于 Microsoft 的HTTP Negotiate认证扩展。可
协商的子机制包括 NTLM和Kerberos,均在 Microsoft
Active Directory中。
伴随着 Domino 对SPNEGO的支持,使用
SPNEGO ,用户只需在自己的客户端上登陆到
Windows 的域中,就可以用浏览器直接访问 Domino
服务器或者基于Domino的企业内容管理系统的服务
器资源而不用再次提供用户名称和密码。在基于
Domino 的企业内容管理系统中,SPNEGO 仅可以通
过NTLM 和Kerberos 两种认证协议来获取Windows
登录凭证。通过图 7可以进一步详细了解,基于
Domino的企业内容管理系统是如何利用SPNEGO 这
种认证方式实现系统集成的[11]。
Figure 6. SSO in enterprise content management system
图6. 企业内容管理系统的单点登录机制
Open Access 405
基于 Domino 的企业内容管理系统的设计与实现
Figure 7. SPNEGO authentication in enterprise content management system
图7. 企业内容管理系统 SPNEGO 认证流程
基于 Domino的企业内容管理系统通过 IBM JVM来实
现对 SPNEGO 认证的支持。客户端可以通过两种方式
来实现 SPNEGO认证,一种是利用 JAVA URL处理器,
另外一种是利用账户框架中的Account API来完成认
证。SPNEGO 认证是在客户端收到服务器端返回的
401 www-authentication Negotiate之后被触发的,每当
有客户端成功通过 SPNEGO 的认证都会在客户端存
下相应的HTTP Cookie,而这些 Cookie 可以被其后的
HTTP 连接所自动检索。因此,用户并不需要为每一
个SPNEGO 保护的资源设置一个账户,而仅需要在企
业社交应用系统账户中创建一个OS-CRED 这种认证
类型的账户即可。
5. 结论
本文通过研究Domino 服务器架构、Domino 数据
库模型和 Domino 开发技术,设计与实现了一套基于
Domino 的企业内容管理系统。本文介绍了该系统的
整体构架,对离线应用支持功能的实现、Cookies 单
点登录和SPNEGO 集成 ECM扩展功能。该系统提供
了丰富的团队协作组件其中包括团队文档库、维基、
博客、论坛、团队日历、团队任务、联系人、新闻组
件、Feeds 阅读器等,还提供了强大的定制能力和良
好的与其他应用集成的能力。
基于 Domino 的企业内容管理系统解决了企业如
何有效地管理和组织企业经营过程中产生的结构化
和非结构化数据的大难题,帮助企业用户存储、组织
和共享文档,提高了企业员工工作效率和企业竞争
力。但是该系统对于的数据安全性和与其它产品集成
功能方面还有很多需要完善的地方,还有待在今后的
学习和工作中进一步研究。
参考文献 (References)
[1] 宾莉金, 沈奇威等 (2011) 内容管理系统存储层的设计与实
现.
计算机工程与设计
, 6, 1991-1994.
[2] 夏纯中 (2007) 轻量级企业内容管理系统的设计与实现.
计
算机工程与设计
, 17, 4233-4236.
[3] 徐瑶著 (2009) Lotus Notes和Domino 8使用、设计、管理. 电
子工业出版社, 北京, 125-200.
[4] 高静 (2012) 基于 Lotus Domino平台的办公自动化系统的设
计与实现. 硕士论文, 电子科技大学, 成都.
[5] 尹茂林 (2011) 基于Domino 平台的知识管理系统的设计与
实现. 硕士论文, 哈尔滨工业大学, 哈尔滨.
[6] 王磊, 梁毅 (2005) 基于Domino 邮件服务器的性能建模.
计
算机科学
, 11, 41-45.
[7] 陈良臣 (2012) IBM Quickr Dimino中OffLine 原理与应用介
绍.
http://www.ibm.com/developerworks/cn/lotus/ls-cn-quickrdomi
no-offline
[8] 秦彬娟, 余凯, 陈良宽 (2002) 基于Notes/Domino的工程项
目管理系统设计与实现.
计算机工程与设计
, 12, 35-38.
[9] 龙开聪 (2011) 基于 Lotus Domino/Notes的办公自动化系统
的设计与实现. 硕士论文, 北京邮电大学, 北京.
[10] 井博 (2011) 基于 Documentum 的企业内容管理系统的改进
与实现. 硕士论文, 西安电子科技大学, 西安.
[11] 吴兴威(2012) 基于 JCR 的企业内容管理系统的设计与实现.
硕士论文, 中山大学, 广州.
Open Access
406

版权所有:汉斯出版社 (Hans Publishers) Copyright © 2012 Hans Publishers Inc. All rights reserved.