50. 替换设计和刷新设计——Lotus Notes的程序部署和更新之理论

来源:互联网 发布:微信霸屏软件 编辑:程序博客网 时间:2024/04/29 16:25
理论上的便捷性

与其他开发平台相比,LotusNotes的程序部署和更新简单。理想情况下,部署一个新系统只需要在服务器上创建一个新数据库,用开发好的应用程序模版替换设计,再准备必要的配置文档就可以了。程序更新也类似,用改好的模版替换或刷新正式系统的设计。操作简便,只需鼠标单击几下Notes或Administrator客户端的菜单命令就能完成。

这便捷性源于Notes平台的基本设计和架构。

首先,LotusDomino/Notes是一个中间件平台。Java语言的标语是“一次编写,四处运行。”其实这并不新鲜,Java之前其他语言也做到了,而如果从应用平台的角度来说,这即是中间件的基本要求。中间件就是为了跨越服务器的不同操作系统和各种网络协议的差别,提供应用程序或程序开发以服务和接口,最终为与服务器相连的客户机服务。Domino/Notes正是这样一个平台。Domino服务器可以安装在Windows、Unix、Linux还有IBM自身的服务器,各种操作系统上。Domino服务器之间及与Notes客户端之间支持从主流到不常见的各种网络协议。在一台PC机上开发的Notes程序(传统的Web应用),一部Mac笔记本通过浏览器用拨号上网连接到一台IBM z/OS机器上的Domino服务器,也能够完全正常使用。

其次,Notes应用从程序(设计元素)到数据,都是以同一种形式,即文档或Note,保存在Notes数据库里。而Notes数据库的分布式本质和复制本能使得一个新系统的部署和以后的更新成为再自然和容易不过的事情,刷新设计就可以看作一种特殊的复制。

替换设计和刷新设计

这两个Notes开发的术语的含义大致可以从字面上看出。两者都是使目标数据库的设计变得与作为模版的数据库的设计一致。替换设计先将目标数据库内的设计元素删除,再将模版数据库的设计元素复制过来。如果模版数据库设置有模版的名称(在数据库属性信息框的设计页),在目标数据库也会将其作为设计继承的模版的名称记下(同在数据库属性信息框的设计页)。

刷新设计先检查目标数据库是否具有上述的继承模版名,若有则从所选的服务器或本地寻找该名称的模版,然后开始刷新:

  • 一个设计元素,若模版有目标数据库没有,则复制到目标数据库。
  • 若目标数据库有模版没有,则删除。
  • 模版和目标数据库对应的设计元素,若最近修改时间不同,则用模版数据库的版本替换目标数据库的;若相同,则忽略。

上述规则有一点值得说明。匹配设计元素所用标准是其名称(包括别名,即设计元素文档里的$Title域值),而非Universal ID。这样做可以理解。若最初目标数据库的某些设计元素是从作为模版的数据库拷贝来的,它们的全局ID就与模版里的不同。而且模版和目标数据库里的某个设计元素都有可能被删除后重建。

原创粉丝点击