APP下载

基于DSH的快速开发平台的构建及应用

2015-03-15谢海华

中国管理信息化 2015年13期
关键词:框架流程数据库

胡 佳,郭 静,田 斌,谢海华

(中航工业航空动力机械研究所,湖南 株洲 412002)

随着各个企业的快速发展,管理信息化的需求越来越多,若继续按照原有方式,基于不同的平台构建各业务系统,将无法应对后续业务需求的日益增多与不断变化,系统维护也将耗费更多的人力物力,另一方面各应用系统间的集成难度大且集成成本较高,这些都将导致企业对软件开发商的过分依赖,而且难以及时响应业务变革所产生的需求,企业的信息化建设将会处于非常被动的境地。因此,如何全面提升企业的管理信息化建设和维护水平,打破这种过度受制于开发商的局面,是摆在每个企业信息化发展道路上的一道难题。

纵观国内外的IT厂商,如国外的IBM、Oracle,国内的用友、金蝶等公司都是通过打造自己的核心开发平台来提升其核心竞争力的,同理,要破解企业这道难题就需要根据企业自身的业务特点构建一个快速开发平台,并基于此平台统一构建业务应用,及时响应业务需求。

1 设计思想

根据业务系统开发特点,将业务系统开发中所必须的基础功能抽取出来,统一在平台层进行定义,封装成通用基础模块,使开发人员只需要关注具体业务的实现,通用功能交由平台层处理。就像工厂利用模具加工一样,先将通用的基础部分利用模具批量生产通用构件,再将构件分别经过不同的组合和工艺加工形成多种形色各异的产品,以快速满足用户的不同需求。同理,基于已有的通用基础模块开发可以最大限度地进行代码复用,大大缩短开发、交付周期。

以此方式构建业务系统具有 “框架统一构建、平台基础一致,流程快速配置、用户体验一致、开发周期短、可集成性高、可扩展性强”等优势。

2 总体架构

基于 DSH (Dorado7+Spring+Hibernate) 框架我们构建了WIND开发平台,它是一套基于Web的、集成的、敏捷的开发框架(Web Integrated Nimble Development,简称 WIND 平台),目标旨在使业务开发变得快速、敏捷,并能灵活应对需求的变化。WIND平台基于Java语言以Dorado7为前台展现层,以Spring3为后台逻辑层[1],以 Hibernate 为数据层[2],支持 Oracle、SQL Server等多种关系型数据库。基于此,WIND平台设计并构建了统一的用户组织结构、主框架、权限管理、系统管理、BPM流程、报表管理、密级控制、安全审计、任务调度管理、数据库管理、异常处理、Web Service发布与调用、页面在线设计与开发等通用基础模块。WIND架构如图1所示:

图1 WIND平台基础架构图

3 平台功能设计

3.1 展现层

WIND平台展现层具有表格、树、下拉框、主菜单、按钮、子窗体等超过20大类100余种基本表现层组件,在业务系统开发过程中,开发人员还可以自定义新的控件。展现层具有风格统一、简洁、美观、人性化的Web操作界面。

3.2 主框架

WIND平台为满足各类业务系统的需求,设计并开发了6种不同结构的主框架页面,包括左侧导航框架、顶部导航框架等,也将主框架的首页设计为用户可以自定义Portlet布局和显示的内容,同时用户可任意切换皮肤。

3.3 BPM 流程管理

BPM流程管理主要设计了流程的可视化建模、快速开发配置以及流程监控等功能。还构建了可视化的流程设计工具,支持串行、并行、子流程等流程结构,开发人员通过拖拽方式来绘制流程图,如图2所示。

图2 流程在线设计器

BPM流程管理在设计中还着重考虑了以下几方面特点:

(1)流程节点具有丰富的属性配置项,通过属性配置界面便可以快速、灵活的对节点操作权限、节点参与者、节点处理方式、权限分配审批意见显示等进行配置,大大缩短了流程开发时间;

(2)根据业务需求设计并开发了退回、流程跳转、转办、转发、拿回、催办、读者管理等操作功能,并且所有的操作都与密级和工作移交数据进行结合控制;

(3)流程中所有的操作都会记录详细的文字跟踪和图形跟踪日志,用户可以很方便、清晰地查看流转过程;

(4)流程与文档控件紧密集成,能够在流程页面中在线打开和编辑Word、Excel等Office文档,并具有正文模板、切换红头、强制痕迹保留、手写签名、电子印章、打印控制等公文处理功能。

3.4 报表管理

WIND平台构建了报表管理模块,实现各类信息的统计分析,支持以柱状图、饼图、趋势、曲线、报表等多种形式展现,并支持复杂报表模板设计、动态生成PDF/Excel/RTF等格式的报表文件,报表文件可以在线浏览与打印,生成的数据可直接导出成PDF格式的文件。

3.5 导入导出管理

WIND平台中的表格和表单只需要经过简单的配置就可以导出为PDF或者Excel格式的文件。WIND平台还具有Excel数据导入功能,通过简单的模型定义,在不写一行代码的情况下,就可以将位于Excel中的数据导入到数据库中。

3.6 任务调度管理

WIND平台建立了可视化的任务管理界面,用于对定时任务进行新建、删除、启动、暂停、查看运行历史等操作。

3.7 WebService 服务管理

WIND平台设计并实现了高效而便捷的Web Service服务开发、部署、调用和日志记录功能,并严格遵循标准的W3C规范。

3.8 系统管理

系统管理功能主要包括用户组织结构管理、菜单管理、系统群组维护、数据字典配置等功能,灵活构建了用户和部门、岗位等功能,特别考虑了用户兼职、按顺序显示、部门领导等功能。

3.9 权限管理

WIND平台实现了灵活的权限管理功能,建立了以角色为中心的授权体系,一方面可以将资源授权给角色;另一方面角色成员可以通过用户、部门、群组来配置。对于角色中的某个成员在当前角色中的访问权限取决于当前成员在当前角色中配置的访问权限,若为允许则可以访问当前角色对应的资源,否则就不能访问当前角色对应的资源,以实现权限灵活的加减计算。

3.10 安全审计管理

WIND平台按照涉密信息系统安全保密要求,将系统管理的职责进行细化,分为3种类型:“系统管理员”“安全审计员”“安全管理员”,所有操作均记录操作日志,实行闭环相互控制机制,实现了“三员”管理,满足军工企业涉密信息系统分级保护测评有关要求。

3.11 多数据源

为解决应用系统访问多个数据源的需求,在WIND平台中设计并开发了多数据源配置功能,可以同时配置多个数据源,不同类型数据库之间的差异性是通过Hibernate来进行转换,开发人员不需要关心。

3.12 数据库事务管理

为方便开发人员操作数据库,WIND平台基于Hibernate统一对数据库事务进行管理,即统一由框架来管理数据库事务的开启、提交、回滚等。

3.13 数据库控制台

WIND平台在Web页面上构建了数据库控制台可以在网页中进行表结构信息的查看与维护,同时可以进行表数据的查看与维护,大大增加数据库维护人员及管理员的便利性。

3.14 在线设计与开发

WIND平台构建了表单在线设计与开发功能,一般不需要编写代码即可完成页面开发,页面可在线实时看到显示效果,所见即所得。

4 平台应用

目前已基于该平台快速构建了质量管理系统、项目管理系统、客户管理系统、知识管理系统、图书管理系统等信息系统,后续基于该平台不仅可以构建独立的业务系统,如OA等,还可以为企业构建综合性的管理支撑平台,如综合管控平台等。基于统一的平台构建业务应用,既可以快速提升企业的信息化水平和管理效率,也为将来业务的高度集成、共享奠定了良好的基础。

5 总结及展望

WIND平台主要适用于MIS类Web应用快速开发、复杂工作流构建,具有以下几方面的特色:

(1)WIND平台采用松耦合技术架构,模块之间相互没有依赖,使用时可以根据业务系统的需要,灵活选择要用到的功能模块,采用动态加载机制,只需要将所需功能模块的Jar文件放置到应用当中即可。

(2)WIND平台具有丰富的控件库,有较强的Web表现能力,并且几乎所有的交互都采用Ajax异步刷新技术,极大地提高了页面响应速度,良好的操作性大幅提升了用户体验,同时简洁、风格统一的界面使用户能获得体验的一致性。

(3)WIND平台流程功能强大,配置灵活。引入了开源的轻量级流程引擎,采用可视化的图形设计和配置界面,并开发了大量特色功能,如退回、跳转、转办、转发、拿回等功能,同时将通用功能封装为可配置的方式,能灵活配置流程节点属性。

(4)WIND平台集成性和可扩展性强。基于统一的关系型数据库进行业务系统开发,将大大提高各业务数据的集成程度,同时基于统一的W3C规范发布和调用WebService接口,极大地方便了与第三方系统进行集成。

(5)该平台的安全保密功能在行业内具有较强的通用性,在军工行业具有较好的推广价值。

随着平台应用的不断深入,后续将不断完善和扩展平台核心功能,逐渐打造一个功能完备、性能表现优异、可用性灵活的企业级开发平台。

[1] 陈雄华.Spring3.x 企业应用开发实战[M].北京:电子工业出版社,2012.

[2] 孙卫琴.精通 Hibernate-Java 对象持久化技术详解[M].北京:电子工业出版社,2009.

猜你喜欢

框架流程数据库
框架
吃水果有套“清洗流程”
广义框架的不相交性
违反流程 致命误判
WTO框架下
数据库
本刊审稿流程
析OGSA-DAI工作流程
数据库
数据库