首页>参考读物>计算机科学与技术>办公软件

Lotus Domino R5(中文版)Web高级编程
作者 : Rose M.Kelleher, Thomas A.Jones
译者 : 武坤
丛书名 : IBM/Lotus技术丛书
出版日期 : 2000-11-01
ISBN : 7-111-08334-2
定价 : 55.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 316
开本 : 16开
原书名 : Advanced Domino 5 Web Programming
原出版社:
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

本书详细介绍Lotus Domino R5中的Web开发技术,内容包括在Web中使用表单、视图和帧结构等设计元素,编写JavaScript、Lotus Script、Java应用程序、Java小应用程序、CORBA小应用程序以及Java小服务程序。本书论述深入浅出、理论结合实际,提供了大量实例,附带光盘还包括了实例中的所有数据库及源代码,方便读者使用。

图书前言

什么是 Lotus Domino

通常一本计算机方面的图书总是以名为“什么是X”的一节作为开始,事实上,这是多余的。一般情况下,读者在购买一本“关于怎样使用X进行应用开发”的书时应该已经知道X是什么了。然而,我们仍然要强调指出一点:本书是一本针对Domino Web 编程的指导手册。

也就是说,本书是一本指导手册(而不是一本简易教程),是关于Domino Server的(而不是关于Lotus Notes编程的),是关于Web的(而不是关于Domino管理的)。

如果您仍然不太明白其中的不同点,以及这本书的重点之所在,下面关于Lotus 的一点背景知识就显得尤其必要了。否则,您可以跳过下面的几页。

Lotus R5起源于Lotus Notes,或者称为Notes,包括Notes 的客户端和服务器端,既简单又美妙。其服务器端运行几个被称作服务器任务的不同过程,包括邮件路由任务、复制任务等。

在Lotus 发展有限公司的支持下,Iris联合公司1995年开发了一种Domino服务器上的HTTP服务,采用超文本传输协议(Hyper Text Transfer Protocol)技术,可以从Notes 中提取数据并以HTML形式发布。这样,您就可以通过在控制台中敲入如下命令来启动Domino 服务器中的Web服务:

load http

这种新的服务器任务产生了一种非常重大的影响,以至于就像Windows 95原来称为Chicago一样,在Notes服务器中的HTTP服务器任务称为Domino。

由于Domino越来越流行,因此Lotus 公司认为若把Notes服务器改名为Domino服务器,其市场表现会更好。这个主意确实打动了市场人员与管理人员,他们在销售中并未由于服务器叫做Domino而客户机叫做Notes而感到任何麻烦。许多Domino和Notes编程老手仍然使用Notes服务器和Notes客户机这样的过期叫法,把Web服务器任务或与Web有关的应用程序叫做Domino。

似乎人们认为这还不够混乱,于是IBM也跳上了Domino战车。Domino使用的一种Web服务技术ICSS被改名为Domino Go,尽管Domino Go Web服务器与Lotus Notes毫无关系。虽然Domino开发组使用了Domino Go作为其开发基础,但它们本质上是两个功能不同的产品。IBM和Lotus公司老是告诉人们由于Domino拥有一些Domino Go所没有的功能(如将Notes数据动态转换为HTML),因此Domino Go是Domino的一个子集。但事实上,Domino Go更像一个普通的Web服务器,它允许开发者开发许多Domino开发者不能完成的功能。确切地说,它们应该是恰巧使用部分相同代码的两个不同的产品。

由于名称的不断改变,“Domino应用程序”这一专业术语的含义变得越来越混乱了。Domino应用程序既可以表示用户使用Notes客户机通过局域网访问Domino服务器上的数据库,也可以表示用户使用某种Web浏览器通过Internet访问Notes客户机上的数据库。当然,有时可能开发出这两方面都很完美的某种软件,但这是一项富于挑战性与技巧性的工作,到目前为止,能达到这种标准的软件非常少。为了精确起见,我们常常不得不区分为Notes客户端软件和Domino Web软件。因此,确切地讲,本书是关于Domino Web软件开发的指导手册。

关于这本书

我尽量在书中避免掺杂错误的、嗦的或者个人意识的东西,毕竟,我只是一名程序员,谁又需要我来告诉他应该怎样生活呢?

本书讲述的是Domino Web软件的开发。在此我尝试提供一些实际的例子或较为高级的Domino Web开发技巧,以后读者就不必为此去翻阅上百本的其他关于Domino的资料。我假设读者已经清楚表单和视图的创建,假设读者已经知道怎样使用公式语言去创建一个计算域,我还假设读者已经安装了Domino服务器并使其正常工作。

设置和管理Domino服务器非常复杂,应该由在这一领域的专业知识与经验上远远超过我的专门从事Domino网络设计和构造的专家编写专著对此进行论述。在此,我们为您推荐Mcgraw-Hill出版发行的由IBM公司John Lamb和Peter Lew编著的《Lotus Notes and Domino Network Design》一书。

本书的主要目的是介绍Domino Web应用,这是目前最流行的应用。本书不打算介绍Lotus Script历史及其基本概念,而是介绍大量实例,因为这是最实用的。总之,我的目的是与您分享Domino技术源泉,创建更大的Domino市场。

关于本书附带光盘

本书附带的光盘包含了本书示例中的所有数据库及源代码。当您想将光盘中的数据库拷贝到您自己的Domino服务器上时,请将其拷贝到您的data目录下的RMKelleher子目录中。

由于光盘中的数据库是使用R5创建的,因此它们不能在早期的Notes版本下使用。但是本书提供的某些技术完全适用于4.6.1版本。在每个例程的说明中指明该技术是否适用于Domino 4.6.1和Domino 5.0、Netscape 3和Netscape 4、IE 3和IE 4。

怎样提供反馈意见

如果您对本书有任何问题和建议,请访问

http://www.ramblingrose.com

在这儿,您可以填写反馈表单,可以找到对常见问题的回答,以及在本书出版后对某些例程的必要的升级。

作者网址:
Rose Kelleher
http://www.ramblingrose.com
Thomas Jones
Http://www.spril.com

英文原书书号:ISBN-0-07-913691-5

英文原书出版社网址:http://www.computing.mcgraw-hill.com.

作者简介

Rose M.Kelleher, Thomas A.Jones:暂无简介

译者简介

武坤:暂无简介

译者序

随着计算机技术和网络技术的不断发展,传统的C/S(客户端/服务器)结构面临着越来越多的不可逾越的障碍,B/S(浏览器/服务器)模式渐渐浮出水面,Domino R5中的Web开发可以使得Lotus Notes能够满足直接使用浏览器进行访问的要求。这样一来,Domino可以让因特网与内部网合为一体。但遗憾的是关于Domino的Web编程的中文技术资料相当缺乏,而这一技术又与传统的Web编程差距较大,从而使得此技术难以推广。

本书由两位资深的Domino专家Rose M.Kelleher和Thomas A.Jones撰写。本书从表单、视图、帧等最基本设计元素的Domino Web编程开始,逐步深入,提供了各种Domino Web编程的技术手段和工具,使读者可以快速全面地接触各种最新的Domino Web编程方法。同时,提供了上百个可以利用的例子,使读者可以达到学以致用的目的。

如果你曾经熟悉了Lotus Notes的开发,而现在又想进一步掌握Domino Web应用的话,那么本书深入浅出、理论结合实际,确实是再合适不过了。如果你已经有一些Domino web的编程经验,想要更全面了解Domino Web的功能,那么本书覆盖面广、实用性强,实在是一本不可多得的参考书。

本书由中南大学应用数学与应用软件研究所和长沙中力大方信息技术有限公司的武坤博士、陈湘涛博士、王利民、谭剑、苏玲等多位工程师共同翻译。

由于时间仓促,加上译者经验和水平所限,译文中难免有不妥之处,恳请读者进行批评指正。
2000年5月

图书目录

译者序
前言
第1章  Domino Web开发综述 1
1.1  为什么使用Domino 1
1.2  Domino是怎样运行的 1
1.2.1  Domino与传统数据库的区别 1
1.2.2  Domino和Web 2
1.3  开发部件 2
1.4  其他工具 3
1.5  简单的Domino Web软件例子 10
参考信息 14
本章小结 14
第2章  使用表单 16
2.1  关于表单 16
2.2  在表单中使用公式 17
2.2.1  数组和多值域 18
2.2.2  公式的类型 18
2.2.3  例子:一个组合框域 20
2.2.4  例子:$$Return域的公式 22
2.3  在表单中使用Web元素 22
2.3.1  嵌入Web元素 22
2.3.2  创建特殊用途的模板表单 22
2.3.3  例子:在$$View Template Default
      表单中嵌入导航器 23
2.3.4  例子:动态嵌入式导航器 24
2.4  在表单和表单对象中使用HTML属性 25
2.4.1  <META>标记的例子 26
2.4.2  例子:RTF文本域的属性 27
2.4.3  例子:cookie 27
2.5  使用表单操作按钮 28
2.6  使用热点 30
2.7  在表单内使用HTML 31
2.7.1  例子:单个类视图 31
2.7.2  例子:显示附属图形文件 36
2.7.3  例子:把文本域显示为文本区域 39
2.8  在表单中使用CGI变量 40
2.9  表单和搜索 42
2.9.1  定制视图搜索表单 43
2.9.2  例子:定制搜索界面 44
2.9.3  定制Site Search表单 47
2.9.4  定制Search Results表单 47
2.9.5  例子:对搜索结果表单的定制 48
2.10  定制表单提交按钮 49
2.11  使用隐藏域 49
2.12  把RTF文本显示为一个小应用程序 50
参考信息 51
本章小结 51
第3章  使用视图进行工作 54
3.1  关于视图 54
3.2  视图和Web 55
3.3  使用选择公式 56
3.4  使用视图列公式 57
3.5  使用表单公式 57
3.6  使用视图图标 58
3.7  创建视图操作按钮 59
3.8  使用单个类视图 60
3.9  在视图中使用HTML通用文本 62
3.9.1  改变行的格式 63
3.9.2  在视图中显示Java小应用程序和图像 63
3.9.3  HTML通用文本 64
3.9.4  改变视图连接的动作 66
3.9.5  控制视图连接的另外一种方式 68
3.9.6  例子:在视图中使用java Script 68
3.10  在表单中使用视图 70
3.10.1  在表单中嵌入视图 70
3.10.2  创建视图模板 70
3.10.3  例子:使用表单在视图中添加
       功能 71
3.10.4  例子:使用视图在表单中添加
       功能 73
3.10.5  例子:创建多个类的视图 76
3.11  在小应用程序表单中显示一个视图 79
参考信息 80
本章小结 80
第4章  使用帧结构、大纲和其他设计
    元素 82
4.1  简介 82
4.2  在帧结构中设计 82
4.2.1  帧的不利之处 83
4.2.2  使用帧结构集设计元素 84
4.2.3  使用<FRAMESET>标签 88
4.3  使用大纲 94
4.3.1  同时使用帧和大纲 95
4.3.2  显示大纲小程序 97
4.4  使用其他的设计元素 97
参考信息 101
本章小结 101
第5章  编写JavaScript 103
5.1  简介 103
5.2  开始编写JavaScript 104
5.3  把JavaScript添加到Domino的表单中 106
5.4  验证域:Expense Report表单 107
5.5 计算域的值:Expense Report表单(续) 109
5.6  显示域相关的帮助 110
5.7  控制帧的使用 112
5.8  填充动态列表框 114
5.9  例子:动态下载图像 117
5.10  例子:在一个滚动按钮中预先下载
     图片 119
5.11  例子:显示对话框 121
5.11.1  Order Form表单 123
5.11.2  Select Parts表单 124
5.11.3  Read-Only Order Form表单 127
5.11.4  Orders视图 127
5.12  例子:操纵cookie 127
5.13  例子:ActiveX对象脚本 128
5.14  例子:Domino产生的JavaScript 133
参考信息 137
本章小结 138
第6章  编写LotusScript 139
6.1  简介 139
6.2  关于LotusScript Web代理 140
6.3  激活一个代理的URL 141
6.4  在LotusScript中编写WebQueryOpen
    代理 142
6.4.1  简单的LotusScript WebQueryOpen
      代理 142
6.4.2  查询数据库 144
6.5  在LotusScript中编写WebQuerySave
    代理 146
6.5.1  简单的LotusScript WebQuerySave
      代理 146
6.5.2  在表中显示ODBC搜索结果 147
6.6  在LotusScript代理中使用CGI变量 150
6.6.1  QUERY_STRING代理 150
6.6.2  HTTP_COOKIE代理 154
6.7  在基于Web的工作流中使用LotusScript 157
6.8  在LotusScript代理中使用小应用程序 161
参考信息 170
本章小结 170
第7章  Java应用程序 171
7.1  使用Java语言 171
7.2  Domino 4.6及以上版本的Java应用程序 172
7.2.1  例子:SendMemo.java 173
7.2.2  例子:SendMemo2.java 175
7.2.3  Java接口 175
7.2.4  例子:SendMemo3.java 176
7.2.5  使用GUI组件 177
7.2.6  例子:Send Memo4.java 177
7.2.7  多线程的例子:ListGroups应用
      程序 179
7.3  Domino 5的Java应用程序 185
7.3.1  简单例子:CorbaApplication.java 186
7.3.2  GUI例子:CorbaApplication2.java 186
参考信息 189
本章小结 189
第8章  Java代理 190
8.1  简介 190
8.2  关于Java Agents 190
8.3  编写4.6版的Java代理程序 191
8.3.1  简单Java代理:Simple Agent.Java 191
8.3.2  多线程代理程序:NotesGuiAgent.
      java 196
8.3.3  Java Web代理程序 199
8.4  在R5中编写Java代理 226
参考信息 230
本章小结 231
第9章  使用Java小应用程序 232
9.1  简介 232
9.2  Java小应用程序和Domino 233
9.3  简单例子:HelloUser.java 234
9.4  声音例子:AudioApplet.java 236
9.5  使用 LiveConnect:Java_JS.java 241
9.6  LiveConnect和标准的Domino小应用
    程序 244
9.7  编写小应用程序更容易的方法:
    Lotus BeanMachine 245
9.8  使用eSuite 247
9.8.1  什么是eSuite 247
9.8.2  eSuite和Domino 248
9.8.3  eSuite Workplace Desktop 248
9.8.4  eSuite小应用程序 249
9.8.5  应用功能的局限性 251
9.8.6  eSuite InfoCenter简介 252
9.8.7  eSuite Devpak 252
9.8.8  DevPak组件 253
9.9  InfoBus技术介绍 253
9.9.1  InfoBus例子 254
9.9.2  eSuite/InfoBus例子 255
参考信息 257
本章小结 258
第10章  编写CORBA小应用程序 259
10.1  简介 259
10.2  什么是CORBA 259
10.3  关于lotus.domino软件包 259
10.4  例子:Corba Text 1.java 260
10.5  例子:ResumeApplet.java 264
10.6  显示数据图表:SalesChartApplet.java 270
10.7  使用两种方式发送数据:
     AgentControlPanel.java 274
10.8  CORBA小应用程序还不能实现的
     功能 279
参考信息 280
本章小结 280
第11章  编写Java小服务程序 281
11.1  什么是小服务程序 281
11.2  为什么在Domino中使用小服务程序 281
11.3  启用小服务程序支持 282
11.4 编写小服务程序 283
11.4.1  简单的HTTP GET小服务程序:
       StupidServlet 283
11.4.2  简单的HTTP POST小服务程序:
       JDBCQueryServlet 284
11.4.3  使用链接缓冲区的JDBC小服务
       程序 289
11.4.4  Cookie-Setting Servlet 293
11.4.5  小服务程序和Netes Java类 298
11.4.6  最后一点说明 299
参考信息 300
本章小结 300
附录  Domino URL 301

教学资源推荐
作者: 刘远东 何思文 吴斌新
作者: 赵莉,熊建强,陈红
作者: 方昊 黄苏雨 张帆 主编
参考读物推荐
作者: Heidi Steele
作者: 崔杰 柴延伟 等编著
作者: 张婷婷 编著