SlideShare a Scribd company logo
1 of 145
Download to read offline
IBM 官 方 推 荐 用 书 -CHINALOTUS 之
DOMINO7 开发大百科

目前本書有简、繁双體版本,管理篇人民币 166 元 20 万余字,开发篇人民币 199 元 20 万余
字,量多优惠。详情请参考如下网址!
http://bbs.chinalotus.com/viewthread.php?tid=23913&extra=page%3D1&page=1
    本书是笔者在 DOMINO 开发管理领域多年经验结合 CHINALOTUS 十年资源汇集而成的一本
LOTUS 开发管理入门提高之书,编写原因一是工作日久,想总结的心愿也愈见浓厚,再加看到
市面上复制帮助之途类书籍的为祸不浅。因此笔者根据日常工作心得,结合实际的产品及项
目开发经验基于 DOMINO7 编写了这套丛书,希望能给入门的朋友带来一盏指路的明灯;为资
深的同行带来一点新的启发,思想的共鸣!
    本套丛书的特点是,全套 DOMINO 知识是由浅而深;提供大量图文并茂的实例;并随书附
送不断更新价值人民币 150 元 CHINALOTUSVIPFTP,具有大量优秀例程、正版开发工具以及开
发管理资料;还通过 QQ 读书群 5217694 为读者提供永久免费修正升级以及讲解支持。
    因为是专业的 LOTUS 技术书籍,销量有限导致成本较高,DOMINO 确实是个被市场证明的
优秀的群件平台,只是大家都知道的一些原因,只能努其不争,因此欢迎大家团购节省费用。
目前通过各大 LOTUS 技术门户与联盟书店热销中,
购买或咨询方式:QQ:59637733;QQ:441097519 EMAIL:cndragonws@hotmail.com 电话:
86-0731-5817822;5159795 联系人:林小姐



L OTU S 中 文 网
ChinaLotus Software Co., Ltd.

ComBestsoft Confidential
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科


                                                            目 录
1.写在前面....................................................................................................................................... 7

2.LOTUS/DOMINO 起源、家族组成 ................................................................................................... 9

   2.1 LOTUS/DOMION 的起源 ........................................................................................................... 9
   2.2 LOTUS/DOMION 所支持平台及家族组成............................................................................. 11

3.LOTUS/DOMINO 与现有流行平台的对比分析 ............................................................................ 14

   3.1 LOTUS/DOMINO 与 MICROSOFT/EXCHANGE 的比较 ......................................................................... 18
   3.2 LOTUS/DOMINO 与 JAVA 系统的比较 ...................................................................................... 19

4.LOTUS DESIGNER 7 的主要新功能(整理至 IBM 官方正式红皮书)............. 错误!未定义书签。

   4.1 更直观的所见既所得的编辑...................................................................错误!未定义书签。
   4.2 对 DB2 的集中支持 ..................................................................................错误!未定义书签。
   4.3 对 WEB SERVICES 的集中支持 .....................................................................错误!未定义书签。
   4.4 新增的可编程性......................................................................................错误!未定义书签。
   4.5 其他应用程序开发改进 ..........................................................................错误!未定义书签。
   4.6 用户界面 .................................................................................................错误!未定义书签。
   4.6.1 新的设计元素导航器.........................................................................错误!未定义书签。
   4.6.2 书签 ...................................................................................................错误!未定义书签。
   4.6.3 自定义设计元素文件夹.....................................................................错误!未定义书签。
   4.6.4 快速滚动 ..........................................................................................错误!未定义书签。
   4.6.5 加/减指示器 ....................................................................................错误!未定义书签。
   4.6.6 设计元素视图的新特性 ...................................................................错误!未定义书签。
   4.6.7 为多个元素修改属性 .......................................................................错误!未定义书签。
   4.6.8 设计元素的锁定...............................................................................错误!未定义书签。
   4.6.9 打印增强 ..........................................................................................错误!未定义书签。
   4.6.10 底纹 .................................................................................................错误!未定义书签。
   4.7 设计大纲的新特性 ..................................................................................错误!未定义书签。
   4.8 新的设计元素..........................................................................................错误!未定义书签。
   4.8.1 共享资源 ..........................................................................................错误!未定义书签。
   4.8.2 样式单 ...............................................................................................错误!未定义书签。
   4.8.3 数据连接 ...........................................................................................错误!未定义书签。
   4.8.4 共享代码 ...........................................................................................错误!未定义书签。
   4.9 改良的事件模式......................................................................................错误!未定义书签。
   4.9.1 以代码为目标 ....................................................................................错误!未定义书签。
   4.9.2 被删除的事件 ..................................................................................错误!未定义书签。
   4.9.3 推荐事件 ..........................................................................................错误!未定义书签。
   4.9.4 新的事件 ..........................................................................................错误!未定义书签。
   4.9.5 增强的公式........................................................................................错误!未定义书签。
   4.9.6 新的 @函数 ........................................................................................错误!未定义书签。
   4.9.7 新的命令 ...........................................................................................错误!未定义书签。
WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                                                                           1
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
  4.9.8 增强的循环........................................................................................错误!未定义书签。
  4.9.9 LOTUSSCRIP 的变化 ...........................................................................错误!未定义书签。
       4.9.9.1 新类的用法 .........................................................................................错误!未定义书签。
       4.9.9.2 远程调试器 .........................................................................................错误!未定义书签。
       4.9.9.3 重新编译所有脚本..............................................................................错误!未定义书签。
       4.9.9.4 针对 Java 的 LotusScript(LS2J).....................................................错误!未定义书签。
       4.9.9.5 LotusScript 增强的函数..................................................................错误!未定义书签。
  4.9.10 自动完成..........................................................................................错误!未定义书签。
  4.9.11 代理增强..........................................................................................错误!未定义书签。
       4.9.11.1 新的用户界面....................................................................................错误!未定义书签。
       4.9.11.2 代理限制列表....................................................................................错误!未定义书签。
       4.9.11.3 访问远程服务器................................................................................错误!未定义书签。
       4.9.11.4 代表运行...........................................................................................错误!未定义书签。
       4.9.11.5 脚本库...............................................................................................错误!未定义书签。
       4.9.11.6 用户激活...........................................................................................错误!未定义书签。
       4.9.11.7 代理安全...........................................................................................错误!未定义书签。
       4.9.11.8 转换共享和私有的代理.....................................................................错误!未定义书签。
       4.9.11.9 新的控制台命令................................................................................错误!未定义书签。
  4.9.12 HTML 增强.........................................................................................错误!未定义书签。
  4.9.13 新的界面设计元素-层.....................................................................错误!未定义书签。
  4.9.14 新的概要增强 ..................................................................................错误!未定义书签。
  4.9.15 新的操作增强 ..................................................................................错误!未定义书签。
  4.9.16 视图增强..........................................................................................错误!未定义书签。
  4.9.17 上下文相关的操作 ..........................................................................错误!未定义书签。
  4.9.18 字段增强..........................................................................................错误!未定义书签。
  4.9.19 窗体增强..........................................................................................错误!未定义书签。
  4.9.20 段落增强..........................................................................................错误!未定义书签。
       4.9.20.1 语言标识符 .......................................................................................错误!未定义书签。
       4.9.20.2 段落边框...........................................................................................错误!未定义书签。
       4.9.20.3 新的区域样式....................................................................................错误!未定义书签。
  4.9.21 嵌入元素的增强 ..............................................................................错误!未定义书签。
       4.9.21.1 改进的操作条支持和增强样式 .........................................................错误!未定义书签。
       4.9.21.2 横跨数据库引用................................................................................错误!未定义书签。
       4.9.21.3 页面或者窗体上的多个嵌入视图......................................................错误!未定义书签。
       4.9.21.4 在嵌入视图中删除文档.....................................................................错误!未定义书签。
  4.9.22 表的增强..........................................................................................错误!未定义书签。
       4.9.22.1 自动调整宽度适应内容.....................................................................错误!未定义书签。
       4.9.22.2 新的选项...........................................................................................错误!未定义书签。
       4.9.22.3 标题样式...........................................................................................错误!未定义书签。
  4.9.23 框架增强..........................................................................................错误!未定义书签。
  4.9.24 工具菜单..........................................................................................错误!未定义书签。
       4.9.24.1 添加一个工具....................................................................................错误!未定义书签。
       4.9.24.2 定制你的工具....................................................................................错误!未定义书签。
       4.9.24.3 DXL 实用程序 ....................................................................................错误!未定义书签。

WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                                                           2
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
  4.9.25 URL 增强 ..........................................................................................错误!未定义书签。
  4.9.26 增强的 WEBDAV .................................................................................错误!未定义书签。

5.DOMINO 与面向对象技术................................................................................. 错误!未定义书签。

  5.1 面向对象技术的基本特征.......................................................................错误!未定义书签。
  5.2 面向对象方法的重要特征.......................................................................错误!未定义书签。
  5.3 DOMINO 如何体现面向对象的设计.......................................................错误!未定义书签。
  5.3.1 简单操作 ...........................................................................................错误!未定义书签。
  5.3.2 公式语言 ...........................................................................................错误!未定义书签。
  5.3.3 LOTUS          SCRIPT ........................................................................................错误!未定义书签。

6.DOMINO 主要开发技术分析及编码优化指南 ............................................................................ 22

  6.1 DOMINO 支持的主要开放标准 ........................................................................................ 22
  6.2 DOMINO 支持的主要开发语言及方式 ............................................................................. 24
  6.2.1 DOMINO OBJECT MODEL(DOM)类........................................................................................ 24
  6.2.2 LOTUSSCRIPT .............................................................................................................. 28
  6.2.3 公式语言 ..................................................................................................................... 37
         6.2.3.1 什么是公式语言............................................................................................................ 37
         6.2.3.2 不同的应用范围............................................................................................................ 47
         6.2.3.3 应用公式语言中的相关分析......................................................................................... 58
  6.2.4 JAVASCRIPT.................................................................................................................. 76
  6.2.5 HTML&CSS ..................................................................................................................... 87
  6.2.6 JAVA .............................................................................................................................. 89
         6.2.6.1 什么是 JAVA .................................................................................................................. 89
         6.2.6.2 是否应该立即在 Domino 中应用 Java 呢? ................................................................ 90
         6.2.6.3 DOMINO 对象模型对 JAVA 的支持 .................................................................................. 90
  6.2.7 JAVASERVERLET ................................................................................................................ 93
  6.2.8 LOTUS/DOMINO-API ...................................................................................................102
  6.2.9 DOMINO-WEBSERVICES................................................................................................103
  6.2.10 XML ..........................................................................................................................104
  6.3 如何优化我们的编码 .....................................................................................................110
  6.3.1 公式语言的优化 .......................................................................................................110
  6.3.2 脚本语言优化 ...........................................................................................................111
  6.3.3 JAVA & JAVASCRIPTINO 应用程序优化 ..........................................................................116
  6.3.4 DOMINO 对象模型优化...............................................................................................117
  6.3.5 最大限度重用对象 ...................................................................................................118
  6.4 如何在不同应用中选择合适的编码语言 .......................................................................119
  6.4.1 使用公式和 LOTUSSCRIPT 的前提.............................................................................121
  6.4.2 执行 LOTUSSCRIPT 和公式顺序分析 .......................................................................123
  6.5 DOMION 和其他数据库的开发区别..............................................................................126

7.LOTUS/DESIGNER 综合分析 ............................................................................. 错误!未定义书签。

  7.1 帧结构集 .................................................................................................错误!未定义书签。
  7.2 页面.........................................................................................................错误!未定义书签。
  7.3 主表单 .....................................................................................................错误!未定义书签。
WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                                                                          3
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
  7.4 视图.........................................................................................................错误!未定义书签。
  7.5 文件夹 .....................................................................................................错误!未定义书签。
  7.6 共享代码 .................................................................................................错误!未定义书签。
  7.6.1 代理 ...................................................................................................错误!未定义书签。
  7.6.2 WEB 服务 ............................................................................................错误!未定义书签。
  7.6.3 大纲 ...................................................................................................错误!未定义书签。
  7.6.4 子表单 ...............................................................................................错误!未定义书签。
  7.6.5 共享域 ...............................................................................................错误!未定义书签。
  7.6.6 自动化组件........................................................................................错误!未定义书签。
  7.6.7 共享操作 ...........................................................................................错误!未定义书签。
  7.6.8 SCRIPT 库 ..........................................................................................错误!未定义书签。
  7.6.9 导航器 ...............................................................................................错误!未定义书签。
  7.6.10 层 .....................................................................................................错误!未定义书签。
  7.6.11 DXL..................................................................................................错误!未定义书签。

8.已知开发限制................................................................................................. 错误!未定义书签。

  8.1 已知开发限制..........................................................................................错误!未定义书签。
  8.2 WEB 开发不支持特性 ...........................................................................错误!未定义书签。
  8.2.1 不支持范围........................................................................................错误!未定义书签。
  8.2.2 视图小程序不支持的特性 .................................................................错误!未定义书签。
  8.2.3 WEB 不支持的 DOMINO 操作和代理属性 ..............................................错误!未定义书签。
  8.2.4 WEB 不支持的 DOMINO 日历特性........................................................错误!未定义书签。
  8.2.5 WEB 不支持的 DOMINO 域属性............................................................错误!未定义书签。
  8.2.6 WEB 不支持的 DOMINO 表单属性........................................................错误!未定义书签。
  8.2.7 WEB 不支持的 DOMINO 格式特性........................................................错误!未定义书签。
  8.2.8 WEB 不支持的 DOMINO 帧结构属性 ....................................................错误!未定义书签。
  8.2.9 WEB 不支持的水平基准线属性 .........................................................错误!未定义书签。
  8.2.10 WEB 不支持的 DOMINO 热点属性 .......................................................错误!未定义书签。
  8.2.11 WEB 不支持的 DOMINO 导航器属性....................................................错误!未定义书签。
  8.2.12 WEB 不支持的 DOMINO 表格属性 .......................................................错误!未定义书签。
  8.2.13 WEB 不支持的 DOMINO 文本样式 ......................................................错误!未定义书签。
  8.2.14 WEB 不支持的 DOMINO 视图属性.......................................................错误!未定义书签。

9.DOMINO 独有的内置对象支持分析.................................................................. 错误!未定义书签。

  9.1 内置变量 .................................................................................................错误!未定义书签。
  9.2 内置表单 .................................................................................................错误!未定义书签。
  9.3 内置域 .....................................................................................................错误!未定义书签。

10.DOMINO 特有的 URL 开发详细分析................................................................ 错误!未定义书签。

  10.1 概述.......................................................................................................错误!未定义书签。
  10.2 服务器、数据库和视图.........................................................................错误!未定义书签。
  10.3 帧结构 ...................................................................................................错误!未定义书签。
  10.4 代理、表单和导航器 ............................................................................错误!未定义书签。
  10.5 打开资源 ...............................................................................................错误!未定义书签。
  10.6 增加、删除、编辑、打开和保存文档..................................................错误!未定义书签。
WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                                                          4
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
  10.7 在 URL 命令中通过 KEY 打开指定文档..............................................错误!未定义书签。
  10.8 页面.......................................................................................................错误!未定义书签。
  10.9 附件、图形和 OLE 对象.......................................................................错误!未定义书签。
  10.10 搜索文本 .............................................................................................错误!未定义书签。
  10.11 通过 START 和 COUNT 参数使用前后页按钮或热点........................错误!未定义书签。
  10.12 验证必须的 URL 命令.........................................................................错误!未定义书签。
  10.13 处理 SSL 验证 .....................................................................................错误!未定义书签。
  10.14 在 WEB 应用程序中设置用户首选项 .................................................错误!未定义书签。
  10.15 单一数据库中管理多语言输入 ...........................................................错误!未定义书签。

11.DOMINO-CGI 开发支持分析 ........................................................................... 错误!未定义书签。

12.一个复杂的 B/S 公告管理系统详细开发实例分析 ...................................... 错误!未定义书签。

  12.1 需求调查 ...............................................................................................错误!未定义书签。
  12.2 详细设计建议及要点实例分析 .............................................................错误!未定义书签。
  12.3 开发流程建议........................................................................................错误!未定义书签。
  12.4 应用开发 ...............................................................................................错误!未定义书签。
  12.4.1 录入表单设计及要点详细分析 .......................................................错误!未定义书签。
          12.4.1.1 录入表单的隐藏域及关联对象作用..................................................错误!未定义书签。
          12.4.1.2 公告的类型获取..............................................................................错误!未定义书签。
          12.4.1.3              公告的有效保留时间及结合 JS 实现日历选择 .............................错误!未定义书签。
          12.4.1.4 多附件的实现..................................................................................错误!未定义书签。
          12.4.1.5 JS 图文混排编辑器的集成..............................................................错误!未定义书签。
          12.4.1.6              面向其他系统的数据同步 .............................................................错误!未定义书签。
  12.4.2 通过 HTML 更好的美化和解析视图数据 ..........................................错误!未定义书签。
          12.4.2.1 利用 HTML 使视图显示数据更美观....................................................错误!未定义书签。
          12.4.2.2 数据的选择以及删除控制.................................................................错误!未定义书签。
  12.4.3 实现可自定义条件的数据查询表单 ................................................错误!未定义书签。

13.DOMINO-B/S 模式下常见应用功能开发指南及分析(例程参见随书附赠的 CHINALOTUSVIPFTP)
................................................................................................................................................... 129

  13.1 多用户登陆邮件系统 ............................................................................错误!未定义书签。
  13.2 结合 AJAX 实现在线感知及消息交互..................................................错误!未定义书签。
  13.2.1 我们通过 AJAX 实现在线感知的目标 ..............................................错误!未定义书签。
  13.2.2 实现的具体步骤实例分析 ...............................................................错误!未定义书签。
  13.3 DOMINO 与 EXECL 交互的多种方式 .........................................................................129
  13.4 在 DOMION 中开发多语种的应用程序 ...............................................错误!未定义书签。

14.DOMINO-B/S 模式下应用系统高级开发指南及分析 ..................................... 错误!未定义书签。

  14.1 利用 ERWIN 和 NOTESSQL 设计 DOMINO ...........................................错误!未定义书签。
  14.2 在 DOMINO 中提供 RSS 服务 ............................................................错误!未定义书签。
  14.3 有效利用 DOMINO/NOTES 缓存机制.....................................................错误!未定义书签。
  14.4 用 DREAMWEVER 开发 DOMINO 应用 .............................................错误!未定义书签。
  14.5 利用 APACHE COCOON 动态的转换 DOMINO 文档到 PDF 及 JPG .......错误!未定义书签。

15.系统集成开发实例分析................................................................................ 错误!未定义书签。
WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                                                                                5
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
  15.1 DOMINO 利用 ODBC 和关系型数据库的交互.....................................错误!未定义书签。
  15.2 DOMINO-DB2 .......................................................................................错误!未定义书签。
  15.3 DOMINO 与 SAP 的集成开发 ...............................................................错误!未定义书签。
  15.4 基于 DOMINO 以 WEBSERVICES 的形式提供跨平台的数据交互 ....错误!未定义书签。
  15.4.1 创建 WEB 服务 ..................................................................................错误!未定义书签。
  15.4.2 调用和测试 WEB 服务.......................................................................错误!未定义书签。

16.DOMINO 应用程序开发安全性分析................................................................ 错误!未定义书签。

  16.1 基于 ACL 的安全控制 ..........................................................................错误!未定义书签。
  16.2 基于文档存取的安全控制.....................................................................错误!未定义书签。
  16.3 基于域的安全控制 ................................................................................错误!未定义书签。
  16.4 基于代理的安全控制 ............................................................................错误!未定义书签。

17. DOMINO 开发中的设计规范建议.................................................................. 错误!未定义书签。

  17.1 注释规则及功能注释 ............................................................................错误!未定义书签。
  17.2 设计元素命名规则 ................................................................................错误!未定义书签。
  17.3 变量定义规则........................................................................................错误!未定义书签。
  17.4 类定义规则 ...........................................................................................错误!未定义书签。
  17.5 错误处理规则........................................................................................错误!未定义书签。

17.6 JAVASCRIPT 部份编码规范 ....................................................................... 错误!未定义书签。

  17.6.1 异常处理..........................................................................................错误!未定义书签。
  17.6.2 变量命名..........................................................................................错误!未定义书签。
  17.6.3 代码风格..........................................................................................错误!未定义书签。

18.DOMINO 常见开发管理问题汇总.................................................................... 错误!未定义书签。

19.优秀 LOTUS 技术门户和公司推荐................................................................. 错误!未定义书签。

  19.1 LOTUS 优秀技术开发公司推荐 ................................................................错误!未定义书签。
  19.2 LOTUS 优秀技术门户推荐........................................................................错误!未定义书签。




WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                                                    6
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科


1.写在前面
     窗外天光微明,忙碌的一天又将开始。。。
                      。。。
     拖着疲惫的身躯,写下这篇序,终于将本书告一段落了!一个许久的心愿也
将圆满。还记得当初决定写这本书的起因,实在是个压抑已久的心愿。
     开始的时候心怀万般喜悦,满以为会在充满回忆的欣慰下写下这篇序,而没
料到是在连续奋斗了月余,基本没完整享受过睡眠美味的今晨,努力的眯着双眼、
敲着自己心爱的小黑完成这个宏愿。但此时该有很多同行也在享受同样的待遇,
IT,挨踢,笑。。
        。。ASP、DOMINO、.NET、JAVA 及即将而来的更多的后来者,将协
作这个世界吵得好不热闹,但对笔者来说,一切似乎都是昨天。而协作-回归本然
之美的时刻才是自己期待的欣慰。经过 ASP 的启蒙、经过.NET 的新鲜、还有对 JAVA
的仔细思考之后,还是感觉让自己爱恨交加的 DOMINO 最好,虽几经差点放弃。。。
                                      。。
     技术要想之能成,巧匠要想成大家,抛却名利的静心真少不了,执著于代码
的小技,终不知成就完善产品的大乐!在这里,在笔者的心中,这个大家这个大
乐就是 LOTUS,太多让人敬畏的神奇在其中,太多大师的手笔让人回味无穷。MY
LOTUS!I LOVE YOU!历经二十余年的风雨,仍能不断进取,给大家带来一个又一
个新的未来!
     工作日久,想总结的心愿也愈见浓厚,再加看到市面上复制帮助之途类书籍
的为祸不浅,因此是笔者站在一个开发者的角度,根据日常工作心得,结合实际
的产品及项目开发经验基于 DOMINO7 编写了开发管理丛书。在具体理论基础方面,
为确保正统性以官方帮助为准,但根据笔者实际工作经验勘误。最终希望能给入
门的朋友带来一盏指路的明灯;为资深的同行带来一点新的启发,思想的共鸣!
     在 本 书 的 编 写 过 程 中 , 笔 者 依 仗 了 中 国 最 大 的 LOTUS 技 术 门 户
WWW.CHINALOTUS.COM 上众多同行朋友近十年积累的 LOTUS 知识以及无私贡献的资
料支持,点点滴滴,才始聚成海。并且在编写的过程中,如 carrot、庄生梦蝶、
长颈叔叔、败类、南瓜大叔、暴雨、光合作用等资深同行在编写过程无私提供的
宝贵意见,父母和亲爱的妻子则在无数的长夜给我了默默的支持,没有他们的支持,
我根本不能想象这套书能顺利完成,只有他们的支持,才能最终成就了笔者这个由
来已久的心愿

WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                         7
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
     因此笔者在这里对所有支持这套书编写的亲人和朋友除了用心说声感谢还是
只有感谢,对笔者而言只有将书写完美,无他可替,阅书的朋友在阅书的过程中也
请记住这些名字,没他们也就没这套能给你工作带来支持的书。
     青春无忌,所以有最珍贵的书生意气,激扬文字,理想豪言。
     还记否,离开校园时的清涩和迷茫,但最终我们还是起程,各自用并不宽厚
的肩膀负荷着理想和行囊,背井离乡闯荡在异乡。
     岁月如梦,我们到底得到什么又失去什么?蹄过尘扬,是否我们还能相视而
笑?保持心中的爱与理想吧,别管经受了多久的寒冷!别管激情已经遗失蒙尘了
多久!只要坚持,我们定将一起穿越到水穷之处,笑看云起!
     在本书完成之前不久 IBM 宣布了 LOTUS7 下一个版本,代号为 “Hannover”
的详细蓝图,让笔者更加坚信 LOTUS/DOMINO 因为其数十年的丰富积累,开放的精
神,将仍然是那朵最美丽的智慧莲花!“Hannover”主要特性参详如下:
     1)以“工作为中心”是“Hannover”的核心理念,即它在将在 Notes 中采用
一种新的模式和特性集来支持当前的协作应用与流程;
     2)组合应用”则是“Hannover”所要实现的目标,即它通过添加在 J2EE 平
台上开发的功能(定制或打包),来扩展在 Domino 上部署的应用,从而 Notes 客
户机提供更丰富的应用。
     3)基于角色的计算――通过充分利用驻留于服务器版之上的用户配置文件,
企业将可以实现基于 角色的用户供应。
     4)通过使用 WorkplaceClient Technology,将 Workplace 功能集成至 Lotus
Notes 客户机之中。为用户带来更简单、创新、易于使用的客户机,以支持消息传
送、定制应用、办公工具、以及基于 J2EE 的功能等(包括工作管理、文档管理、
以及团队工作空间)。

本书的建议读者范围
     有一定基本的开发基础但并非是 DOMINO 的,具有对函数,变量,过程的基本
知识的能力,熟悉 HTML、CSS、JS 开发的朋友阅读并了解本书,如果不具备以上
基础不建议购买阅读。




WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                         8
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科


2.LOTUS/DOMINO 起源、家族组成
2.1 LOTUS/DOMION的起源
       凡事究其本源,才能熟知其器,因此笔者决定在本书之始以稍长点的篇幅向
本书读者娓娓道来 LOTUS/DOMINO 的起源,其间也是怀着一份敬畏的心感谢 LOTUS
开发者们用自己的青春与才智培育出来这么一朵最美丽的智慧莲花。
       导致 Notes 客户机和 Domino 服务器诞生的最初概念,实际上比个人计算机
的商业开发早了将近十年。
       最开始是 1973 年伊利诺斯州立大学 Computer-based Education Research
Laboratory(CERL)发布了一个名为 PLATO Notes 的产品。在当时,PLATO Notes
的唯一功能就是为缺陷报告加上用户 ID 和日期的标签,以及保护文件避免被其
他用户删除。然后系统开发人员可以对屏幕下方报告的问题作出反应。这种用户
间的安全通信是 PLATO Notes 的基础。
       1976 年, PLATO Group Notes 在吸收了 PLATO Notes 的最初想法之后加以
扩展发布,可以让用户完成以下实现:

   ·    创建按主题组织的私有 notes 文件

   ·    创建访问列表

   ·    阅读特定日期以后编写的所有 notes 文件并作出响应

   ·    创建匿名的 notes 文件

   ·    创建主控消息标志(director message flag)

   ·    标记文档中的注释

   ·    把 notes 文件连接到其他 PLATO 系统

   ·    使用多角色游戏

   其后一直到 1982 年 IBM PC 和 Microsoft MS-DOS 推出后,基于主机架构的
PLATO 性价比变得越来越低。Group Notes 开始变成很多 “notes 类型” 的其
他软件产品。
       早期曾参与 PLATO Notes 开发的 Ray Ozzie 因为对 PLATO Notes 初始的感情,
WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                         9
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
决定在其后到来的个人 PC 时代继续完善基于 PC 的 Notes 产品的开发。
     最初他并无法为自己的设想筹到资金。不过 Lotus Development Corporation
的缔造者 Mitch Kapor 发现了 Ozzie 所做研究的发展潜力,决定将 Lotus 的资
金投入该项目的开发。Kapor 的商业敏感性、创造力和远见对于把 Ozzie 的设想
变为现实至关重要。

     在 1984 年年底,在 Mitch Kapor 的资助下,按照 Lotus 的协议,Ozzie 成
立了 Iris Associates Inc。 开发 Lotus Notes 的第一个版本。1985 年 1 月,
Tim Halvorsen 和 Len Kawell 加入了 Ozzie,随后 Steven Beckhardt 也来了。
这些人为公司带来了广博的知识和远见,但在那时协作和消息软件这些观念往好
处说是奇思异想,往坏处说就是不切实际。按照 PLATO Notes 他们 塑造了 Lotus
Notes,但也加以扩展,包括了更多强大的特性,比如在线讨论、电子邮件、电话
簿和文档数据库等等。在其后 DEC 的 Alan Eldridge 加入后,Notes 体系结构的
数据库和安全特性开始进一步完善。

     但是在当时,网络互联手段非常原始缓慢,因此,开发人员最初决定将 Notes
定位为具有一些共享能力的个人信息管理程序(PIM),类似于 Organizer。其次,
PC 操作系统还不成熟,Iris 必须编写大量系统级代码来完成 Nae Server 和数
据库这样的任务。最后,随着网络能力的提高,Iris 开始将 Notes 称作群件
(groupware)。群件这个词(最终基本上变成了 Notes 的同义词)指的是促进
一群人之间进行通信、协作和协调的应用程序。

      为了实现这些目标,Notes 为用户提供了客户机/服务器体系结构,主要特
点是 PC 连接到局域网(LAN)。一个组可以设置一台专门的服务器(PC)和其他
组的服务器通信(可以在同一个 LAN 中,也可通过交换网络)。服务器通过 “复
制数据” 交换信息(就是说位于不同服务器上的同一数据库可能有多个副本,
Notes 服务器软件不断地同步它们)。这就使得用户很容易与分支机构的同事交
换信息,就像在同一间办公室中一样。

      其实在 1984 年,考虑团体通信软件是很古怪的,因为当时多数人还没有接
触过电子邮件系统……产品远远走在了时代的前面。

     Notes 初始另一大特色是定制,Notes 体系结构使用了构造块的方法,通过
WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                        10
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
将各种不同的服务拼凑到一起就可以构造团体文本性应用程序。因此 Notes 能够
在行业的变迁中生存下来,因为其灵活,用户可以定制它来适应变化的需求。在
差不多的时刻,Apple Computer 推出了带有易用的图形化用户界面的 Macintosh
机器。它影响了 Lotus Notes 的开发人员,让他们开始为新产品提供了面向字符
的图形化用户界面。
     1986 年 8 月,NOTES 第一版基本完成,能展示了它那独到的功能并具备了初
步的文档。因此 Lotus 评估并接受了该产品。Lotus 于 1987 年买断了 Notes 的
版权。 但甚至在第一个版本推出之前 Lotus Notes 就已经成功了。在正式发布
前 Price Waterhouse 的总裁观看了 Notes 的演示,留下了深刻的印象,因此购
买了 10,000 份拷贝。
     这在当时是有史以来一种软件产品最大的 PC 销售量。作为 Notes 的第一个
大客户,Price Waterhouse 预言 Lotus Notes 将改变我们做生意的方式。现在
我们知道,他们的预言应验了。
      至目前的 LOTUS7 为止,LOTUS 的官方销售拷贝已经过亿,并继往开来的继续
发展中。


2.2 LOTUS/DOMION所支持平台及家族组成
     从第一个版本到目前的 LOTUS7,
                      LOTUS
家族已经发展成了一个覆盖众多
领域的庞大家族,在平台支持方
面目前支持:iSeries; Windows;
AIX; Solaris;
其产品家族的组成和用途如下:
1)Lotus Domino Server(LOTUS 服务器)
                               ;
2)Lotus Domino Administrator(LOTUS 管理台);
3)Lotus Domino Designer(LOTUS 开发工具)
                                  ;
4)Lotus Notes(LOTUS 客户端)
                       ;
5)Domino Web Access (以前的 iNotesLOTUSB/S 电子邮件产品);
6)Domino Access for Outlook
WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                        11
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
(一个为 Microsoft Outlook 用户提供 Lotus/Domino 邮件、地址簿、Calendar and
Scheduling 功能的产品);
7)Lotus Domino Document Manager
(以前的 Domino。Doc-主要用于以下几个方面:组织文档以便工作团队能够有效地
进行共享访问;管理版本以便每一位团队成员都能够获得最新的版本;自动处理
文档驱动的过程,例如评审和批准、汇编和发布、存档,以及记录管理)
8)Lotus/Domino Everyplace
(一套完整的无线解决方案,允许移动 IBM Lotus Notes 和 Domino 用户随时随地
访问其 e-mail、日历、任务列表、目录和其他应用程序。从单一平台支持多种移
动设备,包括个人数字助理 (PDAs)、智能电话和寻呼机)
9)Lotus/Domino Unified Communications
 (以前称为 Domino Unified Communication Services,将语音邮件、电子邮件
和传真进行了整合,从而所有的消息都存储在同一个位置,可以从不同的设备上
访问,包括电话和 PC 机,并能将消息访问扩展到其他设备和技术,比如移动电
话、寻呼机、PDA 和浏览器。此外,还提供了通知功能,在收到消息或者符合特
定条件时以不同的方式通知订阅者)
10)Lotus Connector for SAP Solutions
(它提供 Lotus Domino 和 SAP 企业资源计划软件之间的整合。如果需要从 Lotus
Domino 服务器对 SAP 解决方案数据进行计划或事件驱动的访问,或需要整合
Lotus Notes 收件箱中的 SAP 应用程序工作流项目)
11)Lotus Instant Messaging&Web Conferencing
(SametimeLOTUS 的多媒体视频交流平台);
12)Lotus Learning Management System
(管理基于教室和数字化学习的资源、课件和事件的培训产品)
13)Lotus Virtual Classroom
(通过健壮的协作工具,创建和交付富有吸引力的、基于 Web 的真实培训课程)
14)Lotus Workflow
(LOTUS 的工作流管理设计平台,帮助组织将耗时长、基于人员的活动标准化和流
线化,并且跟踪进展情况,一般须配合 Lotus Domino Document Manager 使用);

WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                        12
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
15)Lotus Team Workplace (以前的 QuickPlace,LOTUS 的项目协作系统,支持
LDAP);
16)Lotus Enterprise Integrator
(LOTUS 一个声明式的、基于服务器的产品,主要用于数据的移动、同步和提取。
如支持 Domino 和很多关系型数据系统及 Enterprise Resource Planning (ERP)
系统之间交换数据);
17)Lotus NotesSQL
(LOTUS/DOMINO 用来进行数据交互的 ODBC 驱动)
18)Lotus SmartSuite
(LOTUS 的桌面编辑系列工具:1-2-3, 提供了全方位功能;Word Pro 领先的文
字处理器; Organizer Release 5 。04 领先的个人信息管理工具;Freelance
Graphics 为日常交流提供了演示图形包;Approach 则提供了支持整个团队使用的
关系数据库)




WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                        13
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科


3.LOTUS/DOMINO 与现有流行平台的
对比分析
    目前随着技术的日新月异,不断有一些新的技术平台诞生或有一些老瓶装新
酒的再生,基于各种商业目的,为了赶超历史最为悠久的协作平台-LOTUS,经常
会有些有意思的混淆视听的说法诞生。
    为了以正视听,笔者在此以自己的亲身感受拟做以下 LOTUS 与现有主流相似
平台的相关性技术分析,希望能给大家一些正确的认识,以正视听。
    开始之前简短的交代下笔者从业经历。1997-1999 于 ASP 及 Exchange 平台基
础上从事 OA 系统开发;2000-2000 至今一直主要基于 LOTUS 工作,同时对 J2EE
体系开始研究。以上的从业经历确保笔者不是个只知 LOTUS 不知其他者,确保了
以下分析的客观性:)首先我们一起来看看几个对 DOMINO 常见的指责。
1.DOMINO 速度太慢
反对者:
    DOMINO 是基于文档的数据库、不具备数据快速检索功能。当数据库中文档数
超过二到三万条时,几乎显得无能为力。Domino 使用解释性的客户响应机制,在
采用 Browser-Domino 结构响应 Web 请求时, Server 端实时地将 Domino 视图
转换或解释为 HTML 文档传送回客户端,对于复杂视图转换时间长。
    在客户端 Browser 上利用 JavaApplet 实现数据的互操作性,客户端启动
Java VM 就需要耗费很长时间,Java VM 启动后,
                             还要解释运行缓慢的 Java Applet,
用户等时太严重。如在一般的 100M 共享网络上,10 个用户同时查询具有 1 万个
文档的数据库,将费时数分钟,而一般办公系统均有数百个用户。
点评:
     以上这段技术分析是最常见的对 DOMINO 的指责,看似合理,稍微认真的去思
考下,其实有着太多的常识性技术错误。
    首先 DOMINO 是会慢,但这里有个前提,数据很多之后是 DOMINO 会慢还是所
有的数据库都会慢?准确的说法应该是当数据量海量的时候,没有任何数据库不
会慢,而且查询及浏览的时候实现方式和代码质量也很重要,再快的平台如果代

WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                        14
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
码或实现方式有问题,随便几行代码都可以让一个优秀的平台崩溃。
     接着还是回到速度这个话题,具体而言,速度的定义应该是两个方面,一是
显示速度二是检索速度。
     首先在显示方面,DOMINO 并不是如上文反对者所说的仅支持 Java Applet,
还支持 HTML 和 XML 多种解析方式。
     而且其中如果采用 JAVA 方式显示的话,DOMINO 方面跟普通的 JAVA 系统的实
现方式并没什么区别。如果 DOMINO 速度慢那么 JAVA 开发的系统也是一样的显示
速度。
    并且在笔者从事 DOMINO 开发的过程中,一直不喜欢采用的就是 JAVA APPLET,
因为一是需要客户端配置,二是速度确实慢,三是那界面的显示方式个人感觉不
是很好,因此笔者一般是采用 HTML 或 XML 解析视图的方式。
    如果解析表单上没多少计算的部分或单纯用视图显示那么可以说十万以上文
档的时候,浏览速度不超过 5 秒,注意这里说的是文档而不是字符型的字段数据;
但如果有大量的计算那么显示速度在大数据量下一般会减缓 5-10 秒。
    最接近极限的一次是一个项目上曾遭遇过一个 30 多 GB 的 NSF 数据库,不管
啥方式显示都比较慢,后来干脆心一横,用了单纯视图显示,结果打开速度也不
超过 10 秒,要换了个同指标的关系型数据库估计已经趴下了。
    至于检索,处理好你的代码,建好索引,数十万文档的数据库想得到检索结
果绝对还是可以承受在 10 秒之内的,如果还要提高速度,建议把文档标题和 URL
地址都放到 DB2 里去检索,但如果文档表单里具有读者域或作者域,此法无效。
DOMINO 只负责打开文档:)
2.综合统计能力太差
反对者:
    在办公信息系统中,实时地对公文运行状况进行分类汇总、监控是必不可少
的功能。而 Domino 是基于文档的小型数据库,如要求进行多维数据汇总,其实现
过程十分复杂,效率极其低下,反应缓慢,远不如关系型数据库。
点评:
   “Domino 是基于文档的小型数据库”“基于文档”
                      ,      可以说不错,“小型数据库”
的印象却不知从何得来?不知该文作者的标准是什么?十万篇文档和十万条关系

WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                        15
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
型记录,无论从存储容量、检索难度、复杂度等方面都不可同日而语。
     所以,在我的印象当中,Domino 数据库的指标一般只提容量,很少提文档数
目,没有什么原因,只是因为在达到文档数目的限制前存储介质早就“爆”掉了。
    并且将 Domino 简单地称为“数据库”,对于它所能完成的工作而言,实在是
一种误解,Lotus/Domino 在市场上一直是作为领先的服务器电子邮件和群件产品
而得到广泛承认的。
    至于“对公文运行进行分类汇总、监控”
                     ,以笔者的经验横向比较的话,只可
能是强项不可能是弱项,这有非常丰富的 DOMINO-OA 产品可证明。
    至于“多维数据汇总”“远不如关系型数据库”
             ,          ,这的确是事实,但每个平台
都有自己所擅长的领域和不擅长的领域。
    DOMINO 作为提供综合服务的群件平台,工作流、协同、通信、文档管理才是
他侧重的方面,否则还要 MIS 系统对大量的原始数据进行多维汇总、处理加工、
产生统计报表做什么。
    而且非要用 DOMINO 做复杂的数据统计分析,也不是没有变通的法子,比如通
过 ODBC、JDBC、LEI, DOMINO 当成一个普通的关系型数据库,
                把                     结合 DELPHI、JAVA
等高级语言,那么 DOMION 一样可以支持复杂的数据统计分析。通往罗马的道路不
仅仅只有一条滴~。
3.实现复杂的应用和界面困难
反对者:
     管理信息系统的界面上一般具有众多的界面元素。如会签界面上至少有文件
标题、正文、附件、起草人、起草时间、处室审核人、审核时间、司局审核人、
签发人、签发时间、会签司局………等等数十项,在 Domino 的视图上实现如此众
多的界面元素十分困难,对于复杂视图在 Notes 中有时竟无法正常显示导致死机。
点评:
    这些更不知道从何说起了,至少在笔者的开发过程中没遇见过,而且科学的
开发方式显示数据也不是依靠视图,而是通过传递给代理一些参数动态构成数据
展现,最终方式有很多种 HTML、XML 等等都可以。至于死机问题,确实存在,但
主要是 R6 以下版本的 C/S 开发中。
4.界面实现手段缺乏呆板

WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                        16
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
反对者:
    Domino 的界面主要由帧、视图、大纲等一些固定格式组成,缺乏灵活性,样
式粗糙呆板,与 HTML 或应用程序界面相比过于原始化、简单化,缺乏个性。
点评:
    的确,直接使用这些元素是缺乏灵活性,但原因恰恰来在于这些设计元素易
用性。一个粗通 Notes 编程的人可以在极短的时间内搭接出一个基本可用的系统,
这是其它系统所难实现的。随着对于 Domino 编程的进一步了解,还可以进行界面
的定制,应用诸如内嵌 HTML 代码、结合 JavaScript、DHTML 等技术开发出开发出
充满个性和艺术性的界面的应用程序,这方面,DOMINO 产品有太多成功的例子。
当然,灵活性的提高通常也伴随着复杂度的提高,这些工作都是需要一定的编程
量的,如何取舍,是见仁见智的问题。
5.数据共享、导入、导出限难
反对者:
     Domino 文档数据库不支持 ACCESS, EXCELL,FoxPro 等通用前台数据库的共
享访问,也不支持各种 SQL 检索工具通过 ODBC 访问,不支持 SQL 语句查询,数
据共享性能极差、数据批量格式化导入导出困难,在流行的 Internet/Intranet
环境下,难以满足用户端数据访问多样化的需求。
点评:
    首先笔者建议大家针对这几条去看看下 LOTUS 的开发帮助和样例数据库,这
些说法就不攻自破了,至于支持各种 SQL 检索工具通过 ODBC 访问,这是笔者在
项目开发中常通过 NOTESSQL 这个产品做的实现。
    如果要做复杂的交互,JDBCSQL、LEI、ESB 都是非常成熟的解决方案。而且目
前 SOAP 架构下的 WEB 服务也是 R7 默认就提供支持了,且实现非常简单。
    以上是笔者根据自己的亲身经历针对目前几种对 LOTUS/DOMINO 常见不实攻击
的技术分析,希望还大家一个真实的 LOTUS/DOMINO 认识。
    接着笔者将 LOTUS/DOMINO 和目前同样主流的 MSExchange 及 J2EE 下的 JAVA
平台作个具体的对比分析,让大家了解更清晰。这里要补充的是 DOMINO 也是 J2EE
的一个组成和 J2EE 规范没有任何矛盾的地方, R8 本身都有纯 JAVA 的版本了:。
                       且                   )



WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                        17
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科

3.1 Lotus/Domino与Microsoft/Exchange
的比较
     首先在销售过程中 IBM 和 Microsoft 都将两个产品互相描述为竞争的产品,
主要原因是在电子邮件的层次上,这两个产品确有可比性。但是在更大的意义上,
LOTUS 和 Exchange 是完全不同的两类产品。Exchange 基本上专注于电子邮件,而
Notes 则是协作平台,电子邮件只是其中一个基本功能而已。它们两个的不同之处
更胜于其共同之处。
     从 LOTUS 第一版开始设计时,就定位在提供网络连接起来的用户之间针对工
作或问题,互相通讯和协同的综合集成环境。到今天为止,这一产品定位没有改
变过。我看也没有什么理由在未来改变。
     而在 Microsoft 的产品家族中,Exchange 是作为 Ms Mail 的换代产品出现的。
Ms Mail 是文件共享型的邮件系统,从 90 年代初起,Microsoft 希望用将其换代
升级为 Client/Server 结构的邮件系统,并着手开始了产品开发工作。Microsoft
用了许多代码名来称呼这个开发项目:"Spitfire"、"Touchdown"、"EMS"等等。
后来,Microsoft 决定他们必须有一个"Notes Killer",Notes 做什么,这个产品
也要做什么,并最终定名为"Exchange"。
     可是,尽管产品名称和市场目标不断改变,但本质并没有改变。因此 Exchange
从根本上说是一个电子邮件产品。
     最开始 Exchange 有个著名的限制就是每一个服务器数据库只能到 16GB,原因
就是来自于其关系数据库存储内核。试想,如果平均每一个用户都占了 50MB 的邮
箱与公共文件夹大小,那么每一个 Exchange 服务器只能支持 320 个用户。难道这
就是"企业级支持"?要知道,实际使用中,由于邮件中包含了大量的附件文件,
50MB 的限制是很容易达到的。
     从 5。5 版开始,Microsoft 在 Exchange Enterprise Server 中解决了这个问
题,办法就是修改内核,引入新的磁盘存储结构。而在 Exchange Standard Server
中依然如故。
     因此于是新的问题出现了:两个版本不兼容。而且 Exchange 的 Enterprise
版必须运行在 NT 企业版上,价位就不一样了,分别是 Standard 版的3倍和4倍。

WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                        18
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
     产品设计思想的不稳定只能给用户造成灾难,Exchange 的升级对用户来说,
每一次升级都意味着"抛弃与取代"。
     另外象办公管理平台目前常需要的 LDAP 服务、HTTP 服务、CA 认证服务、开
发服务如果选择 Exchange 的话,哪怕是最高级版本也是不具有的,需要另外购买
Microsoft 的其他产品组合再加上开发商的代码开发才可以实现。


3.2 Lotus/Domino与JAVA系统的比较
      目前 J2EE 是炒的非常火的一个东西,到处都是宣称自己的系统用 JAVA 开发,
到处都是 JAVA 培训的广告,大有一夜之间 JAVA 来,全国全民都非要学 JAVA 不可
的味道。
     而且很多人都把 JAVA 和 J2EE 混为一谈,但实际上 J2EE 是个很优秀的很大的
体系,JAVA 和 DOMINO 都是其中的组成,因此 J2EE 并不就等同于 JAVA!这是笔者
的第一个观点,因此也只是把 Lotus/Domino 与 JAVA 做对比。
     虽然 JAVA 有跨平台、支撑大用户、较好的开发手段这些不错的优点,尤其跨
平台支持方面,但 DOMINO 就不支持跨平台么,而且历史还早于 JAVA。
     而且就真实的本质而言, JAVA 开发办公管理系统的过程和以前的开发语言
                用
如 VB,ASP 都没太大的区别。开发过程都是先设计数据库、然后编码。只是在开
发过程中 JAVA 有一些不错的技术支持手段。过程仍是老酒装新瓶。
     如果需要一些常用的服务,比如邮件服务、HTTP 服务、LDAP 服务,基于 JAVA
的系统不是要集成第三方的那么就是要自己开发。而不象 DOMINO 天然就提供上述
成熟稳定的服务。因此在系统集成这方面, JAVA 开发的系统的风险性、
                   用               困难性、
稳定性并不比十年前的 ASP 好多少,因为还是一样的设计方式和过程。
     再就是具体开发实现上,DOMINO 本身就提供了很多封装好的支持,而且这些
支持是 20 多年的积累不是一朝一夕的事情,这样就避免了很多重复的开发工作,
而用 JAVA,就要享受很多东西都完全自己来实现了,一些重复的工作无可避免。
     在管理系统最核心的权限方面,DOMINO 本身天然提供七级的完善权限控制,
还有读者域、作者域这些不错的辅助支持。
     而 JAVA,全都靠自己设计开发吧,而且效果基本上也只能到东施的效果,这
不是代码的问题这完全是定位和结构的问题,任何事物都需要时间去完善和积累。
WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                        19
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
     以前笔者也曾带领一个团队做过一个 JAVA+SQLSERVER 的 OA 项目。结果,在
项目前期看起来一切都很好,公文也能流转,也能对数据域进行控制。但是,到
后期的时候,问题出现了。
     我们知道 OA 特别是政府部门的 OA,内部机制是非常复杂的。首先,你用什么
来保证修改的东西在文档资料中是可见的,而且后来的人不能修改,第二,如果
我使用数字签名,你如何保证这些文档是我签字的?而不是别人修改数据库之后的
结果,而且完整的数字签名和需要价格不菲的 CA 支持。
     再往下如果我的控制需要做到文档级的,就是说同一类型的文档,这一份你
能看,那一份你不能看?又该如何实现?
     总体来说:控制流转在 DB 环境下没有什么问题,就算是很复杂的控制,也可
以做。但是文档资料的保存,数字签名。实际上,用 DB 来做解决方案,就意味着
你企图使用结构化的数据格式来表示非格式化的东西。 而且,结构化的表示方法
如果出现了问题,比如在文档结构上要改动,那么你怎么应对?一切程序都有变动
的可能。如此下去,修改只会变得越来越复杂以至到处皆补丁。
     当然,非结构化的数据(比如 Word 文档资料)用 XML 来表示。这当然是可以的,
但工作量是多少? 而且 XML 仅仅是一种通过格式的表述工具,所谓 WPS 的使用 XML
技术就可以和 Office 完全兼容,这是一种废话,也就是说说而已,因为你不知道
格式。所以同样的,将来 XML 也许可以支持其他格式的东西,比如矢量图形,但
这里是有前提的,一是所有文件都免费开发格式结构,其次是这个标准大家都认
可,否则转换和兼容性都是镜中花水中月,所以 XML 也不是解决问题的根本办法。
     最后还有个现象,不管是 IBM 还是 MS, OA 中重要的知识管理方面都有自己
                           在
不基于普通数据库解决的独立数字认证、LDAP 用户管理、存储管理解决。
     为什么 MS 不使用关系型数据库,IBM 不使用关系型数据库来做类似的系统。
按理他们有自己的 DB,有自己的开发工具,但是还是重新开始做了类似的系统,
还不值得我们去考虑一些问题吗?
     因此综上所述,协作市场以后的发展趋势肯定是居于 J2EE+DOMINO 的架构,
末了我再将主要观点重复如下:选择 LOTUS/DOMINO 的优点
1)LOTUS/DOMINO 如果不做开发本身也能用,邮件,日程安排,讨论等
2)LOTUS/DOMINO 可大可小,小用户可以在上面做简单的流程及业务处理,开发时

WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                        20
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
间快,对开发人员要求不高。
3)LOTUS/DOMINO 可与 J2EE 进行很好的接合。从 R7 的发展可以看出。Lotus 将越
  来越好的与 J2EE 进行整合。
4)LOTUS/DOMINO 有 IBM 的技术支持,可以有效的保护投资及技术升级改造,如果
  选择其它开发的平台,将无法保证 OA 系统的延继性(做 OA 的公司倒闭系统无法
  升级,做 OA 的技术人员离开都将对系统造成很大影响,系统本身做好后开发商
  很少对平台进行升级),拿区区几年的时间就说可以跟 LOTUS20 多年的漫长完善
  成熟过程相比,无疑是不现实的。
5)可与其它系统无缝接成,Sametime、workflow、domino.doc 无线应用等,为系
  统的再次升级提供了很好的解决方案,而如果是自已开发的平台,开发商将无
  法帮你提供这些解决方案。
6)Lotus/Domino 相对于 JAVA 具有绝对的价格优越
     真正意义上的 JAVA 部署要购买数据库、应用服务器、邮件等众多 SRV、高端
应用还要购买 EJB 服务器,部署复杂维护成本高,而且几个方面的累计是远远超
过 DOMINO。




WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                        21
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科


6.DOMINO 主要开发技术分析及编码
优化指南
6.1 DOMINO支持的主要开放标准
     首先与 Domino 7 有关的开放标准可以分成两大类:Internet 协议、应用程
序和数据协议。
1)Internet 协议
     我们首先分析与 Internet 有关的协议。下面是我们将讨论的一些重要协议
和相应的 RFC:
名称                                                             RFC
Hypertext Transfer Protocol(超文本传输协议,HTTP/1.0)                  1945
Hypertext Transfer Protocol(超文本传输协议,HTTP/1.1)                  2616
Session Initiation Protocol(会话发起协议,SIP)                        3261

Session Initiation Protocol(SIP)--Specific Event Notification 3265

Internet X.509 Public Key Infrastructure Certificate and
Certificate Revocation List (CRL) Profile(Internet X.509 公共 3280
密约基础设施证书和证书撤销列表子协议)

Definition of the inetOrgPerson LDAP Object Class(inetOrgPerson
                                                                2798
LDAP 对象类定义)
Lightweight Directory Access Protocol version 3(轻型目录访问
                                                       3673
协议,LDAP v3)
LDAP Data Interchange Format(LDAP 数据交换格式,LDIF)                 2849
POP3 Extension Mechanism(POP3 扩展机制)                            2449
Internet Message Action Protocol(Internet 消息动作协议,IMAP4)3348
Simple Mail Transfer Protocol(简单邮件传输协议,SMTP)                   2821
Internet Inter-Orb Protocol (IIOP)                             CORBA/IIOP

     Domino 在 R5 中支持上述多数协议。Domino 7 在其核心服务器上实现了这
些标准,并通过这些标准协议公开本机功能。这使得 Domino 成为一种健壮的 Web



WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                           22
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
服务器,在向传统的 Domino NSF(Notes 存储设备)数据格式提供一幅 Web “面
孔”的同时实现了 HTTP RFC。
       对于应用程序访问,Domino 在其 DIIOP(作为插入的服务器任务)中支持
IIOP,使 Java 能够远程访问传统的 Domino 数据格式。
       同时,Domino 服务器仍然可以访问 Domino 数据。此外,Domino 服务器上
也有 LDAP 服务器的实现(作为插入的服务器任务),通过 LDAP 公开传统的
Domino Directory 数据。
       Domino 还提供了所有与邮件相关的 RFC 的实现,支持使用 POP3 和 IMAP 客
户机访问邮件文件、使用 SMTP 发送和接收邮件,也支持 MIME。Domino 可以作
为 X.509 Certificate Authority(证书权威,CA)。在 Domino7 中原有的 Notes
证书和标准的 X.509 证书结合在一起。除了作为 CA 外,Domino 在服务器和客
户端完全支持 Secure Socket Layer(安全套接字层,SSL)
       Lotus Instant Messaging 即时消息,
                             (      原来的 Sametime)现在也支持 Session
Initiation Protocol(会话发起协议,SIP),在已有的通信方法上增加了一种
传输机制。 Lotus Instant Messaging 3.x 中,
     在                              作为连接两个不同 Lotus Instant
Messaging 体、或者连接一个 Lotus Instant Messaging 体和一个支持 SIP 的
非 Lotus 体的一种方式引入了 SIP。
       随着语音 IP(VoIP)和多媒体/实时协议的融合,SIP 逐渐被业界接受,现
在已成为在 Internet 上建立基于信号的、类似电话的会话的事实标准。Lotus
Instant Messaging 以后的版本将对 SIP 和相关标准提供更多的核心支持。
2)应用程序和数据协议
       接着我们再看一看与 OSI 模型的数据/应用程序层有关的标准,我们会看到
在这个舞台上控制着各种技术标准的一些角色。其中包括:
Extensible Markup Language(可扩展标记语言,XML)和 Document Object Model
(文档对象模型,DOM)

   ·    XML Schema(XML 模式)

   ·    XML Schema Language Transformation(XML 模式语言转换,XSLT)

   ·    Simple Object Access Protocol(简单对象访问协议,SOAP)

WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                        23
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
   ·    Web Services Definition Layer(Web 服务定义层)

   ·    Universal Description, Discovery, and Integration of Web Services
        (Web 服务统一描述、发现和集成,UDDI)

   ·    Scalable Vector Graphics(可缩放向量图形,SVG)

   ·    Security Assertion Markup Language(安全断言标记语言,SAML)

   ·    Unified Modeling Language(统一建模语言,UML)

   ·    RDF Site Summary, Rich Site Summary, Really Simple Syndication(RDF
        站点提要,丰富站点提要,真正简单的连锁,RSS) 1.0和 2.0



6.2 DOMINO支持的主要开发语言及方式

6.2.1 Domino Object Model(DOM)类

   Domino Object Model(DOM)是 DOMINO 用于构建应用程序的面向对象的类的总
集合,并且通过其支持其他的开发语言来访问 DOMINO 数据库和应用程序。
       在 DOMINO 中这些类是作为标准的 CORBA 对象加入,用来进行分布式应用程序
的创建。对于更高级的定制应用程序,则是通过 C++API 直接访问 DOMINO 服务。
       如果计划编写自己的应用程序,可以使用在模型中定义的对象、成员函数和
属性来操作 Domino 对象.例如,数据库、视图和表单。通常使用对象的属性来获
得对象的信息(例如,利用数据库对象的 RephcaID 属性来查询数据库的复制
ID ) ; 使 用 成 员 函 数 来 执 行 有 关 对 象 的 活 动 ( 例 如 , 使 用 数 据 库 对 象 的
CreateDocument 成员函数在给定数据库中创建一个文档)。从概念上讲, DOM 模
型中存在两种类型的对象。它们是: Front- endUI (前端用户界面)对象和
Back-end (后端服务器)对象。
1 .理解 Front - end 和 Back - end Classes
       为了考虑数据是如何存储在 Domino 中的,可以考虑将 Domino 数据库中的文
档作为一个关系型数据库的纪录。

WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                        24
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
     但 Domino 文档比一个典型的数据库记录更复杂。因为它可能包含 richtext、
图片、对象和其他类型的信息。因此,如果使用 Back - end 类进行访问 Domino
文档,操作域中的内容,在文档中增加新域,或者从文档中删除域等操作,则表
单中包含的输入转换和输出有效性公式可能都不能执行。
     另一方面,如果操作 Domino 中的 Front - end 对象,则所作的修改对表
单公式都是可见的。例如,如果激活 NotesuIDocument 类中的 Refresh 成员函
数,则输入转换和输出有效性公式可以执行。

                     $updateBy

                     susan

                     域一

                     域二

                     文档中的表单名


     上图就表示了一个 Back - end 文档,并显示了数据是如何存储在 Domino
数据库中的。 用于创建文档的表单中,
                 “域 1 ”和“域 2 ”已经定义了。这个
表单的名字存储在“表单”域中,如果使用代理或 LotusScript 修改了表单域的
值,则当下一次打开文档时它会利用其他表单呈现给用户。
     如果在文档中没有“表单”域,则 Domino 会使用数据库默认表单显示文档。
如果没有默认表单,则不能显示文档。 $ updateBy 域是由 Domino 创建的内部
域,它包含了已经操作过此文档的用户列表。在大多数情况下,这类使用以$开
头的域名是 DOMINO 自己维护的内置对象。从 Domino R5 开始还允许指定用户输入
的最大值,并将此修改保存在数据库中的 InfoBox 中。
2 . Domino Front - end Ul 对象
     Front - endul 对象用于操作当前用户界面。它们的典型用法是用于事件编
程,以及访问用户当前操作的 Domino 对象。以下是可用的对象。
 l ) NotesUlworkspace 表示当前 Notesl 作台窗口。
 2 ) NotesuIDatabase 表示当前使用的数据库。
 3 ) NotesuIView 表示当前使用的视图。

WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                        25
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
 4 ) NotesuIDocument 表示当前打开的文档。
只有事件联系的对象
  5 ) Button 表示按钮
  6 ) Field 表示域
  7 ) Navigator 表示导航器
3 . Domino Back - end 对象
     Domino Back - end 对象用于操作 Domino 数据。它们不支持任何事件或通
过用户界面的操纵。然而,可以在 Ul 脚本中将 Back - end 对象与 Front - end
对象结合起来。例如, NotesuIDocument 对象具有 Document 的属性,它提供了
访问下划线文档的功能。表 1 - 1 描述了 Back - end 对象存在的相关类功能。

               类                                           功   能

NotesSession                  代表当前脚本的 Domino 环境,提供了访问环境变量、Domino 目录、
                              当前用户信息、以及当前 Domino 平台和版本信息
NotesDbDirectory              代表指定服务器或本地上的 Domino 数据库
NotesDatabase                 代表 Domino 数据库
NotesACL                      代表数据库的访问控制表 ACL
NotesACLEntry                 代表访问控制列表中的一项。该项可代表个人、群组或服务器
NotesAgent                    代表一个代理
NotesView                     代表数据库的视图或文件夹、并提供访问文档的权限
NotesViewColumn               代表视图或文件夹的列
NotesDocumentCollection       代表数据库中满足一定标准的文档集合
NotesDocument                 代表数据库中的文档
NotesItem                     代表文档中的一项数据。不管在用户界面上文档是以何种形式显示的,
                              文档中的数据项都可以通过 LotusScript 看到
NotesRichTextItem             代表 RichText 类型数据
NotesRichTextStyle            代表 RichText 域的属性

NotesEmbeddedObject           代表嵌入对象、链接对象和附件

NotesDateTime                 代表日期和时间。提供了在 LotusScript 日期-时间格式与 Notes 格式之
                              间的转换功能
NotesDateRange                包含 NotesDateTime 范围。NotesDateTime 类型的对象表示一个给定的
                              日期和时间




WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                            26
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科

               类                                           功   能
NotesLog
                              记录在脚本运行期间,发生的活动和错误。可以在 Notes 数据库、邮件
                              或文件(本地运行的脚本)中记录活动和错误
NotesNewsLetter
                              代表一个包含所有来自其他文档或文档链接信息的文档。所有
                              NotesItem 属性和方法也可以用于 NotesRichTextItem
NotesForm
                              代表 Notes 数据库中的表单
NotesInternational
                              该对象包含了提供关于国际设置信息的属性,例如,在 Domino 环境中
                              运行的日期格式
NotesName
                              这个对象的属性包含了有关 Domino 用户姓名的信息


NotesTimer                    代表 Domino 中的定时器
NotesRegistration             代表 ID 文件的创建和管理
NotesOutline                  代表 Notes Outline 属性
NotesReplication              代表数据库复制设置
NotesRichTextParagraphStyle   代表 RichText 段落属性
NotesRichTextTab              代表 Rich Text 标签属性
NotesViewEntry                代表视图输入项。一个视图输入项表示视图中的一行
NotesViewEntryCollection      代表根据一定标准选择的视图输入项的集合
NotesViewNavigator            代表视图导航器。视图导航器提供了访问所有或者一部分视图输入项的
                              功能
     可以从 Java 访问 Domino Back - end 对象。从而可以用 Java 编写部分应
用程序。 Java 程序在安装了 Domino 的机器上运行。例如, Java 代理可以操
作 Domino 对象。但要注意的是 Java 类程序不是 LotusScript 与 Java 的端口。
事实上,除了界面的语法是不同的之外,;可以执行相同的 C +十代码。
4 .对象层级
     Domino 对象之间存在层级关系。高层级对象包含低层级对象。图 1 一 2 描
述了几个 Domino 对象之间的层级关系。




     上图中每个对象都定义了成员、属性和成员函数。利用这些成员函数,你可
WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                            27
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
以访问其他对象。这种包含关系意味着高层级的对象具有访问低层级对象的属性
或成员函数的特性。
     例如,当打开数据库时,可以看到所有的视图。这表示在工作台中打开的数
据库(对象)包含了视图(对象)。而且,当选择一个视图时,可以看到文档。这
表示选中的视图(对象)包含文档(对象)。在使用 Domino 对象时这种层级关系
非常重要。在 Domino Object Model 中 Notessession 是最高层级的对象。如果
从 Notessession 启动,可以对任何对象操作


6.2.2 LOTUSSCRIPT

     当在 Domino 中编程时,可以通过编写 LotusScript 代码来影响 Domino 对
象。代码由对象事件的发生来执行。例如,单击按钮,打开文档,关闭文档,或
者在域中输入数据。使用 objects 视图,可以很容易看见对象可用的事件。
     例如,你可以编写诸如按钮的一段非常简单的对象脚本。
     Sub Click (Source As Button)
     MessageBox (“I’m learning LotusScript!”)
     End gub
     当单击按钮时,这个脚本会显示信息框。

1 .事件描述
     DOMINO 对象有:数据库、代理、操作、视图、文件夹、表单、子表单、页面、
域、热点对象。为响应对象中发生的事件, Domino 通过执行公式、LotusScript 、
JavaScript 和 Java 代码来响应在对象中发生的事件。此外可以将 LotusScript
子例程或函数添加到对象中。并在属于对象的 Script 列表中添加或选取相应的
ScriPt ,同时,代码可保存在 Script 库中。
   Domino 的每一个可编程对象都有一个对应的相关事件列表。每一个对象都有
一个 declarations 区域和 option 区域,可以在其中编写应用于该对象中所有
LotusScript 事件的非执行 LotusScript 语句:
在 Options 区域里可以编写 Option 、 Use 、 UseLSX 和 Const 语句;
在每一个文档和视图都有一个 GlobalS 区域,可以在其中编写应用于文档中所有
LotusScript 事件的非执行 LotusScript 语句;
WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                        28
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科
在 Postopen 事件中对当前文档所做的修改被当作缺省值看待。该文档不被标记
为已产生变化。如果用户在此时关闭文档, Postopen 的修改内容将会丢失,必
须显式的保存此变化。
      Domino 也允许在 web 应用程序中运行 LotusScript 代码,但是有几个限制。
通 常 你 使 用 LotusScript 来 开 发 代 理 , 这 些 代 理 来 自 WebQueryopen 和
WebQueryClose 事件。 LotusScript 代理只能在 Domino 服务器上运行,而不能
在 WEB 浏览器上运行。
l )下面一些表列出了能够使用公式语言、 LotusScript、JavaScript 和 Java
     自动执行的事件。
                                 下表是数据库对象的事件描述

                  事 件 名                                    执 行 时 间

Postopen (LS,F)                         打开数据库后
Postdocumentdelete (LS,F)               文档被删除后
Queryclose (LS,F)                       数据库正在被关闭时
Querydocumentdelete (LS,F)              将文档标记为删除之前
Querydocumentundelete (LS,F)            将文档标记为取消删除之前
                                        将文档标记为拖放操作之前
Querydragdrop (LS,F)
                                        在视图中执行拖放操作之前
Postdragdrop (LS,F)
                                        在视图中执行拖放操作之后
Initialize (LS)                         数据库正在被装入时
Terminate (LS)                          数据库正在被关闭时


                                 下表是文件夹对象的事件描述

                  事 件 名                                    执 行 时 间

Postpen (LS,F)                          打开视图或文件夹之后
Regiondoubleclick (LS,F)                双击日历视图中的区域时
Queryopendocument (LS,F)                装入文档之前
Queryrccale (LS,F)                      刷新视图或文件夹之前
Queryaddtofolder (LS,F)                 将文档添加至文件夹之前
Querypaaste (LS,F)                      文档被粘贴之前
Postpaste (LS,F)                        进行粘贴操作之后
Querydragdrop (LS,F)                    在日历视图中进行一个拖放操作之前




WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                           29
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科

                  事 件 名                                    执 行 时 间
Postdragdrop (LS,F)                     在日历视图中进行一个拖放操作之后
Queryclose (LS,F)                       正在关闭视图或文件夹时
Initialize (LS)                         装入视图或文件夹时
Terminate (LS)                          正在关闭视图或文件夹时


                                  下表是页面对象的事件描述

                  事 件 名                                    执 行 时 间
onHelpRequest (F)                       选择帮助时
JS Header (JS)                          正在装入文档时
onBlur (JS)                             取消选中对象时
onClick (JS)                            选中对象时
onDblClick (JS)                         双击选中对象时
onFocus (JS)                            选中可编辑域时
onHelp (JS)                             选择帮助时
onKeyDown (JS)                          按下键时
onKeyPress (JS)                         按下键时
onKeyUp (JS)                            放开键时
onLoad (JS)                             打开文档之后
onMouseDown (JS)                        按下鼠标按钮时
onMouseMove (JS)                        移动鼠标时
onMouseOut (JS)                         鼠标移出对象时
onMouseOver (JS)                        鼠标移动经过对象时
onMouseOut (JS)                         放开鼠标按钮时
onMouseOver (JS)                        重置文档
onMouseUp (JS)                          提交文档之前
onReset(JS) ---form only                关闭文档之前
onSubmit(JS) ---form only               打开文档之前
onUnload (JS)                           打开文档之后
Queryopen (LS,F)                        将文档更改为读或编辑模式之前
Postopen (LS,F)                         将文档更改为读或编辑模式之后运行
Querymodechange (LS,F)                  刷新文档之后(重新计算数值)
Postmodechange (LS,F)                   保存文档之前




WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                           30
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科

                  事 件 名                                     执 行 时 间
Postrecalc (LS,F)                       保存文档之后
Querysave (LS,F)                        正在装入文档时
Postsave (LS,F)
Queryclose (LS,F)                       关闭文档之后
Initialize (LS)                         选中对象时


                                      表单对象的事件描述

              事 件 名                                        执 行 时 间

表单 WebQueryOpen (F)               显示 Web 文档之前
—— 公用于表单                          为使用以下语法的公式:@command([ToolsRunMacro] agentname”
                                                                    “           )
子表单 WebQuerySave (F)              保存 Web 文档之前

——仅用于表单                           为使用以下语法的公式:@command([ToolsRunMacro] agentname”
                                                                    “           )



                                       域对象的事件描述

              事 件 名                                        执 行 时 间

onClick (JS)                      选中对象时
onChange (JS)                     更改对象时
onBlur (JS)                       取消选定可编辑域时
onFocus (JS)                      选中可编辑域时,光标移到处于编辑状态下的域中
Entering (LS)                     选中可编辑域时
Exiting (LS)                      取消选定可编辑域时
Initialize (LS)                   正在装入文档时——在表单 Initialize 事件之后发生
Terminate (LS)                    正在关闭文档时

                                      其他对象的事件描述

              事 件 名                                        执 行 时 间

onBlur (JS)         操作            取消选定对象时
onClick (JS)        按钮            选择对象时
onDblChick (JS) 热点                双击选择对象时
onFocus (JS)                      选择可编辑域时
onHelp (JS)                       选择帮助时
onKeyDown (JS)                    按下键时




WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                             31
IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科



             事 件 名                                         执 行 时 间
  onKeyUp (JS)                     放开键时
onMouseDown (JS)
                                  按下鼠标按钮时
onMouseMove (JS)
                                  移动鼠标时
onMouseOut (JS)
                                  鼠标移出对象时
onMouseOver (JS)
                                  鼠标移动经过对象时
onMouseUp (JS)
                                  放开鼠标按钮时
Click (LS,F)
                                  选中对象时
Objectexecut (LS)
                                  对象被启用了 FX/NotesFlow 的 OLE2 服务器激活时
Initialize (LS)
                                  正在装入对象时
Terminate (LS)
                                  正在关闭对象时
Action (F)        代理
                                  运行代理时
JavaAgent (J)
                                  运行代理时
Initialize (LS)                   正在装入代理时
Terminate (LS)
                                  正在关闭代理时


2)在对象视图中 Domino 表单和域事件的任务和采用的开发工具。
                    在对象视图中 Domino 表单事件功能与使用开发工具描述

    事 件             开发语言                             描 述                    Notes   Web
Window Title           公式     给表单命名                                          是      是
HTML Head              公式     包含了所有在 HTML 主题区段中的信息,例如:                       否      是
                              JavaScript
Content                公式     颜色和字体
HTML Body                     包含了所有的 HTML 主体区段中的信息                           否      是
Attributes
WebQueryOpen           公式     当表单从 Web 页面提交之后运行。默认在 Web 文档                   否      是
                              显示之前运行一个代理,这个公式必须运用以下语
                              法:@command([tollsrunmacro];”agentname”),你也可
                              以在不呼叫代理的情况下输入不同类型的公式,你可
                              以输入一个 LS 代理,然后呼叫这个代理
WebQuerySave           公式     必须运用下列语法:
                              @Command([ToolsRunMacro]:”agentname”)
                              可以在不呼叫代理的情况下输入不同类型的公式或
                              输入一个 LotusScript 代理,然后呼叫这个代理



WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com
TEL:86-0731-5817822 FAX:5159795-608                             32
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版
最终Chinalotus之Domion7开发大百科简体尝试版

More Related Content

Viewers also liked

France paris - Viajar na Europa
France paris -  Viajar na EuropaFrance paris -  Viajar na Europa
France paris - Viajar na EuropaSara Gonçalves
 
Seminario eMadrid sobre "Aprendizaje de la programación en diversos niveles e...
Seminario eMadrid sobre "Aprendizaje de la programación en diversos niveles e...Seminario eMadrid sobre "Aprendizaje de la programación en diversos niveles e...
Seminario eMadrid sobre "Aprendizaje de la programación en diversos niveles e...eMadrid network
 
Pasaporte a londres 2012 duro verano para las chicas y chicos del bádminton
Pasaporte a londres 2012  duro verano para las chicas y chicos del bádmintonPasaporte a londres 2012  duro verano para las chicas y chicos del bádminton
Pasaporte a londres 2012 duro verano para las chicas y chicos del bádmintoniesoteropedrayoef
 
Examen final 3 kelly christina ng liu
Examen final 3 kelly christina ng liuExamen final 3 kelly christina ng liu
Examen final 3 kelly christina ng liuKelly Leon
 
Forchu Teck Technology Collaboration Profile
Forchu Teck Technology Collaboration ProfileForchu Teck Technology Collaboration Profile
Forchu Teck Technology Collaboration ProfileCharles Forchu
 
Eventos no epilepticos paroxisticos001
Eventos no epilepticos paroxisticos001Eventos no epilepticos paroxisticos001
Eventos no epilepticos paroxisticos001isalomonaco
 
Batra Computer Centre
Batra Computer Centre Batra Computer Centre
Batra Computer Centre jatin batra
 
7th International Conference Innovative Seating 2012
7th International Conference Innovative Seating 20127th International Conference Innovative Seating 2012
7th International Conference Innovative Seating 2012AshleyRowe
 
Quart. 1r. trimestre
Quart. 1r. trimestreQuart. 1r. trimestre
Quart. 1r. trimestreMerxemusica
 
Brand Holism Lecture at Edenspiekermann
Brand Holism Lecture at EdenspiekermannBrand Holism Lecture at Edenspiekermann
Brand Holism Lecture at EdenspiekermannEmanuel Jochum
 
GWDC business-brochure-green PDF
GWDC business-brochure-green PDFGWDC business-brochure-green PDF
GWDC business-brochure-green PDFMiguel Roberg
 
Asosciación Int. de Señalamiento Maritimo
Asosciación Int. de Señalamiento MaritimoAsosciación Int. de Señalamiento Maritimo
Asosciación Int. de Señalamiento MaritimoDanieldelsur
 
Comprension pictogramas-lecto-escritura
Comprension pictogramas-lecto-escrituraComprension pictogramas-lecto-escritura
Comprension pictogramas-lecto-escrituraChoni HQLPE
 
Entrevista de Psicología del Adulto Mayor
Entrevista de Psicología del Adulto Mayor Entrevista de Psicología del Adulto Mayor
Entrevista de Psicología del Adulto Mayor Marisol Sol Mar
 

Viewers also liked (19)

France paris - Viajar na Europa
France paris -  Viajar na EuropaFrance paris -  Viajar na Europa
France paris - Viajar na Europa
 
Seminario eMadrid sobre "Aprendizaje de la programación en diversos niveles e...
Seminario eMadrid sobre "Aprendizaje de la programación en diversos niveles e...Seminario eMadrid sobre "Aprendizaje de la programación en diversos niveles e...
Seminario eMadrid sobre "Aprendizaje de la programación en diversos niveles e...
 
Pasaporte a londres 2012 duro verano para las chicas y chicos del bádminton
Pasaporte a londres 2012  duro verano para las chicas y chicos del bádmintonPasaporte a londres 2012  duro verano para las chicas y chicos del bádminton
Pasaporte a londres 2012 duro verano para las chicas y chicos del bádminton
 
Examen final 3 kelly christina ng liu
Examen final 3 kelly christina ng liuExamen final 3 kelly christina ng liu
Examen final 3 kelly christina ng liu
 
Cuaderno de reciclaje
Cuaderno de reciclajeCuaderno de reciclaje
Cuaderno de reciclaje
 
Forchu Teck Technology Collaboration Profile
Forchu Teck Technology Collaboration ProfileForchu Teck Technology Collaboration Profile
Forchu Teck Technology Collaboration Profile
 
Eventos no epilepticos paroxisticos001
Eventos no epilepticos paroxisticos001Eventos no epilepticos paroxisticos001
Eventos no epilepticos paroxisticos001
 
Batra Computer Centre
Batra Computer Centre Batra Computer Centre
Batra Computer Centre
 
7th International Conference Innovative Seating 2012
7th International Conference Innovative Seating 20127th International Conference Innovative Seating 2012
7th International Conference Innovative Seating 2012
 
Quart. 1r. trimestre
Quart. 1r. trimestreQuart. 1r. trimestre
Quart. 1r. trimestre
 
Marketing - RRPP - Cátedra: Dr. Maximiano Ortner
Marketing - RRPP - Cátedra: Dr. Maximiano OrtnerMarketing - RRPP - Cátedra: Dr. Maximiano Ortner
Marketing - RRPP - Cátedra: Dr. Maximiano Ortner
 
Brand Holism Lecture at Edenspiekermann
Brand Holism Lecture at EdenspiekermannBrand Holism Lecture at Edenspiekermann
Brand Holism Lecture at Edenspiekermann
 
GWDC business-brochure-green PDF
GWDC business-brochure-green PDFGWDC business-brochure-green PDF
GWDC business-brochure-green PDF
 
Asosciación Int. de Señalamiento Maritimo
Asosciación Int. de Señalamiento MaritimoAsosciación Int. de Señalamiento Maritimo
Asosciación Int. de Señalamiento Maritimo
 
Covenin 633 01
Covenin 633 01Covenin 633 01
Covenin 633 01
 
Qa qc
Qa qcQa qc
Qa qc
 
Comprension pictogramas-lecto-escritura
Comprension pictogramas-lecto-escrituraComprension pictogramas-lecto-escritura
Comprension pictogramas-lecto-escritura
 
Entrevista de Psicología del Adulto Mayor
Entrevista de Psicología del Adulto Mayor Entrevista de Psicología del Adulto Mayor
Entrevista de Psicología del Adulto Mayor
 
Go at uber
Go at uberGo at uber
Go at uber
 

Similar to 最终Chinalotus之Domion7开发大百科简体尝试版

Docbook dev note
Docbook dev noteDocbook dev note
Docbook dev notecri fan
 
Docbook dev note
Docbook dev noteDocbook dev note
Docbook dev notecri fan
 
J Boss+J Bpm+J Pdl用户开发手册 3.2.3
J Boss+J Bpm+J Pdl用户开发手册 3.2.3J Boss+J Bpm+J Pdl用户开发手册 3.2.3
J Boss+J Bpm+J Pdl用户开发手册 3.2.3yiditushe
 
Java eye新闻月刊 2011年01月 - 总第35期
Java eye新闻月刊   2011年01月 - 总第35期Java eye新闻月刊   2011年01月 - 总第35期
Java eye新闻月刊 2011年01月 - 总第35期JianXiong Ma
 
Mongo db实战
Mongo db实战Mongo db实战
Mongo db实战Roger Xia
 
深入浅出My sql数据库开发、优化与管理维护
深入浅出My sql数据库开发、优化与管理维护深入浅出My sql数据库开发、优化与管理维护
深入浅出My sql数据库开发、优化与管理维护colderboy17
 
深入浅出My sql数据库开发、优化与管理维护 (1)
深入浅出My sql数据库开发、优化与管理维护 (1)深入浅出My sql数据库开发、优化与管理维护 (1)
深入浅出My sql数据库开发、优化与管理维护 (1)colderboy17
 
Java eye新闻月刊 2009年08月 - 总第18期
Java eye新闻月刊   2009年08月 - 总第18期Java eye新闻月刊   2009年08月 - 总第18期
Java eye新闻月刊 2009年08月 - 总第18期lileinba
 
2006 年中国博客调查报告
2006 年中国博客调查报告2006 年中国博客调查报告
2006 年中国博客调查报告sugeladi
 
Doublemax 網路廣告聯播平台
Doublemax 網路廣告聯播平台Doublemax 網路廣告聯播平台
Doublemax 網路廣告聯播平台誼峰 陳
 
51 cto下载 2010-ccna实验手册
51 cto下载 2010-ccna实验手册51 cto下载 2010-ccna实验手册
51 cto下载 2010-ccna实验手册poker mr
 
《Axure快速原型设计》
《Axure快速原型设计》《Axure快速原型设计》
《Axure快速原型设计》LIU hongmin
 
《Axure快速原型设计》
《Axure快速原型设计》《Axure快速原型设计》
《Axure快速原型设计》soaringwly
 
Memcached
MemcachedMemcached
Memcachednowise
 
Memcached全面剖析
Memcached全面剖析Memcached全面剖析
Memcached全面剖析chen vivian
 
Memcached
MemcachedMemcached
Memcachedfeizone
 

Similar to 最终Chinalotus之Domion7开发大百科简体尝试版 (20)

Docbook dev note
Docbook dev noteDocbook dev note
Docbook dev note
 
Docbook dev note
Docbook dev noteDocbook dev note
Docbook dev note
 
J Boss+J Bpm+J Pdl用户开发手册 3.2.3
J Boss+J Bpm+J Pdl用户开发手册 3.2.3J Boss+J Bpm+J Pdl用户开发手册 3.2.3
J Boss+J Bpm+J Pdl用户开发手册 3.2.3
 
Java eye新闻月刊 2011年01月 - 总第35期
Java eye新闻月刊   2011年01月 - 总第35期Java eye新闻月刊   2011年01月 - 总第35期
Java eye新闻月刊 2011年01月 - 总第35期
 
Mongo db实战
Mongo db实战Mongo db实战
Mongo db实战
 
深入浅出My sql数据库开发、优化与管理维护
深入浅出My sql数据库开发、优化与管理维护深入浅出My sql数据库开发、优化与管理维护
深入浅出My sql数据库开发、优化与管理维护
 
深入浅出My sql数据库开发、优化与管理维护 (1)
深入浅出My sql数据库开发、优化与管理维护 (1)深入浅出My sql数据库开发、优化与管理维护 (1)
深入浅出My sql数据库开发、优化与管理维护 (1)
 
Java eye新闻月刊 2009年08月 - 总第18期
Java eye新闻月刊   2009年08月 - 总第18期Java eye新闻月刊   2009年08月 - 总第18期
Java eye新闻月刊 2009年08月 - 总第18期
 
2006 年中国博客调查报告
2006 年中国博客调查报告2006 年中国博客调查报告
2006 年中国博客调查报告
 
Doublemax 網路廣告聯播平台
Doublemax 網路廣告聯播平台Doublemax 網路廣告聯播平台
Doublemax 網路廣告聯播平台
 
51 cto下载 2010-ccna实验手册
51 cto下载 2010-ccna实验手册51 cto下载 2010-ccna实验手册
51 cto下载 2010-ccna实验手册
 
《Axure快速原型设计》
《Axure快速原型设计》《Axure快速原型设计》
《Axure快速原型设计》
 
《Axure快速原型设计》
《Axure快速原型设计》《Axure快速原型设计》
《Axure快速原型设计》
 
互联网精准广告定向技术-by牛国柱
互联网精准广告定向技术-by牛国柱互联网精准广告定向技术-by牛国柱
互联网精准广告定向技术-by牛国柱
 
Memcached
MemcachedMemcached
Memcached
 
Memcached
MemcachedMemcached
Memcached
 
Memcached全面剖析
Memcached全面剖析Memcached全面剖析
Memcached全面剖析
 
Memcached
MemcachedMemcached
Memcached
 
1
11
1
 
Fluxay
FluxayFluxay
Fluxay
 

最终Chinalotus之Domion7开发大百科简体尝试版

  • 1. IBM 官 方 推 荐 用 书 -CHINALOTUS 之 DOMINO7 开发大百科 目前本書有简、繁双體版本,管理篇人民币 166 元 20 万余字,开发篇人民币 199 元 20 万余 字,量多优惠。详情请参考如下网址! http://bbs.chinalotus.com/viewthread.php?tid=23913&extra=page%3D1&page=1 本书是笔者在 DOMINO 开发管理领域多年经验结合 CHINALOTUS 十年资源汇集而成的一本 LOTUS 开发管理入门提高之书,编写原因一是工作日久,想总结的心愿也愈见浓厚,再加看到 市面上复制帮助之途类书籍的为祸不浅。因此笔者根据日常工作心得,结合实际的产品及项 目开发经验基于 DOMINO7 编写了这套丛书,希望能给入门的朋友带来一盏指路的明灯;为资 深的同行带来一点新的启发,思想的共鸣! 本套丛书的特点是,全套 DOMINO 知识是由浅而深;提供大量图文并茂的实例;并随书附 送不断更新价值人民币 150 元 CHINALOTUSVIPFTP,具有大量优秀例程、正版开发工具以及开 发管理资料;还通过 QQ 读书群 5217694 为读者提供永久免费修正升级以及讲解支持。 因为是专业的 LOTUS 技术书籍,销量有限导致成本较高,DOMINO 确实是个被市场证明的 优秀的群件平台,只是大家都知道的一些原因,只能努其不争,因此欢迎大家团购节省费用。 目前通过各大 LOTUS 技术门户与联盟书店热销中, 购买或咨询方式:QQ:59637733;QQ:441097519 EMAIL:cndragonws@hotmail.com 电话: 86-0731-5817822;5159795 联系人:林小姐 L OTU S 中 文 网 ChinaLotus Software Co., Ltd. ComBestsoft Confidential
  • 2. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 目 录 1.写在前面....................................................................................................................................... 7 2.LOTUS/DOMINO 起源、家族组成 ................................................................................................... 9 2.1 LOTUS/DOMION 的起源 ........................................................................................................... 9 2.2 LOTUS/DOMION 所支持平台及家族组成............................................................................. 11 3.LOTUS/DOMINO 与现有流行平台的对比分析 ............................................................................ 14 3.1 LOTUS/DOMINO 与 MICROSOFT/EXCHANGE 的比较 ......................................................................... 18 3.2 LOTUS/DOMINO 与 JAVA 系统的比较 ...................................................................................... 19 4.LOTUS DESIGNER 7 的主要新功能(整理至 IBM 官方正式红皮书)............. 错误!未定义书签。 4.1 更直观的所见既所得的编辑...................................................................错误!未定义书签。 4.2 对 DB2 的集中支持 ..................................................................................错误!未定义书签。 4.3 对 WEB SERVICES 的集中支持 .....................................................................错误!未定义书签。 4.4 新增的可编程性......................................................................................错误!未定义书签。 4.5 其他应用程序开发改进 ..........................................................................错误!未定义书签。 4.6 用户界面 .................................................................................................错误!未定义书签。 4.6.1 新的设计元素导航器.........................................................................错误!未定义书签。 4.6.2 书签 ...................................................................................................错误!未定义书签。 4.6.3 自定义设计元素文件夹.....................................................................错误!未定义书签。 4.6.4 快速滚动 ..........................................................................................错误!未定义书签。 4.6.5 加/减指示器 ....................................................................................错误!未定义书签。 4.6.6 设计元素视图的新特性 ...................................................................错误!未定义书签。 4.6.7 为多个元素修改属性 .......................................................................错误!未定义书签。 4.6.8 设计元素的锁定...............................................................................错误!未定义书签。 4.6.9 打印增强 ..........................................................................................错误!未定义书签。 4.6.10 底纹 .................................................................................................错误!未定义书签。 4.7 设计大纲的新特性 ..................................................................................错误!未定义书签。 4.8 新的设计元素..........................................................................................错误!未定义书签。 4.8.1 共享资源 ..........................................................................................错误!未定义书签。 4.8.2 样式单 ...............................................................................................错误!未定义书签。 4.8.3 数据连接 ...........................................................................................错误!未定义书签。 4.8.4 共享代码 ...........................................................................................错误!未定义书签。 4.9 改良的事件模式......................................................................................错误!未定义书签。 4.9.1 以代码为目标 ....................................................................................错误!未定义书签。 4.9.2 被删除的事件 ..................................................................................错误!未定义书签。 4.9.3 推荐事件 ..........................................................................................错误!未定义书签。 4.9.4 新的事件 ..........................................................................................错误!未定义书签。 4.9.5 增强的公式........................................................................................错误!未定义书签。 4.9.6 新的 @函数 ........................................................................................错误!未定义书签。 4.9.7 新的命令 ...........................................................................................错误!未定义书签。 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 1
  • 3. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 4.9.8 增强的循环........................................................................................错误!未定义书签。 4.9.9 LOTUSSCRIP 的变化 ...........................................................................错误!未定义书签。 4.9.9.1 新类的用法 .........................................................................................错误!未定义书签。 4.9.9.2 远程调试器 .........................................................................................错误!未定义书签。 4.9.9.3 重新编译所有脚本..............................................................................错误!未定义书签。 4.9.9.4 针对 Java 的 LotusScript(LS2J).....................................................错误!未定义书签。 4.9.9.5 LotusScript 增强的函数..................................................................错误!未定义书签。 4.9.10 自动完成..........................................................................................错误!未定义书签。 4.9.11 代理增强..........................................................................................错误!未定义书签。 4.9.11.1 新的用户界面....................................................................................错误!未定义书签。 4.9.11.2 代理限制列表....................................................................................错误!未定义书签。 4.9.11.3 访问远程服务器................................................................................错误!未定义书签。 4.9.11.4 代表运行...........................................................................................错误!未定义书签。 4.9.11.5 脚本库...............................................................................................错误!未定义书签。 4.9.11.6 用户激活...........................................................................................错误!未定义书签。 4.9.11.7 代理安全...........................................................................................错误!未定义书签。 4.9.11.8 转换共享和私有的代理.....................................................................错误!未定义书签。 4.9.11.9 新的控制台命令................................................................................错误!未定义书签。 4.9.12 HTML 增强.........................................................................................错误!未定义书签。 4.9.13 新的界面设计元素-层.....................................................................错误!未定义书签。 4.9.14 新的概要增强 ..................................................................................错误!未定义书签。 4.9.15 新的操作增强 ..................................................................................错误!未定义书签。 4.9.16 视图增强..........................................................................................错误!未定义书签。 4.9.17 上下文相关的操作 ..........................................................................错误!未定义书签。 4.9.18 字段增强..........................................................................................错误!未定义书签。 4.9.19 窗体增强..........................................................................................错误!未定义书签。 4.9.20 段落增强..........................................................................................错误!未定义书签。 4.9.20.1 语言标识符 .......................................................................................错误!未定义书签。 4.9.20.2 段落边框...........................................................................................错误!未定义书签。 4.9.20.3 新的区域样式....................................................................................错误!未定义书签。 4.9.21 嵌入元素的增强 ..............................................................................错误!未定义书签。 4.9.21.1 改进的操作条支持和增强样式 .........................................................错误!未定义书签。 4.9.21.2 横跨数据库引用................................................................................错误!未定义书签。 4.9.21.3 页面或者窗体上的多个嵌入视图......................................................错误!未定义书签。 4.9.21.4 在嵌入视图中删除文档.....................................................................错误!未定义书签。 4.9.22 表的增强..........................................................................................错误!未定义书签。 4.9.22.1 自动调整宽度适应内容.....................................................................错误!未定义书签。 4.9.22.2 新的选项...........................................................................................错误!未定义书签。 4.9.22.3 标题样式...........................................................................................错误!未定义书签。 4.9.23 框架增强..........................................................................................错误!未定义书签。 4.9.24 工具菜单..........................................................................................错误!未定义书签。 4.9.24.1 添加一个工具....................................................................................错误!未定义书签。 4.9.24.2 定制你的工具....................................................................................错误!未定义书签。 4.9.24.3 DXL 实用程序 ....................................................................................错误!未定义书签。 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 2
  • 4. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 4.9.25 URL 增强 ..........................................................................................错误!未定义书签。 4.9.26 增强的 WEBDAV .................................................................................错误!未定义书签。 5.DOMINO 与面向对象技术................................................................................. 错误!未定义书签。 5.1 面向对象技术的基本特征.......................................................................错误!未定义书签。 5.2 面向对象方法的重要特征.......................................................................错误!未定义书签。 5.3 DOMINO 如何体现面向对象的设计.......................................................错误!未定义书签。 5.3.1 简单操作 ...........................................................................................错误!未定义书签。 5.3.2 公式语言 ...........................................................................................错误!未定义书签。 5.3.3 LOTUS SCRIPT ........................................................................................错误!未定义书签。 6.DOMINO 主要开发技术分析及编码优化指南 ............................................................................ 22 6.1 DOMINO 支持的主要开放标准 ........................................................................................ 22 6.2 DOMINO 支持的主要开发语言及方式 ............................................................................. 24 6.2.1 DOMINO OBJECT MODEL(DOM)类........................................................................................ 24 6.2.2 LOTUSSCRIPT .............................................................................................................. 28 6.2.3 公式语言 ..................................................................................................................... 37 6.2.3.1 什么是公式语言............................................................................................................ 37 6.2.3.2 不同的应用范围............................................................................................................ 47 6.2.3.3 应用公式语言中的相关分析......................................................................................... 58 6.2.4 JAVASCRIPT.................................................................................................................. 76 6.2.5 HTML&CSS ..................................................................................................................... 87 6.2.6 JAVA .............................................................................................................................. 89 6.2.6.1 什么是 JAVA .................................................................................................................. 89 6.2.6.2 是否应该立即在 Domino 中应用 Java 呢? ................................................................ 90 6.2.6.3 DOMINO 对象模型对 JAVA 的支持 .................................................................................. 90 6.2.7 JAVASERVERLET ................................................................................................................ 93 6.2.8 LOTUS/DOMINO-API ...................................................................................................102 6.2.9 DOMINO-WEBSERVICES................................................................................................103 6.2.10 XML ..........................................................................................................................104 6.3 如何优化我们的编码 .....................................................................................................110 6.3.1 公式语言的优化 .......................................................................................................110 6.3.2 脚本语言优化 ...........................................................................................................111 6.3.3 JAVA & JAVASCRIPTINO 应用程序优化 ..........................................................................116 6.3.4 DOMINO 对象模型优化...............................................................................................117 6.3.5 最大限度重用对象 ...................................................................................................118 6.4 如何在不同应用中选择合适的编码语言 .......................................................................119 6.4.1 使用公式和 LOTUSSCRIPT 的前提.............................................................................121 6.4.2 执行 LOTUSSCRIPT 和公式顺序分析 .......................................................................123 6.5 DOMION 和其他数据库的开发区别..............................................................................126 7.LOTUS/DESIGNER 综合分析 ............................................................................. 错误!未定义书签。 7.1 帧结构集 .................................................................................................错误!未定义书签。 7.2 页面.........................................................................................................错误!未定义书签。 7.3 主表单 .....................................................................................................错误!未定义书签。 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 3
  • 5. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 7.4 视图.........................................................................................................错误!未定义书签。 7.5 文件夹 .....................................................................................................错误!未定义书签。 7.6 共享代码 .................................................................................................错误!未定义书签。 7.6.1 代理 ...................................................................................................错误!未定义书签。 7.6.2 WEB 服务 ............................................................................................错误!未定义书签。 7.6.3 大纲 ...................................................................................................错误!未定义书签。 7.6.4 子表单 ...............................................................................................错误!未定义书签。 7.6.5 共享域 ...............................................................................................错误!未定义书签。 7.6.6 自动化组件........................................................................................错误!未定义书签。 7.6.7 共享操作 ...........................................................................................错误!未定义书签。 7.6.8 SCRIPT 库 ..........................................................................................错误!未定义书签。 7.6.9 导航器 ...............................................................................................错误!未定义书签。 7.6.10 层 .....................................................................................................错误!未定义书签。 7.6.11 DXL..................................................................................................错误!未定义书签。 8.已知开发限制................................................................................................. 错误!未定义书签。 8.1 已知开发限制..........................................................................................错误!未定义书签。 8.2 WEB 开发不支持特性 ...........................................................................错误!未定义书签。 8.2.1 不支持范围........................................................................................错误!未定义书签。 8.2.2 视图小程序不支持的特性 .................................................................错误!未定义书签。 8.2.3 WEB 不支持的 DOMINO 操作和代理属性 ..............................................错误!未定义书签。 8.2.4 WEB 不支持的 DOMINO 日历特性........................................................错误!未定义书签。 8.2.5 WEB 不支持的 DOMINO 域属性............................................................错误!未定义书签。 8.2.6 WEB 不支持的 DOMINO 表单属性........................................................错误!未定义书签。 8.2.7 WEB 不支持的 DOMINO 格式特性........................................................错误!未定义书签。 8.2.8 WEB 不支持的 DOMINO 帧结构属性 ....................................................错误!未定义书签。 8.2.9 WEB 不支持的水平基准线属性 .........................................................错误!未定义书签。 8.2.10 WEB 不支持的 DOMINO 热点属性 .......................................................错误!未定义书签。 8.2.11 WEB 不支持的 DOMINO 导航器属性....................................................错误!未定义书签。 8.2.12 WEB 不支持的 DOMINO 表格属性 .......................................................错误!未定义书签。 8.2.13 WEB 不支持的 DOMINO 文本样式 ......................................................错误!未定义书签。 8.2.14 WEB 不支持的 DOMINO 视图属性.......................................................错误!未定义书签。 9.DOMINO 独有的内置对象支持分析.................................................................. 错误!未定义书签。 9.1 内置变量 .................................................................................................错误!未定义书签。 9.2 内置表单 .................................................................................................错误!未定义书签。 9.3 内置域 .....................................................................................................错误!未定义书签。 10.DOMINO 特有的 URL 开发详细分析................................................................ 错误!未定义书签。 10.1 概述.......................................................................................................错误!未定义书签。 10.2 服务器、数据库和视图.........................................................................错误!未定义书签。 10.3 帧结构 ...................................................................................................错误!未定义书签。 10.4 代理、表单和导航器 ............................................................................错误!未定义书签。 10.5 打开资源 ...............................................................................................错误!未定义书签。 10.6 增加、删除、编辑、打开和保存文档..................................................错误!未定义书签。 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 4
  • 6. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 10.7 在 URL 命令中通过 KEY 打开指定文档..............................................错误!未定义书签。 10.8 页面.......................................................................................................错误!未定义书签。 10.9 附件、图形和 OLE 对象.......................................................................错误!未定义书签。 10.10 搜索文本 .............................................................................................错误!未定义书签。 10.11 通过 START 和 COUNT 参数使用前后页按钮或热点........................错误!未定义书签。 10.12 验证必须的 URL 命令.........................................................................错误!未定义书签。 10.13 处理 SSL 验证 .....................................................................................错误!未定义书签。 10.14 在 WEB 应用程序中设置用户首选项 .................................................错误!未定义书签。 10.15 单一数据库中管理多语言输入 ...........................................................错误!未定义书签。 11.DOMINO-CGI 开发支持分析 ........................................................................... 错误!未定义书签。 12.一个复杂的 B/S 公告管理系统详细开发实例分析 ...................................... 错误!未定义书签。 12.1 需求调查 ...............................................................................................错误!未定义书签。 12.2 详细设计建议及要点实例分析 .............................................................错误!未定义书签。 12.3 开发流程建议........................................................................................错误!未定义书签。 12.4 应用开发 ...............................................................................................错误!未定义书签。 12.4.1 录入表单设计及要点详细分析 .......................................................错误!未定义书签。 12.4.1.1 录入表单的隐藏域及关联对象作用..................................................错误!未定义书签。 12.4.1.2 公告的类型获取..............................................................................错误!未定义书签。 12.4.1.3 公告的有效保留时间及结合 JS 实现日历选择 .............................错误!未定义书签。 12.4.1.4 多附件的实现..................................................................................错误!未定义书签。 12.4.1.5 JS 图文混排编辑器的集成..............................................................错误!未定义书签。 12.4.1.6 面向其他系统的数据同步 .............................................................错误!未定义书签。 12.4.2 通过 HTML 更好的美化和解析视图数据 ..........................................错误!未定义书签。 12.4.2.1 利用 HTML 使视图显示数据更美观....................................................错误!未定义书签。 12.4.2.2 数据的选择以及删除控制.................................................................错误!未定义书签。 12.4.3 实现可自定义条件的数据查询表单 ................................................错误!未定义书签。 13.DOMINO-B/S 模式下常见应用功能开发指南及分析(例程参见随书附赠的 CHINALOTUSVIPFTP) ................................................................................................................................................... 129 13.1 多用户登陆邮件系统 ............................................................................错误!未定义书签。 13.2 结合 AJAX 实现在线感知及消息交互..................................................错误!未定义书签。 13.2.1 我们通过 AJAX 实现在线感知的目标 ..............................................错误!未定义书签。 13.2.2 实现的具体步骤实例分析 ...............................................................错误!未定义书签。 13.3 DOMINO 与 EXECL 交互的多种方式 .........................................................................129 13.4 在 DOMION 中开发多语种的应用程序 ...............................................错误!未定义书签。 14.DOMINO-B/S 模式下应用系统高级开发指南及分析 ..................................... 错误!未定义书签。 14.1 利用 ERWIN 和 NOTESSQL 设计 DOMINO ...........................................错误!未定义书签。 14.2 在 DOMINO 中提供 RSS 服务 ............................................................错误!未定义书签。 14.3 有效利用 DOMINO/NOTES 缓存机制.....................................................错误!未定义书签。 14.4 用 DREAMWEVER 开发 DOMINO 应用 .............................................错误!未定义书签。 14.5 利用 APACHE COCOON 动态的转换 DOMINO 文档到 PDF 及 JPG .......错误!未定义书签。 15.系统集成开发实例分析................................................................................ 错误!未定义书签。 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 5
  • 7. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 15.1 DOMINO 利用 ODBC 和关系型数据库的交互.....................................错误!未定义书签。 15.2 DOMINO-DB2 .......................................................................................错误!未定义书签。 15.3 DOMINO 与 SAP 的集成开发 ...............................................................错误!未定义书签。 15.4 基于 DOMINO 以 WEBSERVICES 的形式提供跨平台的数据交互 ....错误!未定义书签。 15.4.1 创建 WEB 服务 ..................................................................................错误!未定义书签。 15.4.2 调用和测试 WEB 服务.......................................................................错误!未定义书签。 16.DOMINO 应用程序开发安全性分析................................................................ 错误!未定义书签。 16.1 基于 ACL 的安全控制 ..........................................................................错误!未定义书签。 16.2 基于文档存取的安全控制.....................................................................错误!未定义书签。 16.3 基于域的安全控制 ................................................................................错误!未定义书签。 16.4 基于代理的安全控制 ............................................................................错误!未定义书签。 17. DOMINO 开发中的设计规范建议.................................................................. 错误!未定义书签。 17.1 注释规则及功能注释 ............................................................................错误!未定义书签。 17.2 设计元素命名规则 ................................................................................错误!未定义书签。 17.3 变量定义规则........................................................................................错误!未定义书签。 17.4 类定义规则 ...........................................................................................错误!未定义书签。 17.5 错误处理规则........................................................................................错误!未定义书签。 17.6 JAVASCRIPT 部份编码规范 ....................................................................... 错误!未定义书签。 17.6.1 异常处理..........................................................................................错误!未定义书签。 17.6.2 变量命名..........................................................................................错误!未定义书签。 17.6.3 代码风格..........................................................................................错误!未定义书签。 18.DOMINO 常见开发管理问题汇总.................................................................... 错误!未定义书签。 19.优秀 LOTUS 技术门户和公司推荐................................................................. 错误!未定义书签。 19.1 LOTUS 优秀技术开发公司推荐 ................................................................错误!未定义书签。 19.2 LOTUS 优秀技术门户推荐........................................................................错误!未定义书签。 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 6
  • 8. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 1.写在前面 窗外天光微明,忙碌的一天又将开始。。。 。。。 拖着疲惫的身躯,写下这篇序,终于将本书告一段落了!一个许久的心愿也 将圆满。还记得当初决定写这本书的起因,实在是个压抑已久的心愿。 开始的时候心怀万般喜悦,满以为会在充满回忆的欣慰下写下这篇序,而没 料到是在连续奋斗了月余,基本没完整享受过睡眠美味的今晨,努力的眯着双眼、 敲着自己心爱的小黑完成这个宏愿。但此时该有很多同行也在享受同样的待遇, IT,挨踢,笑。。 。。ASP、DOMINO、.NET、JAVA 及即将而来的更多的后来者,将协 作这个世界吵得好不热闹,但对笔者来说,一切似乎都是昨天。而协作-回归本然 之美的时刻才是自己期待的欣慰。经过 ASP 的启蒙、经过.NET 的新鲜、还有对 JAVA 的仔细思考之后,还是感觉让自己爱恨交加的 DOMINO 最好,虽几经差点放弃。。。 。。 技术要想之能成,巧匠要想成大家,抛却名利的静心真少不了,执著于代码 的小技,终不知成就完善产品的大乐!在这里,在笔者的心中,这个大家这个大 乐就是 LOTUS,太多让人敬畏的神奇在其中,太多大师的手笔让人回味无穷。MY LOTUS!I LOVE YOU!历经二十余年的风雨,仍能不断进取,给大家带来一个又一 个新的未来! 工作日久,想总结的心愿也愈见浓厚,再加看到市面上复制帮助之途类书籍 的为祸不浅,因此是笔者站在一个开发者的角度,根据日常工作心得,结合实际 的产品及项目开发经验基于 DOMINO7 编写了开发管理丛书。在具体理论基础方面, 为确保正统性以官方帮助为准,但根据笔者实际工作经验勘误。最终希望能给入 门的朋友带来一盏指路的明灯;为资深的同行带来一点新的启发,思想的共鸣! 在 本 书 的 编 写 过 程 中 , 笔 者 依 仗 了 中 国 最 大 的 LOTUS 技 术 门 户 WWW.CHINALOTUS.COM 上众多同行朋友近十年积累的 LOTUS 知识以及无私贡献的资 料支持,点点滴滴,才始聚成海。并且在编写的过程中,如 carrot、庄生梦蝶、 长颈叔叔、败类、南瓜大叔、暴雨、光合作用等资深同行在编写过程无私提供的 宝贵意见,父母和亲爱的妻子则在无数的长夜给我了默默的支持,没有他们的支持, 我根本不能想象这套书能顺利完成,只有他们的支持,才能最终成就了笔者这个由 来已久的心愿 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 7
  • 9. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 因此笔者在这里对所有支持这套书编写的亲人和朋友除了用心说声感谢还是 只有感谢,对笔者而言只有将书写完美,无他可替,阅书的朋友在阅书的过程中也 请记住这些名字,没他们也就没这套能给你工作带来支持的书。 青春无忌,所以有最珍贵的书生意气,激扬文字,理想豪言。 还记否,离开校园时的清涩和迷茫,但最终我们还是起程,各自用并不宽厚 的肩膀负荷着理想和行囊,背井离乡闯荡在异乡。 岁月如梦,我们到底得到什么又失去什么?蹄过尘扬,是否我们还能相视而 笑?保持心中的爱与理想吧,别管经受了多久的寒冷!别管激情已经遗失蒙尘了 多久!只要坚持,我们定将一起穿越到水穷之处,笑看云起! 在本书完成之前不久 IBM 宣布了 LOTUS7 下一个版本,代号为 “Hannover” 的详细蓝图,让笔者更加坚信 LOTUS/DOMINO 因为其数十年的丰富积累,开放的精 神,将仍然是那朵最美丽的智慧莲花!“Hannover”主要特性参详如下: 1)以“工作为中心”是“Hannover”的核心理念,即它在将在 Notes 中采用 一种新的模式和特性集来支持当前的协作应用与流程; 2)组合应用”则是“Hannover”所要实现的目标,即它通过添加在 J2EE 平 台上开发的功能(定制或打包),来扩展在 Domino 上部署的应用,从而 Notes 客 户机提供更丰富的应用。 3)基于角色的计算――通过充分利用驻留于服务器版之上的用户配置文件, 企业将可以实现基于 角色的用户供应。 4)通过使用 WorkplaceClient Technology,将 Workplace 功能集成至 Lotus Notes 客户机之中。为用户带来更简单、创新、易于使用的客户机,以支持消息传 送、定制应用、办公工具、以及基于 J2EE 的功能等(包括工作管理、文档管理、 以及团队工作空间)。 本书的建议读者范围 有一定基本的开发基础但并非是 DOMINO 的,具有对函数,变量,过程的基本 知识的能力,熟悉 HTML、CSS、JS 开发的朋友阅读并了解本书,如果不具备以上 基础不建议购买阅读。 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 8
  • 10. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 2.LOTUS/DOMINO 起源、家族组成 2.1 LOTUS/DOMION的起源 凡事究其本源,才能熟知其器,因此笔者决定在本书之始以稍长点的篇幅向 本书读者娓娓道来 LOTUS/DOMINO 的起源,其间也是怀着一份敬畏的心感谢 LOTUS 开发者们用自己的青春与才智培育出来这么一朵最美丽的智慧莲花。 导致 Notes 客户机和 Domino 服务器诞生的最初概念,实际上比个人计算机 的商业开发早了将近十年。 最开始是 1973 年伊利诺斯州立大学 Computer-based Education Research Laboratory(CERL)发布了一个名为 PLATO Notes 的产品。在当时,PLATO Notes 的唯一功能就是为缺陷报告加上用户 ID 和日期的标签,以及保护文件避免被其 他用户删除。然后系统开发人员可以对屏幕下方报告的问题作出反应。这种用户 间的安全通信是 PLATO Notes 的基础。 1976 年, PLATO Group Notes 在吸收了 PLATO Notes 的最初想法之后加以 扩展发布,可以让用户完成以下实现: · 创建按主题组织的私有 notes 文件 · 创建访问列表 · 阅读特定日期以后编写的所有 notes 文件并作出响应 · 创建匿名的 notes 文件 · 创建主控消息标志(director message flag) · 标记文档中的注释 · 把 notes 文件连接到其他 PLATO 系统 · 使用多角色游戏 其后一直到 1982 年 IBM PC 和 Microsoft MS-DOS 推出后,基于主机架构的 PLATO 性价比变得越来越低。Group Notes 开始变成很多 “notes 类型” 的其 他软件产品。 早期曾参与 PLATO Notes 开发的 Ray Ozzie 因为对 PLATO Notes 初始的感情, WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 9
  • 11. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 决定在其后到来的个人 PC 时代继续完善基于 PC 的 Notes 产品的开发。 最初他并无法为自己的设想筹到资金。不过 Lotus Development Corporation 的缔造者 Mitch Kapor 发现了 Ozzie 所做研究的发展潜力,决定将 Lotus 的资 金投入该项目的开发。Kapor 的商业敏感性、创造力和远见对于把 Ozzie 的设想 变为现实至关重要。 在 1984 年年底,在 Mitch Kapor 的资助下,按照 Lotus 的协议,Ozzie 成 立了 Iris Associates Inc。 开发 Lotus Notes 的第一个版本。1985 年 1 月, Tim Halvorsen 和 Len Kawell 加入了 Ozzie,随后 Steven Beckhardt 也来了。 这些人为公司带来了广博的知识和远见,但在那时协作和消息软件这些观念往好 处说是奇思异想,往坏处说就是不切实际。按照 PLATO Notes 他们 塑造了 Lotus Notes,但也加以扩展,包括了更多强大的特性,比如在线讨论、电子邮件、电话 簿和文档数据库等等。在其后 DEC 的 Alan Eldridge 加入后,Notes 体系结构的 数据库和安全特性开始进一步完善。 但是在当时,网络互联手段非常原始缓慢,因此,开发人员最初决定将 Notes 定位为具有一些共享能力的个人信息管理程序(PIM),类似于 Organizer。其次, PC 操作系统还不成熟,Iris 必须编写大量系统级代码来完成 Nae Server 和数 据库这样的任务。最后,随着网络能力的提高,Iris 开始将 Notes 称作群件 (groupware)。群件这个词(最终基本上变成了 Notes 的同义词)指的是促进 一群人之间进行通信、协作和协调的应用程序。 为了实现这些目标,Notes 为用户提供了客户机/服务器体系结构,主要特 点是 PC 连接到局域网(LAN)。一个组可以设置一台专门的服务器(PC)和其他 组的服务器通信(可以在同一个 LAN 中,也可通过交换网络)。服务器通过 “复 制数据” 交换信息(就是说位于不同服务器上的同一数据库可能有多个副本, Notes 服务器软件不断地同步它们)。这就使得用户很容易与分支机构的同事交 换信息,就像在同一间办公室中一样。 其实在 1984 年,考虑团体通信软件是很古怪的,因为当时多数人还没有接 触过电子邮件系统……产品远远走在了时代的前面。 Notes 初始另一大特色是定制,Notes 体系结构使用了构造块的方法,通过 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 10
  • 12. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 将各种不同的服务拼凑到一起就可以构造团体文本性应用程序。因此 Notes 能够 在行业的变迁中生存下来,因为其灵活,用户可以定制它来适应变化的需求。在 差不多的时刻,Apple Computer 推出了带有易用的图形化用户界面的 Macintosh 机器。它影响了 Lotus Notes 的开发人员,让他们开始为新产品提供了面向字符 的图形化用户界面。 1986 年 8 月,NOTES 第一版基本完成,能展示了它那独到的功能并具备了初 步的文档。因此 Lotus 评估并接受了该产品。Lotus 于 1987 年买断了 Notes 的 版权。 但甚至在第一个版本推出之前 Lotus Notes 就已经成功了。在正式发布 前 Price Waterhouse 的总裁观看了 Notes 的演示,留下了深刻的印象,因此购 买了 10,000 份拷贝。 这在当时是有史以来一种软件产品最大的 PC 销售量。作为 Notes 的第一个 大客户,Price Waterhouse 预言 Lotus Notes 将改变我们做生意的方式。现在 我们知道,他们的预言应验了。 至目前的 LOTUS7 为止,LOTUS 的官方销售拷贝已经过亿,并继往开来的继续 发展中。 2.2 LOTUS/DOMION所支持平台及家族组成 从第一个版本到目前的 LOTUS7, LOTUS 家族已经发展成了一个覆盖众多 领域的庞大家族,在平台支持方 面目前支持:iSeries; Windows; AIX; Solaris; 其产品家族的组成和用途如下: 1)Lotus Domino Server(LOTUS 服务器) ; 2)Lotus Domino Administrator(LOTUS 管理台); 3)Lotus Domino Designer(LOTUS 开发工具) ; 4)Lotus Notes(LOTUS 客户端) ; 5)Domino Web Access (以前的 iNotesLOTUSB/S 电子邮件产品); 6)Domino Access for Outlook WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 11
  • 13. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 (一个为 Microsoft Outlook 用户提供 Lotus/Domino 邮件、地址簿、Calendar and Scheduling 功能的产品); 7)Lotus Domino Document Manager (以前的 Domino。Doc-主要用于以下几个方面:组织文档以便工作团队能够有效地 进行共享访问;管理版本以便每一位团队成员都能够获得最新的版本;自动处理 文档驱动的过程,例如评审和批准、汇编和发布、存档,以及记录管理) 8)Lotus/Domino Everyplace (一套完整的无线解决方案,允许移动 IBM Lotus Notes 和 Domino 用户随时随地 访问其 e-mail、日历、任务列表、目录和其他应用程序。从单一平台支持多种移 动设备,包括个人数字助理 (PDAs)、智能电话和寻呼机) 9)Lotus/Domino Unified Communications (以前称为 Domino Unified Communication Services,将语音邮件、电子邮件 和传真进行了整合,从而所有的消息都存储在同一个位置,可以从不同的设备上 访问,包括电话和 PC 机,并能将消息访问扩展到其他设备和技术,比如移动电 话、寻呼机、PDA 和浏览器。此外,还提供了通知功能,在收到消息或者符合特 定条件时以不同的方式通知订阅者) 10)Lotus Connector for SAP Solutions (它提供 Lotus Domino 和 SAP 企业资源计划软件之间的整合。如果需要从 Lotus Domino 服务器对 SAP 解决方案数据进行计划或事件驱动的访问,或需要整合 Lotus Notes 收件箱中的 SAP 应用程序工作流项目) 11)Lotus Instant Messaging&Web Conferencing (SametimeLOTUS 的多媒体视频交流平台); 12)Lotus Learning Management System (管理基于教室和数字化学习的资源、课件和事件的培训产品) 13)Lotus Virtual Classroom (通过健壮的协作工具,创建和交付富有吸引力的、基于 Web 的真实培训课程) 14)Lotus Workflow (LOTUS 的工作流管理设计平台,帮助组织将耗时长、基于人员的活动标准化和流 线化,并且跟踪进展情况,一般须配合 Lotus Domino Document Manager 使用); WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 12
  • 14. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 15)Lotus Team Workplace (以前的 QuickPlace,LOTUS 的项目协作系统,支持 LDAP); 16)Lotus Enterprise Integrator (LOTUS 一个声明式的、基于服务器的产品,主要用于数据的移动、同步和提取。 如支持 Domino 和很多关系型数据系统及 Enterprise Resource Planning (ERP) 系统之间交换数据); 17)Lotus NotesSQL (LOTUS/DOMINO 用来进行数据交互的 ODBC 驱动) 18)Lotus SmartSuite (LOTUS 的桌面编辑系列工具:1-2-3, 提供了全方位功能;Word Pro 领先的文 字处理器; Organizer Release 5 。04 领先的个人信息管理工具;Freelance Graphics 为日常交流提供了演示图形包;Approach 则提供了支持整个团队使用的 关系数据库) WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 13
  • 15. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 3.LOTUS/DOMINO 与现有流行平台的 对比分析 目前随着技术的日新月异,不断有一些新的技术平台诞生或有一些老瓶装新 酒的再生,基于各种商业目的,为了赶超历史最为悠久的协作平台-LOTUS,经常 会有些有意思的混淆视听的说法诞生。 为了以正视听,笔者在此以自己的亲身感受拟做以下 LOTUS 与现有主流相似 平台的相关性技术分析,希望能给大家一些正确的认识,以正视听。 开始之前简短的交代下笔者从业经历。1997-1999 于 ASP 及 Exchange 平台基 础上从事 OA 系统开发;2000-2000 至今一直主要基于 LOTUS 工作,同时对 J2EE 体系开始研究。以上的从业经历确保笔者不是个只知 LOTUS 不知其他者,确保了 以下分析的客观性:)首先我们一起来看看几个对 DOMINO 常见的指责。 1.DOMINO 速度太慢 反对者: DOMINO 是基于文档的数据库、不具备数据快速检索功能。当数据库中文档数 超过二到三万条时,几乎显得无能为力。Domino 使用解释性的客户响应机制,在 采用 Browser-Domino 结构响应 Web 请求时, Server 端实时地将 Domino 视图 转换或解释为 HTML 文档传送回客户端,对于复杂视图转换时间长。 在客户端 Browser 上利用 JavaApplet 实现数据的互操作性,客户端启动 Java VM 就需要耗费很长时间,Java VM 启动后, 还要解释运行缓慢的 Java Applet, 用户等时太严重。如在一般的 100M 共享网络上,10 个用户同时查询具有 1 万个 文档的数据库,将费时数分钟,而一般办公系统均有数百个用户。 点评: 以上这段技术分析是最常见的对 DOMINO 的指责,看似合理,稍微认真的去思 考下,其实有着太多的常识性技术错误。 首先 DOMINO 是会慢,但这里有个前提,数据很多之后是 DOMINO 会慢还是所 有的数据库都会慢?准确的说法应该是当数据量海量的时候,没有任何数据库不 会慢,而且查询及浏览的时候实现方式和代码质量也很重要,再快的平台如果代 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 14
  • 16. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 码或实现方式有问题,随便几行代码都可以让一个优秀的平台崩溃。 接着还是回到速度这个话题,具体而言,速度的定义应该是两个方面,一是 显示速度二是检索速度。 首先在显示方面,DOMINO 并不是如上文反对者所说的仅支持 Java Applet, 还支持 HTML 和 XML 多种解析方式。 而且其中如果采用 JAVA 方式显示的话,DOMINO 方面跟普通的 JAVA 系统的实 现方式并没什么区别。如果 DOMINO 速度慢那么 JAVA 开发的系统也是一样的显示 速度。 并且在笔者从事 DOMINO 开发的过程中,一直不喜欢采用的就是 JAVA APPLET, 因为一是需要客户端配置,二是速度确实慢,三是那界面的显示方式个人感觉不 是很好,因此笔者一般是采用 HTML 或 XML 解析视图的方式。 如果解析表单上没多少计算的部分或单纯用视图显示那么可以说十万以上文 档的时候,浏览速度不超过 5 秒,注意这里说的是文档而不是字符型的字段数据; 但如果有大量的计算那么显示速度在大数据量下一般会减缓 5-10 秒。 最接近极限的一次是一个项目上曾遭遇过一个 30 多 GB 的 NSF 数据库,不管 啥方式显示都比较慢,后来干脆心一横,用了单纯视图显示,结果打开速度也不 超过 10 秒,要换了个同指标的关系型数据库估计已经趴下了。 至于检索,处理好你的代码,建好索引,数十万文档的数据库想得到检索结 果绝对还是可以承受在 10 秒之内的,如果还要提高速度,建议把文档标题和 URL 地址都放到 DB2 里去检索,但如果文档表单里具有读者域或作者域,此法无效。 DOMINO 只负责打开文档:) 2.综合统计能力太差 反对者: 在办公信息系统中,实时地对公文运行状况进行分类汇总、监控是必不可少 的功能。而 Domino 是基于文档的小型数据库,如要求进行多维数据汇总,其实现 过程十分复杂,效率极其低下,反应缓慢,远不如关系型数据库。 点评: “Domino 是基于文档的小型数据库”“基于文档” , 可以说不错,“小型数据库” 的印象却不知从何得来?不知该文作者的标准是什么?十万篇文档和十万条关系 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 15
  • 17. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 型记录,无论从存储容量、检索难度、复杂度等方面都不可同日而语。 所以,在我的印象当中,Domino 数据库的指标一般只提容量,很少提文档数 目,没有什么原因,只是因为在达到文档数目的限制前存储介质早就“爆”掉了。 并且将 Domino 简单地称为“数据库”,对于它所能完成的工作而言,实在是 一种误解,Lotus/Domino 在市场上一直是作为领先的服务器电子邮件和群件产品 而得到广泛承认的。 至于“对公文运行进行分类汇总、监控” ,以笔者的经验横向比较的话,只可 能是强项不可能是弱项,这有非常丰富的 DOMINO-OA 产品可证明。 至于“多维数据汇总”“远不如关系型数据库” , ,这的确是事实,但每个平台 都有自己所擅长的领域和不擅长的领域。 DOMINO 作为提供综合服务的群件平台,工作流、协同、通信、文档管理才是 他侧重的方面,否则还要 MIS 系统对大量的原始数据进行多维汇总、处理加工、 产生统计报表做什么。 而且非要用 DOMINO 做复杂的数据统计分析,也不是没有变通的法子,比如通 过 ODBC、JDBC、LEI, DOMINO 当成一个普通的关系型数据库, 把 结合 DELPHI、JAVA 等高级语言,那么 DOMION 一样可以支持复杂的数据统计分析。通往罗马的道路不 仅仅只有一条滴~。 3.实现复杂的应用和界面困难 反对者: 管理信息系统的界面上一般具有众多的界面元素。如会签界面上至少有文件 标题、正文、附件、起草人、起草时间、处室审核人、审核时间、司局审核人、 签发人、签发时间、会签司局………等等数十项,在 Domino 的视图上实现如此众 多的界面元素十分困难,对于复杂视图在 Notes 中有时竟无法正常显示导致死机。 点评: 这些更不知道从何说起了,至少在笔者的开发过程中没遇见过,而且科学的 开发方式显示数据也不是依靠视图,而是通过传递给代理一些参数动态构成数据 展现,最终方式有很多种 HTML、XML 等等都可以。至于死机问题,确实存在,但 主要是 R6 以下版本的 C/S 开发中。 4.界面实现手段缺乏呆板 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 16
  • 18. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 反对者: Domino 的界面主要由帧、视图、大纲等一些固定格式组成,缺乏灵活性,样 式粗糙呆板,与 HTML 或应用程序界面相比过于原始化、简单化,缺乏个性。 点评: 的确,直接使用这些元素是缺乏灵活性,但原因恰恰来在于这些设计元素易 用性。一个粗通 Notes 编程的人可以在极短的时间内搭接出一个基本可用的系统, 这是其它系统所难实现的。随着对于 Domino 编程的进一步了解,还可以进行界面 的定制,应用诸如内嵌 HTML 代码、结合 JavaScript、DHTML 等技术开发出开发出 充满个性和艺术性的界面的应用程序,这方面,DOMINO 产品有太多成功的例子。 当然,灵活性的提高通常也伴随着复杂度的提高,这些工作都是需要一定的编程 量的,如何取舍,是见仁见智的问题。 5.数据共享、导入、导出限难 反对者: Domino 文档数据库不支持 ACCESS, EXCELL,FoxPro 等通用前台数据库的共 享访问,也不支持各种 SQL 检索工具通过 ODBC 访问,不支持 SQL 语句查询,数 据共享性能极差、数据批量格式化导入导出困难,在流行的 Internet/Intranet 环境下,难以满足用户端数据访问多样化的需求。 点评: 首先笔者建议大家针对这几条去看看下 LOTUS 的开发帮助和样例数据库,这 些说法就不攻自破了,至于支持各种 SQL 检索工具通过 ODBC 访问,这是笔者在 项目开发中常通过 NOTESSQL 这个产品做的实现。 如果要做复杂的交互,JDBCSQL、LEI、ESB 都是非常成熟的解决方案。而且目 前 SOAP 架构下的 WEB 服务也是 R7 默认就提供支持了,且实现非常简单。 以上是笔者根据自己的亲身经历针对目前几种对 LOTUS/DOMINO 常见不实攻击 的技术分析,希望还大家一个真实的 LOTUS/DOMINO 认识。 接着笔者将 LOTUS/DOMINO 和目前同样主流的 MSExchange 及 J2EE 下的 JAVA 平台作个具体的对比分析,让大家了解更清晰。这里要补充的是 DOMINO 也是 J2EE 的一个组成和 J2EE 规范没有任何矛盾的地方, R8 本身都有纯 JAVA 的版本了:。 且 ) WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 17
  • 19. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 3.1 Lotus/Domino与Microsoft/Exchange 的比较 首先在销售过程中 IBM 和 Microsoft 都将两个产品互相描述为竞争的产品, 主要原因是在电子邮件的层次上,这两个产品确有可比性。但是在更大的意义上, LOTUS 和 Exchange 是完全不同的两类产品。Exchange 基本上专注于电子邮件,而 Notes 则是协作平台,电子邮件只是其中一个基本功能而已。它们两个的不同之处 更胜于其共同之处。 从 LOTUS 第一版开始设计时,就定位在提供网络连接起来的用户之间针对工 作或问题,互相通讯和协同的综合集成环境。到今天为止,这一产品定位没有改 变过。我看也没有什么理由在未来改变。 而在 Microsoft 的产品家族中,Exchange 是作为 Ms Mail 的换代产品出现的。 Ms Mail 是文件共享型的邮件系统,从 90 年代初起,Microsoft 希望用将其换代 升级为 Client/Server 结构的邮件系统,并着手开始了产品开发工作。Microsoft 用了许多代码名来称呼这个开发项目:"Spitfire"、"Touchdown"、"EMS"等等。 后来,Microsoft 决定他们必须有一个"Notes Killer",Notes 做什么,这个产品 也要做什么,并最终定名为"Exchange"。 可是,尽管产品名称和市场目标不断改变,但本质并没有改变。因此 Exchange 从根本上说是一个电子邮件产品。 最开始 Exchange 有个著名的限制就是每一个服务器数据库只能到 16GB,原因 就是来自于其关系数据库存储内核。试想,如果平均每一个用户都占了 50MB 的邮 箱与公共文件夹大小,那么每一个 Exchange 服务器只能支持 320 个用户。难道这 就是"企业级支持"?要知道,实际使用中,由于邮件中包含了大量的附件文件, 50MB 的限制是很容易达到的。 从 5。5 版开始,Microsoft 在 Exchange Enterprise Server 中解决了这个问 题,办法就是修改内核,引入新的磁盘存储结构。而在 Exchange Standard Server 中依然如故。 因此于是新的问题出现了:两个版本不兼容。而且 Exchange 的 Enterprise 版必须运行在 NT 企业版上,价位就不一样了,分别是 Standard 版的3倍和4倍。 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 18
  • 20. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 产品设计思想的不稳定只能给用户造成灾难,Exchange 的升级对用户来说, 每一次升级都意味着"抛弃与取代"。 另外象办公管理平台目前常需要的 LDAP 服务、HTTP 服务、CA 认证服务、开 发服务如果选择 Exchange 的话,哪怕是最高级版本也是不具有的,需要另外购买 Microsoft 的其他产品组合再加上开发商的代码开发才可以实现。 3.2 Lotus/Domino与JAVA系统的比较 目前 J2EE 是炒的非常火的一个东西,到处都是宣称自己的系统用 JAVA 开发, 到处都是 JAVA 培训的广告,大有一夜之间 JAVA 来,全国全民都非要学 JAVA 不可 的味道。 而且很多人都把 JAVA 和 J2EE 混为一谈,但实际上 J2EE 是个很优秀的很大的 体系,JAVA 和 DOMINO 都是其中的组成,因此 J2EE 并不就等同于 JAVA!这是笔者 的第一个观点,因此也只是把 Lotus/Domino 与 JAVA 做对比。 虽然 JAVA 有跨平台、支撑大用户、较好的开发手段这些不错的优点,尤其跨 平台支持方面,但 DOMINO 就不支持跨平台么,而且历史还早于 JAVA。 而且就真实的本质而言, JAVA 开发办公管理系统的过程和以前的开发语言 用 如 VB,ASP 都没太大的区别。开发过程都是先设计数据库、然后编码。只是在开 发过程中 JAVA 有一些不错的技术支持手段。过程仍是老酒装新瓶。 如果需要一些常用的服务,比如邮件服务、HTTP 服务、LDAP 服务,基于 JAVA 的系统不是要集成第三方的那么就是要自己开发。而不象 DOMINO 天然就提供上述 成熟稳定的服务。因此在系统集成这方面, JAVA 开发的系统的风险性、 用 困难性、 稳定性并不比十年前的 ASP 好多少,因为还是一样的设计方式和过程。 再就是具体开发实现上,DOMINO 本身就提供了很多封装好的支持,而且这些 支持是 20 多年的积累不是一朝一夕的事情,这样就避免了很多重复的开发工作, 而用 JAVA,就要享受很多东西都完全自己来实现了,一些重复的工作无可避免。 在管理系统最核心的权限方面,DOMINO 本身天然提供七级的完善权限控制, 还有读者域、作者域这些不错的辅助支持。 而 JAVA,全都靠自己设计开发吧,而且效果基本上也只能到东施的效果,这 不是代码的问题这完全是定位和结构的问题,任何事物都需要时间去完善和积累。 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 19
  • 21. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 以前笔者也曾带领一个团队做过一个 JAVA+SQLSERVER 的 OA 项目。结果,在 项目前期看起来一切都很好,公文也能流转,也能对数据域进行控制。但是,到 后期的时候,问题出现了。 我们知道 OA 特别是政府部门的 OA,内部机制是非常复杂的。首先,你用什么 来保证修改的东西在文档资料中是可见的,而且后来的人不能修改,第二,如果 我使用数字签名,你如何保证这些文档是我签字的?而不是别人修改数据库之后的 结果,而且完整的数字签名和需要价格不菲的 CA 支持。 再往下如果我的控制需要做到文档级的,就是说同一类型的文档,这一份你 能看,那一份你不能看?又该如何实现? 总体来说:控制流转在 DB 环境下没有什么问题,就算是很复杂的控制,也可 以做。但是文档资料的保存,数字签名。实际上,用 DB 来做解决方案,就意味着 你企图使用结构化的数据格式来表示非格式化的东西。 而且,结构化的表示方法 如果出现了问题,比如在文档结构上要改动,那么你怎么应对?一切程序都有变动 的可能。如此下去,修改只会变得越来越复杂以至到处皆补丁。 当然,非结构化的数据(比如 Word 文档资料)用 XML 来表示。这当然是可以的, 但工作量是多少? 而且 XML 仅仅是一种通过格式的表述工具,所谓 WPS 的使用 XML 技术就可以和 Office 完全兼容,这是一种废话,也就是说说而已,因为你不知道 格式。所以同样的,将来 XML 也许可以支持其他格式的东西,比如矢量图形,但 这里是有前提的,一是所有文件都免费开发格式结构,其次是这个标准大家都认 可,否则转换和兼容性都是镜中花水中月,所以 XML 也不是解决问题的根本办法。 最后还有个现象,不管是 IBM 还是 MS, OA 中重要的知识管理方面都有自己 在 不基于普通数据库解决的独立数字认证、LDAP 用户管理、存储管理解决。 为什么 MS 不使用关系型数据库,IBM 不使用关系型数据库来做类似的系统。 按理他们有自己的 DB,有自己的开发工具,但是还是重新开始做了类似的系统, 还不值得我们去考虑一些问题吗? 因此综上所述,协作市场以后的发展趋势肯定是居于 J2EE+DOMINO 的架构, 末了我再将主要观点重复如下:选择 LOTUS/DOMINO 的优点 1)LOTUS/DOMINO 如果不做开发本身也能用,邮件,日程安排,讨论等 2)LOTUS/DOMINO 可大可小,小用户可以在上面做简单的流程及业务处理,开发时 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 20
  • 22. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 间快,对开发人员要求不高。 3)LOTUS/DOMINO 可与 J2EE 进行很好的接合。从 R7 的发展可以看出。Lotus 将越 来越好的与 J2EE 进行整合。 4)LOTUS/DOMINO 有 IBM 的技术支持,可以有效的保护投资及技术升级改造,如果 选择其它开发的平台,将无法保证 OA 系统的延继性(做 OA 的公司倒闭系统无法 升级,做 OA 的技术人员离开都将对系统造成很大影响,系统本身做好后开发商 很少对平台进行升级),拿区区几年的时间就说可以跟 LOTUS20 多年的漫长完善 成熟过程相比,无疑是不现实的。 5)可与其它系统无缝接成,Sametime、workflow、domino.doc 无线应用等,为系 统的再次升级提供了很好的解决方案,而如果是自已开发的平台,开发商将无 法帮你提供这些解决方案。 6)Lotus/Domino 相对于 JAVA 具有绝对的价格优越 真正意义上的 JAVA 部署要购买数据库、应用服务器、邮件等众多 SRV、高端 应用还要购买 EJB 服务器,部署复杂维护成本高,而且几个方面的累计是远远超 过 DOMINO。 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 21
  • 23. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 6.DOMINO 主要开发技术分析及编码 优化指南 6.1 DOMINO支持的主要开放标准 首先与 Domino 7 有关的开放标准可以分成两大类:Internet 协议、应用程 序和数据协议。 1)Internet 协议 我们首先分析与 Internet 有关的协议。下面是我们将讨论的一些重要协议 和相应的 RFC: 名称 RFC Hypertext Transfer Protocol(超文本传输协议,HTTP/1.0) 1945 Hypertext Transfer Protocol(超文本传输协议,HTTP/1.1) 2616 Session Initiation Protocol(会话发起协议,SIP) 3261 Session Initiation Protocol(SIP)--Specific Event Notification 3265 Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile(Internet X.509 公共 3280 密约基础设施证书和证书撤销列表子协议) Definition of the inetOrgPerson LDAP Object Class(inetOrgPerson 2798 LDAP 对象类定义) Lightweight Directory Access Protocol version 3(轻型目录访问 3673 协议,LDAP v3) LDAP Data Interchange Format(LDAP 数据交换格式,LDIF) 2849 POP3 Extension Mechanism(POP3 扩展机制) 2449 Internet Message Action Protocol(Internet 消息动作协议,IMAP4)3348 Simple Mail Transfer Protocol(简单邮件传输协议,SMTP) 2821 Internet Inter-Orb Protocol (IIOP) CORBA/IIOP Domino 在 R5 中支持上述多数协议。Domino 7 在其核心服务器上实现了这 些标准,并通过这些标准协议公开本机功能。这使得 Domino 成为一种健壮的 Web WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 22
  • 24. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 服务器,在向传统的 Domino NSF(Notes 存储设备)数据格式提供一幅 Web “面 孔”的同时实现了 HTTP RFC。 对于应用程序访问,Domino 在其 DIIOP(作为插入的服务器任务)中支持 IIOP,使 Java 能够远程访问传统的 Domino 数据格式。 同时,Domino 服务器仍然可以访问 Domino 数据。此外,Domino 服务器上 也有 LDAP 服务器的实现(作为插入的服务器任务),通过 LDAP 公开传统的 Domino Directory 数据。 Domino 还提供了所有与邮件相关的 RFC 的实现,支持使用 POP3 和 IMAP 客 户机访问邮件文件、使用 SMTP 发送和接收邮件,也支持 MIME。Domino 可以作 为 X.509 Certificate Authority(证书权威,CA)。在 Domino7 中原有的 Notes 证书和标准的 X.509 证书结合在一起。除了作为 CA 外,Domino 在服务器和客 户端完全支持 Secure Socket Layer(安全套接字层,SSL) Lotus Instant Messaging 即时消息, ( 原来的 Sametime)现在也支持 Session Initiation Protocol(会话发起协议,SIP),在已有的通信方法上增加了一种 传输机制。 Lotus Instant Messaging 3.x 中, 在 作为连接两个不同 Lotus Instant Messaging 体、或者连接一个 Lotus Instant Messaging 体和一个支持 SIP 的 非 Lotus 体的一种方式引入了 SIP。 随着语音 IP(VoIP)和多媒体/实时协议的融合,SIP 逐渐被业界接受,现 在已成为在 Internet 上建立基于信号的、类似电话的会话的事实标准。Lotus Instant Messaging 以后的版本将对 SIP 和相关标准提供更多的核心支持。 2)应用程序和数据协议 接着我们再看一看与 OSI 模型的数据/应用程序层有关的标准,我们会看到 在这个舞台上控制着各种技术标准的一些角色。其中包括: Extensible Markup Language(可扩展标记语言,XML)和 Document Object Model (文档对象模型,DOM) · XML Schema(XML 模式) · XML Schema Language Transformation(XML 模式语言转换,XSLT) · Simple Object Access Protocol(简单对象访问协议,SOAP) WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 23
  • 25. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 · Web Services Definition Layer(Web 服务定义层) · Universal Description, Discovery, and Integration of Web Services (Web 服务统一描述、发现和集成,UDDI) · Scalable Vector Graphics(可缩放向量图形,SVG) · Security Assertion Markup Language(安全断言标记语言,SAML) · Unified Modeling Language(统一建模语言,UML) · RDF Site Summary, Rich Site Summary, Really Simple Syndication(RDF 站点提要,丰富站点提要,真正简单的连锁,RSS) 1.0和 2.0 6.2 DOMINO支持的主要开发语言及方式 6.2.1 Domino Object Model(DOM)类 Domino Object Model(DOM)是 DOMINO 用于构建应用程序的面向对象的类的总 集合,并且通过其支持其他的开发语言来访问 DOMINO 数据库和应用程序。 在 DOMINO 中这些类是作为标准的 CORBA 对象加入,用来进行分布式应用程序 的创建。对于更高级的定制应用程序,则是通过 C++API 直接访问 DOMINO 服务。 如果计划编写自己的应用程序,可以使用在模型中定义的对象、成员函数和 属性来操作 Domino 对象.例如,数据库、视图和表单。通常使用对象的属性来获 得对象的信息(例如,利用数据库对象的 RephcaID 属性来查询数据库的复制 ID ) ; 使 用 成 员 函 数 来 执 行 有 关 对 象 的 活 动 ( 例 如 , 使 用 数 据 库 对 象 的 CreateDocument 成员函数在给定数据库中创建一个文档)。从概念上讲, DOM 模 型中存在两种类型的对象。它们是: Front- endUI (前端用户界面)对象和 Back-end (后端服务器)对象。 1 .理解 Front - end 和 Back - end Classes 为了考虑数据是如何存储在 Domino 中的,可以考虑将 Domino 数据库中的文 档作为一个关系型数据库的纪录。 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 24
  • 26. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 但 Domino 文档比一个典型的数据库记录更复杂。因为它可能包含 richtext、 图片、对象和其他类型的信息。因此,如果使用 Back - end 类进行访问 Domino 文档,操作域中的内容,在文档中增加新域,或者从文档中删除域等操作,则表 单中包含的输入转换和输出有效性公式可能都不能执行。 另一方面,如果操作 Domino 中的 Front - end 对象,则所作的修改对表 单公式都是可见的。例如,如果激活 NotesuIDocument 类中的 Refresh 成员函 数,则输入转换和输出有效性公式可以执行。 $updateBy susan 域一 域二 文档中的表单名 上图就表示了一个 Back - end 文档,并显示了数据是如何存储在 Domino 数据库中的。 用于创建文档的表单中, “域 1 ”和“域 2 ”已经定义了。这个 表单的名字存储在“表单”域中,如果使用代理或 LotusScript 修改了表单域的 值,则当下一次打开文档时它会利用其他表单呈现给用户。 如果在文档中没有“表单”域,则 Domino 会使用数据库默认表单显示文档。 如果没有默认表单,则不能显示文档。 $ updateBy 域是由 Domino 创建的内部 域,它包含了已经操作过此文档的用户列表。在大多数情况下,这类使用以$开 头的域名是 DOMINO 自己维护的内置对象。从 Domino R5 开始还允许指定用户输入 的最大值,并将此修改保存在数据库中的 InfoBox 中。 2 . Domino Front - end Ul 对象 Front - endul 对象用于操作当前用户界面。它们的典型用法是用于事件编 程,以及访问用户当前操作的 Domino 对象。以下是可用的对象。 l ) NotesUlworkspace 表示当前 Notesl 作台窗口。 2 ) NotesuIDatabase 表示当前使用的数据库。 3 ) NotesuIView 表示当前使用的视图。 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 25
  • 27. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 4 ) NotesuIDocument 表示当前打开的文档。 只有事件联系的对象 5 ) Button 表示按钮 6 ) Field 表示域 7 ) Navigator 表示导航器 3 . Domino Back - end 对象 Domino Back - end 对象用于操作 Domino 数据。它们不支持任何事件或通 过用户界面的操纵。然而,可以在 Ul 脚本中将 Back - end 对象与 Front - end 对象结合起来。例如, NotesuIDocument 对象具有 Document 的属性,它提供了 访问下划线文档的功能。表 1 - 1 描述了 Back - end 对象存在的相关类功能。 类 功 能 NotesSession 代表当前脚本的 Domino 环境,提供了访问环境变量、Domino 目录、 当前用户信息、以及当前 Domino 平台和版本信息 NotesDbDirectory 代表指定服务器或本地上的 Domino 数据库 NotesDatabase 代表 Domino 数据库 NotesACL 代表数据库的访问控制表 ACL NotesACLEntry 代表访问控制列表中的一项。该项可代表个人、群组或服务器 NotesAgent 代表一个代理 NotesView 代表数据库的视图或文件夹、并提供访问文档的权限 NotesViewColumn 代表视图或文件夹的列 NotesDocumentCollection 代表数据库中满足一定标准的文档集合 NotesDocument 代表数据库中的文档 NotesItem 代表文档中的一项数据。不管在用户界面上文档是以何种形式显示的, 文档中的数据项都可以通过 LotusScript 看到 NotesRichTextItem 代表 RichText 类型数据 NotesRichTextStyle 代表 RichText 域的属性 NotesEmbeddedObject 代表嵌入对象、链接对象和附件 NotesDateTime 代表日期和时间。提供了在 LotusScript 日期-时间格式与 Notes 格式之 间的转换功能 NotesDateRange 包含 NotesDateTime 范围。NotesDateTime 类型的对象表示一个给定的 日期和时间 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 26
  • 28. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 类 功 能 NotesLog 记录在脚本运行期间,发生的活动和错误。可以在 Notes 数据库、邮件 或文件(本地运行的脚本)中记录活动和错误 NotesNewsLetter 代表一个包含所有来自其他文档或文档链接信息的文档。所有 NotesItem 属性和方法也可以用于 NotesRichTextItem NotesForm 代表 Notes 数据库中的表单 NotesInternational 该对象包含了提供关于国际设置信息的属性,例如,在 Domino 环境中 运行的日期格式 NotesName 这个对象的属性包含了有关 Domino 用户姓名的信息 NotesTimer 代表 Domino 中的定时器 NotesRegistration 代表 ID 文件的创建和管理 NotesOutline 代表 Notes Outline 属性 NotesReplication 代表数据库复制设置 NotesRichTextParagraphStyle 代表 RichText 段落属性 NotesRichTextTab 代表 Rich Text 标签属性 NotesViewEntry 代表视图输入项。一个视图输入项表示视图中的一行 NotesViewEntryCollection 代表根据一定标准选择的视图输入项的集合 NotesViewNavigator 代表视图导航器。视图导航器提供了访问所有或者一部分视图输入项的 功能 可以从 Java 访问 Domino Back - end 对象。从而可以用 Java 编写部分应 用程序。 Java 程序在安装了 Domino 的机器上运行。例如, Java 代理可以操 作 Domino 对象。但要注意的是 Java 类程序不是 LotusScript 与 Java 的端口。 事实上,除了界面的语法是不同的之外,;可以执行相同的 C +十代码。 4 .对象层级 Domino 对象之间存在层级关系。高层级对象包含低层级对象。图 1 一 2 描 述了几个 Domino 对象之间的层级关系。 上图中每个对象都定义了成员、属性和成员函数。利用这些成员函数,你可 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 27
  • 29. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 以访问其他对象。这种包含关系意味着高层级的对象具有访问低层级对象的属性 或成员函数的特性。 例如,当打开数据库时,可以看到所有的视图。这表示在工作台中打开的数 据库(对象)包含了视图(对象)。而且,当选择一个视图时,可以看到文档。这 表示选中的视图(对象)包含文档(对象)。在使用 Domino 对象时这种层级关系 非常重要。在 Domino Object Model 中 Notessession 是最高层级的对象。如果 从 Notessession 启动,可以对任何对象操作 6.2.2 LOTUSSCRIPT 当在 Domino 中编程时,可以通过编写 LotusScript 代码来影响 Domino 对 象。代码由对象事件的发生来执行。例如,单击按钮,打开文档,关闭文档,或 者在域中输入数据。使用 objects 视图,可以很容易看见对象可用的事件。 例如,你可以编写诸如按钮的一段非常简单的对象脚本。 Sub Click (Source As Button) MessageBox (“I’m learning LotusScript!”) End gub 当单击按钮时,这个脚本会显示信息框。 1 .事件描述 DOMINO 对象有:数据库、代理、操作、视图、文件夹、表单、子表单、页面、 域、热点对象。为响应对象中发生的事件, Domino 通过执行公式、LotusScript 、 JavaScript 和 Java 代码来响应在对象中发生的事件。此外可以将 LotusScript 子例程或函数添加到对象中。并在属于对象的 Script 列表中添加或选取相应的 ScriPt ,同时,代码可保存在 Script 库中。 Domino 的每一个可编程对象都有一个对应的相关事件列表。每一个对象都有 一个 declarations 区域和 option 区域,可以在其中编写应用于该对象中所有 LotusScript 事件的非执行 LotusScript 语句: 在 Options 区域里可以编写 Option 、 Use 、 UseLSX 和 Const 语句; 在每一个文档和视图都有一个 GlobalS 区域,可以在其中编写应用于文档中所有 LotusScript 事件的非执行 LotusScript 语句; WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 28
  • 30. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 在 Postopen 事件中对当前文档所做的修改被当作缺省值看待。该文档不被标记 为已产生变化。如果用户在此时关闭文档, Postopen 的修改内容将会丢失,必 须显式的保存此变化。 Domino 也允许在 web 应用程序中运行 LotusScript 代码,但是有几个限制。 通 常 你 使 用 LotusScript 来 开 发 代 理 , 这 些 代 理 来 自 WebQueryopen 和 WebQueryClose 事件。 LotusScript 代理只能在 Domino 服务器上运行,而不能 在 WEB 浏览器上运行。 l )下面一些表列出了能够使用公式语言、 LotusScript、JavaScript 和 Java 自动执行的事件。 下表是数据库对象的事件描述 事 件 名 执 行 时 间 Postopen (LS,F) 打开数据库后 Postdocumentdelete (LS,F) 文档被删除后 Queryclose (LS,F) 数据库正在被关闭时 Querydocumentdelete (LS,F) 将文档标记为删除之前 Querydocumentundelete (LS,F) 将文档标记为取消删除之前 将文档标记为拖放操作之前 Querydragdrop (LS,F) 在视图中执行拖放操作之前 Postdragdrop (LS,F) 在视图中执行拖放操作之后 Initialize (LS) 数据库正在被装入时 Terminate (LS) 数据库正在被关闭时 下表是文件夹对象的事件描述 事 件 名 执 行 时 间 Postpen (LS,F) 打开视图或文件夹之后 Regiondoubleclick (LS,F) 双击日历视图中的区域时 Queryopendocument (LS,F) 装入文档之前 Queryrccale (LS,F) 刷新视图或文件夹之前 Queryaddtofolder (LS,F) 将文档添加至文件夹之前 Querypaaste (LS,F) 文档被粘贴之前 Postpaste (LS,F) 进行粘贴操作之后 Querydragdrop (LS,F) 在日历视图中进行一个拖放操作之前 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 29
  • 31. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 事 件 名 执 行 时 间 Postdragdrop (LS,F) 在日历视图中进行一个拖放操作之后 Queryclose (LS,F) 正在关闭视图或文件夹时 Initialize (LS) 装入视图或文件夹时 Terminate (LS) 正在关闭视图或文件夹时 下表是页面对象的事件描述 事 件 名 执 行 时 间 onHelpRequest (F) 选择帮助时 JS Header (JS) 正在装入文档时 onBlur (JS) 取消选中对象时 onClick (JS) 选中对象时 onDblClick (JS) 双击选中对象时 onFocus (JS) 选中可编辑域时 onHelp (JS) 选择帮助时 onKeyDown (JS) 按下键时 onKeyPress (JS) 按下键时 onKeyUp (JS) 放开键时 onLoad (JS) 打开文档之后 onMouseDown (JS) 按下鼠标按钮时 onMouseMove (JS) 移动鼠标时 onMouseOut (JS) 鼠标移出对象时 onMouseOver (JS) 鼠标移动经过对象时 onMouseOut (JS) 放开鼠标按钮时 onMouseOver (JS) 重置文档 onMouseUp (JS) 提交文档之前 onReset(JS) ---form only 关闭文档之前 onSubmit(JS) ---form only 打开文档之前 onUnload (JS) 打开文档之后 Queryopen (LS,F) 将文档更改为读或编辑模式之前 Postopen (LS,F) 将文档更改为读或编辑模式之后运行 Querymodechange (LS,F) 刷新文档之后(重新计算数值) Postmodechange (LS,F) 保存文档之前 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 30
  • 32. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 事 件 名 执 行 时 间 Postrecalc (LS,F) 保存文档之后 Querysave (LS,F) 正在装入文档时 Postsave (LS,F) Queryclose (LS,F) 关闭文档之后 Initialize (LS) 选中对象时 表单对象的事件描述 事 件 名 执 行 时 间 表单 WebQueryOpen (F) 显示 Web 文档之前 —— 公用于表单 为使用以下语法的公式:@command([ToolsRunMacro] agentname” “ ) 子表单 WebQuerySave (F) 保存 Web 文档之前 ——仅用于表单 为使用以下语法的公式:@command([ToolsRunMacro] agentname” “ ) 域对象的事件描述 事 件 名 执 行 时 间 onClick (JS) 选中对象时 onChange (JS) 更改对象时 onBlur (JS) 取消选定可编辑域时 onFocus (JS) 选中可编辑域时,光标移到处于编辑状态下的域中 Entering (LS) 选中可编辑域时 Exiting (LS) 取消选定可编辑域时 Initialize (LS) 正在装入文档时——在表单 Initialize 事件之后发生 Terminate (LS) 正在关闭文档时 其他对象的事件描述 事 件 名 执 行 时 间 onBlur (JS) 操作 取消选定对象时 onClick (JS) 按钮 选择对象时 onDblChick (JS) 热点 双击选择对象时 onFocus (JS) 选择可编辑域时 onHelp (JS) 选择帮助时 onKeyDown (JS) 按下键时 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 31
  • 33. IBM 官方推荐用书-CHINALOTUS 之 DOMINO7 开发大百科 事 件 名 执 行 时 间 onKeyUp (JS) 放开键时 onMouseDown (JS) 按下鼠标按钮时 onMouseMove (JS) 移动鼠标时 onMouseOut (JS) 鼠标移出对象时 onMouseOver (JS) 鼠标移动经过对象时 onMouseUp (JS) 放开鼠标按钮时 Click (LS,F) 选中对象时 Objectexecut (LS) 对象被启用了 FX/NotesFlow 的 OLE2 服务器激活时 Initialize (LS) 正在装入对象时 Terminate (LS) 正在关闭对象时 Action (F) 代理 运行代理时 JavaAgent (J) 运行代理时 Initialize (LS) 正在装入代理时 Terminate (LS) 正在关闭代理时 2)在对象视图中 Domino 表单和域事件的任务和采用的开发工具。 在对象视图中 Domino 表单事件功能与使用开发工具描述 事 件 开发语言 描 述 Notes Web Window Title 公式 给表单命名 是 是 HTML Head 公式 包含了所有在 HTML 主题区段中的信息,例如: 否 是 JavaScript Content 公式 颜色和字体 HTML Body 包含了所有的 HTML 主体区段中的信息 否 是 Attributes WebQueryOpen 公式 当表单从 Web 页面提交之后运行。默认在 Web 文档 否 是 显示之前运行一个代理,这个公式必须运用以下语 法:@command([tollsrunmacro];”agentname”),你也可 以在不呼叫代理的情况下输入不同类型的公式,你可 以输入一个 LS 代理,然后呼叫这个代理 WebQuerySave 公式 必须运用下列语法: @Command([ToolsRunMacro]:”agentname”) 可以在不呼叫代理的情况下输入不同类型的公式或 输入一个 LotusScript 代理,然后呼叫这个代理 WebSite:www.chinalotus.com E-mail:cndragonws@hotmail.com TEL:86-0731-5817822 FAX:5159795-608 32