9 分析与比较
9.1 Domino/Notes的特点 笔者认为,Lotus系列应用有这样几个特色:
非结构化数据处理
这是Domino/Notes最核心的特性之一,也是其固有的技术特点。在Notes数据库中,可以任意为记录添加字段,可以添加列表型的字段,可以处理RTF域、附件这样的大对象。数据处理非常灵活。在灵活的同时,对数据处理效率也有较大的影响。
存取控制权限和管理
这也是Domino/Notes固有的技术特点。
每个Notes数据库在保存应用数据的同时,同时也保存了权限控制信息。首先是ACL中对于用户权限级别和角色的处理,其次是设计元素对权限的限制,第三是读者域、作者域对权限的控制。
Notes数据库在权限信息保存和处理方面的模式很值得借鉴。
同时,Domino还可以做到在修改用户名称时,自动完成数据库中该用户有关信息地自动更改。在分布存储权限信息的同时,实现了统一管理权限的概念。
协同
Lotus在协同方面的特色,源于两点:
第一,Domino将用户管理、邮件服务器很好地结合了起来,提供了方便易用的编程接口,以及相关的权限、安全方面的特性,对企业级应用的部署有很好的支持。;
第二,在协同这个应用领域,Lotus系列产品除了Domino服务器外,还有Sametime、QuickPlace、EveryPlace、Workflow、Domino.Doc、iNotes等一系列应用,可以满足用户对于协同工作各个方面的需求。
9.2 Domino/Notes应用开发的趋势
9.2.1 需求角度 对于客户来说,企业的生产、管理应当是个整体,是统一管理的。企业应用软件也应当是一个统一的整体。
Domino/Notes原来是一个相当封闭的系统。它在非结构数据处理,在工作流、协同方面很有特点。同时在其他方面,例如业务数据处理,又有很大的局限性。因此,从企业应用整体范畴来看,Domino/Notes应用应当作为建立在企业应用平台之上的一类应用,作为特定领域的解决方案。
从IBM产品线的规划来看,可以看到,将使用WebSphere和DB2作为基础平台,把Lotus系列软件作为协同方面的应用集成到平台中,作为该领域的解决方案来进行销售。
9.2.2 技术角度结构化和非结构
在整理屋子的时候,笔者总是会把大部分东西整整齐齐地分类摆放好,并且留出一片空间,以便随手放些杂物。
这个世界的大部分数据也是整整齐齐的,是格式化的。同时,在每个人的工作中,也需要能够随机地保存、交互一些并非预先规划好的数据。Notes应用而生,是因为世界需要Notes,需要处理非结构化的数据。
结构化和非结构的数据处理,它们着重解决的问题是不同的。
结构化数据首先要为机器服务,要为软件服务,使计算机能对数据进行快速有效的处理,然后再考虑如何提供友好的人机界面,考虑如何让人操纵这些数据。
非结构化数据则首先考虑人对数据处理的要求,尽量减少约束条件,提供用户自由的操作空间。
由于这个差别的存在,笔者认为一个数据系统不适于同时处理这两种情况。XML数据库系统也需要对侧重点进行取舍。
而Notes数据库,作为非结构化数据的典型,还将继续存在和发展下去。而相关的应用,也需要充分发掘非结构化数据处理方面的能力,满足客户在非结构化数据处理方面的需求,才有生命力。
其他技术特性
而Domino/Notes其他的技术特性,例如权限管理,用户管理,邮件系统,技术上是可以剥离的,会被逐步剥离出去,以便为Notes应用提供更好的开放性,更好的接口,有助于企业有效地实现应用的整合。
邮件系统,作为一种服务,应当是可配置,可选择的。从软件架构来看,邮件系统的剥离不会对Domino/Notes结构带来根本性的改变。它会很快被剥离。用户管理是企业在整合业务软件的时候首先会遇到的问题,企业自身的整体性要求对用户进行统一的管理。越来越多的系统会采用LDAP的方式来对用户进行统一管理。Domino目前已经提供了LDAP服务,也可以使用其他的Domino服务器作为LDAP服务。以后将进一步完善Domino对第三方LDAP服务的支持。
在权限管理方面,Notes在权限分级方面处理的模式将被借鉴、发展。分散保存权限控制信息和统一管理权限的概念也将继续发展,目前业界提出的PMI框架就使用了相似的概念。但在Notes数据库中,权限控制和数据存储是紧密结合在一起的,并且这种方式是符合PMI框架的。因此,在这方面,Notes数据库会根据业界在PMI框架规范方面的发展,给出权限查询和控制方面的接口。而应用数据的存储和权限控制信息是否会分离,将取决于相关技术的发展。
Domino/Notes还具备数据加密、签名、身份认证等方面的技术特性,这些特性目前在Web应用开发方面使用很少,今后将逐步被淡化,可以使用替代技术和第三方产品。
复制的功能,作为数据库系统的一个重要特性,在大型数据库软件如Oracle、DB2中都提供,在Domino/Notes系统中也将继续保持。
Lotus Domino/Notes Toolkits综述(一)
Lotus Domino/Notes Toolkits综述(二) C API
Lotus Domino/Notes Toolkits综述(三) C++ API
Lotus Domino/Notes Toolkits综述(四) Java
Lotus Domino/Notes Toolkits综述(五) LDDJ
Lotus Domino/Notes Toolkits综述(六) 其他
Lotus Domino/Notes Toolkits综述(七) 分析比较