基于数据库技术实现信息系统的可扩展性
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
·光盘数据库与信息系统·
基于数据库技术实现信息系统的可扩展性
范敏,王美廷
(绵阳师范学院,四川绵阳621000)
摘要:分析软件系统量身定做的弊端,提出采用元数据、XML和数据库等技术实现信息系统可拓展性的思想,详细阐述通过数据库设计实现信息系统可扩展性的方法,最后指出实现系统要注意的一些问题。
关键词:信息系统;可扩展性;数据库;元数据;体系结构
中图分类号:TP311.13文献标识码:A
Database-based Technology to Achieve High System Scalability
FAN Min,WANG Mei-ting
(Mianyang Normal University,Mianyang,Sichuan Mianyang621000)
Key words:information system;scalability;database;metadata;architecture
网站具有良好的人机交互方式和用户几乎不需要什么专业知识就可以操作的特点,是人们熟悉和乐于使用的计算机系统,在人们的业余生活和工作中扮演着重要的角色。网站系统采用B/S软件体系结构,开发简单、方便,易于维护,是当前信息管理系统主要采用的编程模式。经过长期的发展,网站系统开发技术已经非常成熟,借助于现有的各种开发工具和平台,可以轻松、快速地开发出各种应用系统。但是,在软件系统开发中,一般的开发人员和企业往往都是按照软件当时使用的要求量身定做地开发系统,这样的软件系统虽然可以满足基本的项目需求,但是今后的可拓展性很差,一旦有了新的要求,简单的需要修改小部分模块,复杂的就需要修改大部分模块甚至重新开发系统。在原来系统基础上作简单的修修补补的工作,不仅不能很好满足新的需要,还会浪费大量人力、物力。在开发信息管理系统上,一些大型的、成熟的软件公司开发的软件系统虽然质量好,适应性强,但是往往价格很高,一般的小型企业难以承受。因此,如何建设低成本、适应性强的网站系统这个问题有很高的研究价值。
1软件系统的可扩展性
软件系统的设计需求包括:经济性、可行性、可扩展性、可移植性、健壮性、安全性、可靠性和稳定性等多方面。一旦系统开发完毕,其适应性往往取决于系统的可扩展性和可移植性。系统的可移植性与运行的操作系统和系统开发工具有关,而可扩展性则与系统的设计思想有关。一个好的设计思想可以使系统具有很好的伸缩性和二次开发潜力。这样,从长远来看,具有良好可扩展性的软件系统比量身定做的软件系统运行成本和后期维护成本更低。
软件系统的可扩展性是指系统具有很大灵活性,系统功能模块化是信息管理系统的重要特点,类似于搭积木,可以根据需要通过系统提供的功能配置模块增删组件或者简单地配置,而不需要对软件系统本身做任何程序上的修改就可以达到目的[1]。这样的软件系统不仅能适用于同一个企业的不同时期的需要,也能适用于同类企业的需要,即系统适合作为行业软件。软件系统的可扩展性可以通过中间件和良好的数据库设计实现。一般来说,良好的中间件的设计以实现模块升级的代价比较高,而良好的数据库设计代价则相对较低。
OA(Office Automation,办公自动化)系统是一种典型的信息管理系统,目前大部分采用的都是基于B/S软件体系结构的网站系统。信息系统一般是一个三层体系结构,在数据层中往往基于关系型数据库,以数据管理为核心,在业务层围绕业务逻辑对数据进行加工、处理,最后将数据存入数据库或者在表示层中显示给用户[2]。从信息系统可扩展性要求来看,可以通过采用元数据技术、XML技术和数据库技术等来实现,而这些技术最终都将反映到合理的数据库设计上。因此,在做好最充分的需求调研后,精心设计数据库将是实现信息管理系统的可扩展性的关键。这样的系统一旦需要变化,具有相关权限的用户进行简单的配置或者简单的操作就可以几乎无成本地实现新的功能。
2可扩展性信息系统设计
2.1系统结构
以下以一个企业OA系统为例说明如何设计一个可扩展性网站系统。该系统主要目标是实现企业内各个部门的公文流转管理,并具有很好的随着企业行政机构而调整的可扩展性。从实用角度考虑,可以设计如图1的软件体系结构。
该系统主要包括以下几个部分:登录子系统、公文处理子系统、用户权限管理子系统等。登录子系统按照用户所属的部门、业务范围进行分组登录;公文处理子系统实现公文从起草、审核、签发到发布的发文处理流程和实现公文从收文、批示到传阅的收文处理流程;用户权限管理子系统实现用户角色的指定和基于角色的用户权限再分配;用户管理子系统实现用户基本信息管理和用户分组管理;系统管理子系统实现对系统初始化、基本配置、最高权限用户指定和系统恢复等;元数据管理子系统实现对元数据的定义和维护;企业管理子系统根据企业实际管理或者行政机构合并、拆分、新增部门等的需要实现网上企业的同步变化和指定、调整负责人的用户权限;安全管理子系统从系统日志提取安全信息,并按照预警模式产生安全审计信息或者报警[3]。
大体上看,该系统的功能和子系统的设计与传统方法基本相似,但由于充分考虑了系统的可扩展性要求,最终系统的适应性将更强。可扩展性主要体现在系统实现的就像一个现实中的企业的一个虚拟映射,可以按照实际行政部门的设置来灵活修改虚拟企业的各种属性。
2.2可扩展性设计
以下通过部门表、部门关联表、兼职表、表间关联和元数据库等方面的设计来实现系统的可扩展性。
(1)建立用户名和数据库表命名规则。由于用户工作可能在企业内跨部门或者岗位调动,因此最好使用用户在整个企业内能唯一标志该用户的工作号作为登录系统的用户名。为了实现搭积木式地改变企业规模,必须使各个部门的数据具有比较大的独立性,为各部门设置相应的数据库表。为方便查找库表,与部门相关的数据库表名包括部门编号、下划线“_”和表内容的属性描述三部分。用户登录系统时,登录模块通过用户提交的用户名和主要部门编号就可以准确地定位验证信息所在的数据库表,从而完成身份验证。
(2)元数据库设计。元数据是数据的数据,用于对象数据的归档和搜索[4]。元数据库表包括部门名称、部门级别、部门业务类型、用户角色类型、行政职务类型、技术职务类型等公共属性的数据表。每个表至少含有元数据名称和含义两个(下转第55页)
16