【翻译】Notes内幕:第一章 3、基本设计原理(待续)

基本设计原理

软件设计原理是一种标准或者一个目标,在设计软件的时候它帮助进行决断。例如,你在做一款以性能为最大目标的软件,现在有两种设计方案,一种得出较好的性能;另一种则更容易使用。如此你最好选择性能更好的方案。

Notes 软件设计在进行设计和开发代码之前要考虑一些非常特别的原理。理解这些原理对于对于理解Notes的设计是很重要的。这一节讲述了这些设计原理以及源自这些原理的一些重要的设计特点。

[@more@]

NOS是核心

为了理解基本设计原理,你需要了解NOS是把整个Notes架构连接起来的主线。NOS实现了创建和维护Notes数据库的服务,这是整个Notes架构的基础。NOS函数实现了一个安全的、基于记录的数据模型,包含群件逻辑,这允许许多程序同时访问Notes并且解决了多个程序尝试同时更改同一条记录而产生的冲突。

NOSNotes能够取得良好跨平台兼容性的关键。NOS本身是可移植的,这意味着NOS可以运行在多种操作系统上,因此它便提供了支持跨平台客户端和服务器程序的基础。另外无论数据库被创建或者运行在什么平台上,NOS强制采用通用数据库结构。NOS包含针对Notes所支持的可移植性解释型语言:Notes公式语言、LotusScriptJavaJavaScript的编译器和解释器。用这几种语言编写的程序可以运行在任何一个Notes平台上,因为NOS已经被移植到了那些平台上。最后,NOS包含全球化服务,这使得客户端和服务器程序可以用几十种世界各地使用的语言进行文本的接收、显示和打印。

设计原理

Notes软件架构依赖于这些工作一致的原理,来提供它独特的群件性能。每个独立的设计原理共同构成了设计原理的整体,整体效果远大于各个原理的简单累加。

1、Notes是跨平台的

2、Notes被设计为支持全球化使用

3、Notes在各个平台上必须运行良好,并且伸缩性良好

4、Notes应用程序可以运行在任何一个客户端或者Domino服务器计算机上

5、Notes客户端程序可以运行在服务器端,反之亦然

6、记录是最基础的数据结构

7、后期版本的Notes支持早期版本的数据库

8、对安全和群件技术的基础性支持被构建在所有的Notes软件之内

9、Notes用它自己的数据库来控制许多它自己的活动

10、Notes用它自己的数据库来实现域范围之内的特征

Notes是跨平台的

一个软件产品如果能运行在多重不同的平台上则称之为跨平台的。平台是指运行在特定机器上的一个特定的操作系统――例如:四种不同的平台分别是运行在AS/400机器上的OS/400、运行在RS/6000机器上的AIX、运行在英特尔奔腾处理器上的Windows NT以及运行在DEC Alpha架构上的Windows NT。做为一个群件产品,Notes从最开始就被设计为跨平台的。群件产品应该是跨平台的,因为软件群组的大小可能变化幅度很大,其中每一个软件组都需要按照技术和预算方面的考虑去选择相应的平台。还因为许多企业本身业务平台就是多种多样的,如此来说在多种平台上部署跨像Notes一样平台的产品比起部署一系列只支持单一平台的产品要简单经济。

Notes怎样支持跨平台

这里有很多方法来编写跨平台的软件:

1、典型的模型是采用可移植的语言编写程序,例如cc++,然后编译程序在不同平台上运行

2、JAVA虚拟机模型是在多种平台上实现了一个公共运行时环境,从而对于运行在虚拟机上的程序隐藏了多种平台的区别

3、网络代理模型(CORBA使用)使得一种平台上的一个程序为其它平台上的客户端提供服务,这些运行在多种不同平台上的客户端程序通过标准网络接口来和服务端程序进行通讯

Notes使用了经典和虚拟机混合模型。Notes 客户端程序、服务器端程序和NOS使用经典模型方法,都是CC++编写的并且被编译过运行在多种平台上。Notes应用程序这一NotesDomino产品的重要组成部分则采取虚拟机模型方法。Notes应用程序包括设计元素和业务逻辑(采用Notes公式语言、LotusScriptJavaJavaScript编写),它们按照同样的方式运行而不管运行在什么样的计算机上。因为所有的应用程序访问都通过NOS函数,应用程序也能运行在所有NOS已经被移植到的平台上。

采用客户端程序、服务器端程序和NOS所采取的经典模型去开发跨平台软件是最困难的。编写一组通用的用于编译运行在不同平台上的代码集是一个巨大的初始化投资。代码的某些部分采用广泛的C/C++条件语句,所以一组单一的代码模型能够被用来在多种平台上构建NotesDomino软件。然而投资能够获得不错的收益,源于一组通用代码库易于维护并且易于移植到新潮的操作系统上――例如 Linux。采用经典模型制作的软件比起采用其它模型制造的软件运行速度更快。事实上唯一能达到杰出性能和跨平台支持双重目的的方法就是采用一种可移植的可以被编译成快速本地机器码的语言来编写核心的客户端、服务器端和NOS程序。

更深入的可移植性源于NOS中的操作系统类型的可移植性服务,它们分配内存、读取和写入文件、启动程序以及完成其它操作系统类型的功能。这些服务直接面对应用程序,隐藏了Notes运行在那种操作系统上这类细节。移植调用NOS可移植函数的程序比起移植那些直接调用操作系统特定服务的程序要容易很多。这种提供跨平台支持的方法保障了Notes能够提供较高的性能,无缝并且可扩展地运行在大多数无论在今天还是明天流行的操作系统之上。下面的图表记述了NOSNotes客户端、Notes服务器端程序已经被移植到了哪些平台上。注意:因为所有客户端和服务器端应用程序都需要NOS,所以NOS运行在所有平台上。图表展示了在Notes R5中哪些被支持,以及比R5更早期的版本中哪些被支持(尽管可能R5已经不再支持)

22716-1_2.JPG

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7437037/viewspace-912127/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7437037/viewspace-912127/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值