APP下载

三明市道路工程项目管理系统的设计研究

2023-06-10占斌

电脑知识与技术 2023年12期

占斌

关键词:SOA;ESB;道路工程

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2023)12-0103-02

随着国家经济的稳步发展,三明市加快关键公路网的建设能够促进区域经济发展。为了更加规范管理一般交通设施工程的建设过程中涉及的基础设施和工程项目,必须建立针对道路工程工作内容涵盖全面、能在道路建设中发挥作用的信息系统,以满足相关人员对工程前期信息管理和查询的需求。本系统通过对软硬件、处理方式等逐步解析,需要实现项目管理、统计报表、工程进展综合统计、项目工程管理、综合查询等功能,如图1所示。

1 系统总体架构

系统采用SOA构建信息平台,SOA架构让信息化系统具备更强的延展性,能针对企业业务需求作出灵活响应,解决“如何重用软件功能”问题。SOA[1-2]具有以下特征为软件功能重用提供了解决办法:

1) 在不涉及底层和信息通信模型的基础上,使用简单、明确的接口实现各服务间数据交互。

2) 粗粒度性:对业务功能进行预先设定,使该接口具有让用户和接口层间仅需一次操作,无须屡次往返的优点。

3) 松耦合性:SOA结构中不同接口间要维持松耦合联系,既维持互相孤立又没有依附的关系。

4) 位置透明性:引用者能够使用SOA架构为其提供的不同位置的一切接口,即应用者只要明确想调用的服务,而不要明确被调用服务的具体物理地点。

5) 协议无关性:使用不同的协议来调用系统对外提供的服务,即服务调用不因协议不同而受影响。早期大多数的信息化系统在内部使用硬连接,該方式无法迅速适应新技术的更新变化。对于SOA来说,其能够对企业的旧有资源进行合理利用,大大降低了运营成本,使资源利用率得到有效提升,可以针对业务流程灵活定制服务,使用服务来改善客户服务,而不考虑底层IT基础架构的复杂性;可以迅速创建新的业务流程和复杂的应用程序,以适应市场变化;所以设计本着为解决软件复用,并让系统变得更有弹性,以便更灵活、更快地响应不断改变的企业业务需求。文章利用JAVA语言开发,采用B/S模式,基于SOA架构,应用ESB技术开发这个项目,通过建立基础项目,建设管理数据库,将网络技术、信息技术引入项目建设管理流程中,加强改进各管理者与决策者之间信息传输、沟通的方式,实现项目资源信息分享。

系统可以分为四层:应用层为前台主要实现模块,包括项目前期管理、项目工程管理、工程进行统计和建设市场管理等功能模块。基础服务层指的是系统自有的服务,它是由ETL、权限管理、规则引擎和日志等功能服务组成的。数据服务层提供系统数据应用服务,主要是对工程项目前期数据进行利用。IT支持服务层提供基础部署支撑系统的基础服务。

如图2所示,文章基于SOA架构,应用ESB技术设计方式,完美地将各种服务有效地结合起来,为应用层提供有效的服务支撑。

2 系统数据库设计

数据字典对系统中的相关信息进行了定义,在此基础上采用数据仓库技术结合ORCAL商务智能和报表服务功能对本系统使用的数据库进行设计[3]。本系统的数据库设计主要考虑以下内容:1) 提高系统基本数据记录操作(增、删、改、查等)的执行效率。2) 要使数据库具备高可靠性,即为降低数据存储不一致和存储错误带来的风险,必须保证在数据存储时准确无误,且存储数据完整。3) 需要具备清晰和简洁的结构,同时能够适应后期信息化技术更新要求。4) 能够满足信息化系统的业务需求。

3 数据交互模块设计

ESB[4](Enterprise Service Bus) ,即企业服务总线是在旧有中间件基础上结合XML、Web服务等现有技术而产生的,推动了早期的软件结构的改进,提供的解决措施也比旧有中间件技术更加节省成本;不受技术限制解决了不同技术业务应用间的技术壁垒;也不受服务器厂商的限制实现了不同品牌服务器间共同运转;实现了不同业务服务间信息交互与融合。同时在功能方面,ESB采用分布式的运行处理方式和事件驱动及基于文档的管理模式,支持建立在内容上的筛选和路由;同时具有对庞杂数据的传递能力,并对外提供众多规范接口。

在本系统中企业服务总线(ESB) 的功能结构为:

1) 企业服务总线(ESB) 提供开放且规范的信息传输方式,该方式使用基于规范的通用接口和适配器,来实现系统中自带的复杂服务和不同业务应用服务组件间的关联互动,实现公司不同环境的应用集成需求。

2) 实现在不更改当前运行环境底层架构的前提下,使不同业务应用技术间互相联系。随着ESB技术推广,在最小的代码变更前提下,用紧密的且非占用式的方法让公司已经拥有的业务应用系统应用最新服务接口,同时在应用系统部署环境上支持现行所有标准。

3) ESB在不同应用服务间进行业务条件转换和数据类型转换中担任缓冲器的角色,并与服务条件互相区分,使差异的业务应用能够一同调用相同接口,不用在应用或业务数据出现改变时进行服务代码变更。

4 基础服务模块设计

系统对数据交互模块进行规划设计后,对基础服务模块进行规划设计。这样做的好处就是可以在项目后期降低技术研发与项目运行维护的工作量。系统的基础服务包括:权限管理服务、ETL服务、规则引擎服务和日志服务等,这里仅对权限管理服务、ETL 服务设计和规则引擎服务设计进行分析。

1) 权限管理服务设计

对使用者能否访问某个资产进行管理赋权。软件权限约束使用的是指传统的权限约束,通过统一的权限管理服务使得使用者、角色、权限有机结合,使权限管理更加规范,解决传统权限管理设置复杂、工作量大的问题。

2) ETL[5]服务设计

由于系统中数据分散在各处,在进行数据解析时需要对散落在各处的数据进行抓取转换,才能进行数据分析处理,而ETL技术恰恰能够完美实现以上功能。ETL是通过整理分散在系统各地且不易利用的数据,使其变成具备清晰规则且易于利用的集的数据。系统还基于报表解析软件、数据分析软件和多维解析软件等进行更加深层次的数据解析利用。

3) 规则引擎服务设计

为了实现项目的可持续性扩展和流程管理的自动化,使使用者在无须研发工程师介入的情况下能直接利用业务应用软件中的规定,文章引入规则引擎进行项目设计。

规则引擎指的是将组件直接嵌入软件系统程序中,它将业务上的决定从软件系统代码中剥离,同时利用事先规定的定义规范对业务上决定进行编码。接收输入的业务应用数据对业务应用规范进行解释,同时依据业务应用规范给出业务上决定。应用规则引擎可以采用缩减实现业务条件控件复杂程度来降低业务系统程序的拓展性和运维成本,提升复杂代码的可维护性,处理业务逻辑集成问题。

5 应用服务模块设计

在对系统基础服务模块进行规划设计后,对应用服务模块进行了规划设计,文章可以在项目后期降低技术研发与项目运行维护的工作量。系统中的应用服务模块有基础数据模块和特殊数据模块两种。系统的基础数据模块主要维护简单业务信息,如用户基本信息、配置权限信息、组织结构信息、配置流程信息等信息。这些业务信息绝大部分是对单业务表的增、删、修、查操作。特殊数据模块是基于基础数据模块上进行设计的,是由一些基础数据模块中的简单业务信息功能拼接而成的。组合后的业务是采用同步或异步的方式对多业务表进行操作。

6 档案管理模块设计

在工程前期的档案管理模块设计中主要使用是管理功能。首先,需要定义该功能模块包含哪些内容,要实现该部分功能需要如何进行划分。因此采用绘制管理功能层次结构图的方式进行功能界定,用该方法可以清晰地展示各功能类直接的关系,细致到划分的包、类、方法和返回值。同时采用表格的方式对各模块设计服务进行设计。其次,对页面上的字段进行输入输出设计,输入/输出信息是使用者直接在界面上输入数据,输入/输出的操作需符合使用者操作习惯,方便使用者操作,使目标系统易于为使用者所接受。为使用者提供易读易懂的信息形态,能够为使用者建立创造的工作环境。

进行输入/输出设计时需要按照以下基本要求执行:1) 检验输入数据信息,确保输入数据是合法、有效的;2) 输入数据时,可以预先提供缺省值,也可以使用任何格式;3) 确保是简单输入操作,并保证输入格式简洁;4) 要合理组合多个输入项,并显示输入状态信息;5) 在用互相流出/传入方式时,界面上必须有数据选择项的种类和取值区间以及数据输入的提醒信息。在流入数据的期间及结束流入时,也要在界面上明确提示状态信息;6) 给所有的输出加注解,并设计输出报表格式;7) 所有道路根据国家规范命名。

7 结束语

该系统可以满足公路分局、项目中心、三明市公路局三方通过管理信息系统平台进行及时的业务沟通和道路项目管理的功能。设计实现系统功能架构和总体架构,特点是在数据交互模块上进行详细的分析设计。在数据交互模块分析设计过程中使用ESB 技术使其与SOA架构更有效地贴合,简化了系统数据交互的开发。通过对基础服务模块的设计除了实现灵活提供服务的功能外,也具备了较强的可扩展性。该系统研究并实现了一个简单的工作流引擎,该引擎能完成系统中诸如市局批复变更流程等基础的工作流程功能,同时在设计上预留了扩展接口,提高了軟件的可扩展性,规划集成底层数据级权限约束功能并对软件权限约束进行建设,弱化了权限管理模块与数据之间的关联,提高了软件的可扩展性。该系统通过对应用服务模块和基础服务模块的区分,导致数据、操作与业务三者分离,降低了各模块间的关联度。