开发基于Domino/Notes的动态Web网站

开发基于Domino/Notes的动态Web网站
  用户的需求

  笔者最近开发某公司MIS系统时,用户提出了以下的一些需求:利用用户的局域网实现对数据库及文档信息的访问。数据由用户的一套基于VFP的业务系统提供,希望实现通过局域网供各部门及领导及时查询,同时实现文档信息的动态发布。

  方案的分析

  1.采用Browser/Web Server(B/S)模式

  随着Web技术的迅速发展,B/S模式已经被广泛地采用。与传统的Client/Server(C/S)相比,B/S模式有许多优点:

  * 不需要开发Client端软件。在Client端只需要有标准的浏览器就可以;由于对数据库查询、浏览的功能都在Web Server端进行,因此系统管理和维护工作大大减少。

  * 用户操作实现了标准化。由于Client端是标准的浏览器,因此操作变得非常简单。

  2.通过ODBC访问后台VFP数据库

  由于用户需要动态地将信息发布到网上,而传统的静态的Web页面无法实现这些交互功能,因此我们必须将数据库与Web连接起来,并根据用户的需要,动态地产生用户需要的数据,以供用户查询、浏览。在数据库方面,为了与用户原有系统实现快速无缝连接,我们仍然选用VFP进行数据库管理。要实现动态页面,就必须实现对Server端的VFP数据库进行动态访问,因此,必须在Server端配置ODBC驱动程序。

  查询结果图表一

  3.对文档信息的访问,选用业界流行的Lotus Domino/Notes的解决方案

  由于MIS系统对复合文档数据的处理要求,必须以文档数据库为核心建立,同时选择性地结合关系数据库。Lotus Domino/Notes是电子邮件、文档数据库、快速应用开发技术以及Web技术为一体的电子邮件与群件平台。目前,国内许多政府机关和企事业单位都采用Lotus Domino/Notes作为MIS系统的基础平台。

  与其他Web服务器相比,Lotus Domino的优势在于:

  数据库管理:用户可以用数据库形式管理Web站点页面及内容,而不仅仅是存储。Domino数据库自动维护信息之间的链接关系,使站点维护更简单。因此,在日常工作中,大量文档信息的Web发布工作完全可以交给业务人员完成,而无需由技术人员通过HTML编程的方式来进行文档信息的维护。

  安全性控制:任何对Web信息的访问都受到安全性的控制,确保合适的人访问合适的信息。

  查询结果图表二

  4.Web Server选用Windows NT的IIS。

  技术的实现

  方案确定以后,主要需解决三个问题:必须让IIS能够处理对Notes数据库的访问;在Notes表单中运行的代理程序必须能够访问ODBC数据库; 调整IIS和Domino之间的安全性冲突。下面详细介绍在系统安装配置过程中如何解决上面三个问题,限于篇幅,开发过程只作简单介绍。

  安装步骤:

  步骤一:安装Windows NT Server 4.0和IIS4.0。

  步骤二:在NT上配置ODBC,设置数据源(DSN)。运行NT控制面板的“ODBC数据源”,在“系统DSN”窗口下单击“添加”按纽,选择“Micosoft Visual Foxpro Driver”,在“Data Source Name”中输入数据源名,如:oil,在“Path”中指定ODBC数据源的路径,如:d:oil_dataoil.dbc。

  步骤三:安装ChartFX。为了在客户浏览器端生成动态数据图,需要在Server端安装ChartFX ActivX控件。在NT上运行CfxIESrv.exe,选择默认安装方式,参数设置成默认值;再运行ChartFX的升级程序——CfxIEUpdSrv(2).exe;修改NT目录下的CfxSrv.ini文件,改为以下设置:

  Relative=/cfxtemp

  Absolute=d:oilcfxtemp (假定oil目录在D分区)

  步骤四:建立IIS管理的站点。建立D:oil目录,HTML页面文件均放在该目录下;运行IIS的Internet服务管理器,选定默认Web站点属性中的IP地址,确保其绑定在80端口上,并将主目录的本地路径设为d:oil目录;在默认Web站点属性里的“主目录”属性中,将“FrongPage Web”选项选中;将Scripts虚目录定为oilscripts目录,并将许可选项定为“执行”;在资源管理器中,分别选中oil下的cfxtemp和Scripts目录,单击右键选择属性,在安全性中,选择“权限”按钮,将“Everyone”的权限设为“完全控制”,并将“替换子目录的权限”选中,选择“确定”按钮。

  步骤五:安装Domino Server,配置Domino for IIS。将Domino设置成for IIS,这样对Notes库的访问全由IIS负责,Domino可以不用启动。

  在确认IIS和Domino正常工作后,需要设置Domino ISAPI扩展,以便当IIS收到浏览器发来的Domino应用程序请求时可以使用该程序;启动Internet服务管理器,右键点击默认Web站点,选择属性,在主目录选项页中,单击“配置”→“添加”,在可执行文件域中输入ISAPI扩展文件(niisextn.dll)的完整路径名;在扩展名域中,输入“.NSF”,在不包括的方法域中输入下列不被Domino for IIS支持的HTTP成员函数:PUT、DELETE;选中脚本引擎,取消选择检查文件是否存在选项。

  设置IIS扩展过滤器,以便将用户证书正确地传递给Domino;启动Internet服务管理器,右键点击默认Web站点,选择属性,选择ISAPI筛选器并单击添加;在筛选器名域中输入用来描述IIS过滤器的文字,如:Domino;在可执行文件域中输入过滤器文件(niisfilt.dll)的完整路径名。

  步骤六:调整IIS的安全性与Domino的冲突。在默认Web站点属性的“目录安全性”中,单击“匿名访问和验证控件”,再单击“编辑”,在“验证方法”中取消选择“Windows NT挑战/反应”选项。

  开发简介:

  1. 用FrontPage、DreamWeaver等网页制作工具制作HTML页面文件,存放在d:oil目录下,并通过超级链接访问Notes数据库中相应的视图或表单;

  2. 用于Web动态查询的VFP数据库存放在d:oil_data目录下,并进行相应的ODBC配置,如上所述;

  3.Notes数据库存放在d:lotusdominodataoil_info目录下,用Lotus Domino Designer开发相应的表单和视图,对ODBC数据库的操作通过在表单中执行代理程序来进行,对文档数据库的操作可以通过视图和表单来完成。由于Notes数据库的安全机制非常完善,可以对文档数据库、表单甚至域级进行权限控制,因此,可以很方便地在Web上实现特定的用户访问特定的内容。

  开发实例

  笔者用以上的方法为某石油公司开发了一套信息发布及业务查询系统。文档的Web发布包括工作动态、发文公告、通讯录等。该系统完全实现了由业务人员从任一台联网的计算机上对文档信息进行管理,包括新增、删除、修改、查看、全文搜索等操作并及时发布;业务数据查询通过在Notes表单中的代理程序访问ODBC数据库(VFP数据库及表),本文的两张附图所显示的就是通过Web方式查询到的VFP数据库的信息。

  备注:此设计在基于HP NetServer硬件平台上开发并运行,顺利实现了设计目标,取得理想结果。 
 

译者序 前言 第1章 Domino Web开发综述 1 1.1 为什么使用Domino 1 1.2 Domino是怎样运行的 1 1.2.1 Domino与传统数据库的区别 1 1.2.2 DominoWeb 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 标记的例子 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 Pa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值