浅议动态企业信息管理系统的开发
摘要:动态信息管理系统是企业提升核心竞争力的平台,开发动态信息管理系统,需要采用新思路和新方法。基于分层业务组件的动态组件依赖关系方法,是从体系结构角度,在整个开发周期以构建动态系统为目标,在开发阶段以动态组件的依赖关系为主脉展开,形成动态组件依赖关系的分析、设计方法,从而为开发高稳定性和高可靠性的企业动态信息管理系统提供了一种可选方法。
关键词:动态企业信息管理系统 分层业务组件 体系结构 动态组件依赖关系
随着市场竞争的日益激烈,企业需要能够提供持续、不间断的业务处理和客户服务,同时企业的业务与服务还要拓展和升级,这就要求现代企业的信息管理系统是一种动态信息管理系统,拥有动态信息管理系统的企业就拥有了强大的竞争力和可持续发展的动能。开发高可靠、高稳定、低成本的动态信息管理系统,就显得尤为必要。
动态信息管理系统
(一)动态信息管理系统概述
动态信息管理系统就是能在信息管理系统运行时,进行该系统业务功能的扩展和升级。在对动态信息管理系统进行某项业务功能的扩展和升级时,一方面动态信息管理系统中的其它业务功能不会受到影响或影响很小,影响越小动态信息管理系统的稳定性、可靠性越高。另一方面扩展和升级的业务功能也能在短时间内以较小的资源开销实现,扩展和升级后的动态信息管理系统能稳定、可靠运行。软件系统是信息管理系统的核心,以下的分析若无特别说明,信息管理系统均指其信息管理系统中的软件系统。
(二)动态信息管理系统的作用
无需停止信息管理系统来实现扩展和升级。如果是对动态信息管理系统的业务功能扩展和升级,不会停止信息管理系统运行,除非是动态信息管理系统的核心部分。
能持续、不间断提供业务处理和客户服务。对动态信息管理系统在运行状态下,进行某项业务功能的扩展和升级时,扩展和升级的业务功能也能在短时间内,以较小的资源开销实现,而其它业务功能不会受到影响或影响很小。
更加适应面向电子商务时代。在电子商务时代,动态信息管理系统应当支持Internet上的信息获取及网上业务交易的实现,使Internet网上业务处理能连续实现,企业因此而扩大业务,随时在线为客户服务。
(三)动态信息管理系统的特点
动态性。动态性是动态信息管理系统的根本特征,它反映了信息管理系统无需停止运行,在静态状态下通过插入、更新组件,来实现信息管理系统的扩展和升级。
组件化。动态信息管理系统的动态特征和组件的二进制热拔插的特点,决定了构建信息管理系统时,需采用组件技术和组件方法,以组件形式来实现,在信息管理系统运行时,插入、更新组件。
以高度体系结构为中心。一方面组件方法是以高度体系结构为中心;另一方面动态信息管理系统要能在信息管理系统运行时,插入、更新组件,关键在于信息管理系统运行时,动态组件的依赖关系,这需要用体系结构思想来构建动态组件的依赖关系。
动态信息管理系统开发方法
(一)组件技术及方法
组件是一种合成单元,具有以契约形式描述的接口,并只有明确的环境依赖关系,可以独立发布、部署,可由第三方合成。它具有如下特点:服务的独立交付。组件本身是为搭建一个应用程序平台的功能部分,组件之间是相互合作的关系。组件服务的独立交付是指一个组件是上下文无关的,组件之间没有嵌入式的相关性存在。
可复用的服务提供。组件是用规格说明描述的接口提供服务。对于组件的实现不拘于某种语言,相同规格的组件可以替换。组件的部署使得组件实现跨平台的可复用的服务。
(二)关于动态组件依赖关系的方法
寻求动态组件的依赖关系整理的方法,要根据动态组件的依赖关系整理的目的,对组件方法需进一步的具体化。分层业务组件方法就是对应用系统从需求分析、系统分析、系统设计一直到系统运行整个开发周期,按应用业务分解为若干业务组件,业务组件又可以分解成粒度更小的组件,在管理上划分为系统级和业务组件级,系统级负责整个应用系统的公共类组件、连接类组件、共用类组件的管理,业务组件级负责该组件内的协调、管理。在分析阶段、设计阶段,将依赖关系的分解最小化,即将动态组件的依赖关系分解一直到包含依赖关系中的元素的最小组件。形成系统级和业务组件级的动态组件的依赖关系表,为动态组件的依赖关系在系统级和业务组件级上的管理提供支撑。
(三)动态组件的依赖关系
动态组件的依赖关系:组件在运行状态下,组件全部功能均能正常起作用,所必需的组件支撑关系。研究组件的依赖关系,首先要将这种依赖关系以显性方式表现。用模型表达,A组件输出W,B组件依赖于A组件的输出W。W可以是一组数据、一个方法、一个重用、一个标记说明等。A组件的动态更新时,则由于它对B组件运行有支撑作,在此期间B组件运行将会被阻止,A组件的更新完成后,B组件才能运行,A组件的升级增加了功能,会给B组件升级奠定基础,B组件升级,需要有相应版本号的A组件,A组件与B组件的依赖关系,决定了A组件与B组件升级的一致性,这需要对组件版本号进行管理。输入A-B模型表达了组件的直接依赖关系,将组件的直接依赖关系用表格反映。
(四)依赖关系分类
时空分类:将开发周期的分析阶段、设计阶段、运行阶段等划分为分析空间、设计空间、运行空间等。在同一空间内的组件的依赖称为组件的空间依赖。不同空间的组件的依赖称为组件的时间依赖。从时空角度划分组件的依赖分为两种类型:空间依赖、时间依赖。从输入X角度划分组件的依赖关系分为:数据依赖关系、方法依赖关系、重用依赖关系、标记说明依赖关系。将在运行空间中组件的依赖关系称为动态组件的依赖关系(以下文中组件的依赖关系均指动态组件的依赖关系),将在分析空间、设计空间中组件的依赖关系称为静态组件的依赖关系。在此研究的是围绕组件的动态更新,在分析阶段、设计阶段针对动态组件的依赖关系,展开分析、设计、整理和管理,在运行阶段具有动态依赖关系的组件,其动态更新过程、方法、原理及管理的研究。
动态组件依赖关系的整理
在组件应用系统中的组件依赖关系首先要进行整理,以便高效、快捷地实施组件依赖关系管理,实现动态组件变更。依赖关系遵循三个原则:
禁止循环依赖。若存在循环依赖,动态组件变更将无法实现。动态组件变更的过程控制原理,在输入A-B模型中,若要对A组件进行动态升级,按进程管理中的信号量管理方法对A组件与B组件实现并发控制, B组件不能处于执行状态时,A组件的动态升级执行时,B组件的执行要求将被阻止,直到A组件的动态升级执行完成。按动态依赖组件变更的过程控制原理,A组件与B组件循环依赖将可能形成死锁。例如,若A组件与B组件相互直接依赖,对A组件和B组件同时进行动态升级,按输入A-B模型,A组件的动态升级需要B组件动态升级的支撑,B组件的动态升级需要A组件动态升级的支撑,那么A组件与B组件的