liujiusheng / blog

个人博客,blog
19 stars 0 forks source link

从插件化程序设计到政务信息化项目建设模式(超大系统融合)的思考 #189

Open liujiusheng opened 3 years ago

liujiusheng commented 3 years ago

SPA应用的广泛应用,应用架构越来越趋向于复杂,不论是维护还是发布以及管控成本都随着业务体量的增长而逐渐不可控。良好的插件化设计是解决此类问题的根本。

插件化又名微内核,与微服务的思想很像。本质上属于超大型系统融合和集成的问题。

微内核的思想特别适合政务项目,开发单位想产品化地设计来提高利润率,但迫于甲方的需求和压力又不得不定制化,最终的成果一部分来自于产品化,一部分来自于定制化。

各地的统一在线政务服务平台即是一个极好的应用场景,统一政务服务平台需要融合多个职能部门的职能数据,各职能部门的业务系统又由不同运维厂商运维,技术架构不同,老旧程度也不同,人员层次益不同。

image

插件化开发模式如何应用于统一政务服务平台?

由政府统一建设平台,管理用户体系及访问各系统的大权限。

提供大量开放API供其它平台对接,包括接口是做什么,需要传入数据,将产生数据,下一步将执行何种操作。

制定统一的界面样式规范,所有开发单位都要以此规范进行开发。不要有过多的功能设计,大道致简,以最通用的组件进行开发最合适。

后端要提供功能强大,内容丰富的接口,前端框架层面同样要提供此类接口。

前端界面如何实现集成?

如何定义系统融合的边界?

公安局的视频监控系统就太专业化了,而且不对公提供服务,不需要纳入融合的范围。

如果插件接进来的时候需要一张数据库表怎么办?

数据库不由统一平台存储,数据还是存放于各委办局的业务系统中,平台只存放必要的关键数据。若有其它需要可通过其它平台抽取和汇聚各委办局的数据。

几种插件使用的不同数据库怎么办?

由于数据库分别存放于各委办局,且系统之间的交互通过统一的接口进行,平台不用担心不同插件使用不同数据库的问题。

平台技术升级怎么解决,如要替换VUE框架为3.0的框架?

从Jquery体系跳转到VUE体系,或者从VUE体系跳转到Angular体系等。

流程性的问题如何解决,比如需要多部门审批,需要分步上传材料的业务?

跨网问题如何解决?

由各单位自己解决,允许跨网的就跨网,不允许跨网的就不跨网,跨网可以采取网闸,防火墙等多种形式。

如今都倾向于建系统,没考虑用系统的问题

由于种种原因,如今都热衷于建设新系统,然而已有的老系统还是不好用。本质上,目前各委办局该建设的业务系统都已经建设完成,政府理应加强系统运维工作和系统升级改造工作。部分单位将通过新建统一大系统取代原有老系统的方式实现升级改造,部分单位将利旧在原有基础上进行升级改造(由于时间久远,技术老旧和开发单位技术人员更替等问题,此种模式在技术上通常不易推行)。

各信息化项目管理单位应将重点放到运维中来,即建设费用减少,运维费用增加,让运维单位长期服务于管理单位,保证项目能持续迭代,持续运维,逐年发挥效益。

系统分布于多个委办局了如何保障系统可靠性和稳定性

多系统联合测试很困难,出了问题很难追溯,平台要对系统的运维保障能力评分,要为系统出错量进行统计,相应地,要建立企业服务能力评分表,服务能力低下的企业不允许再参与项目建设。避免单一企业接业务过多造成人员跟不上等问题。

微信小程序本质上也属于插件化开发,即提供了微信这个大平台,每个小程序都是一个小插件。