关于公共服务组件系统的设计

(整期优先)网络出版时间:2024-07-05
/ 3

关于公共服务组件系统的设计

干萌

安徽省大数据中心,安徽合肥市,230051

摘要:随着政务信息化项目正在推进,大量同质性服务出现,部门间存在信息壁垒,重复建设、多头建设问题依然存在。公共服务组件系统是面向全省省级单位组件提供者、组件使用者的管理平台,具有统一纳管所有服务,统一部署、统一计量、弹性伸缩,对外提供统一服务接口等组件服务,实现共享组件服务化、组件部署运维自动化、业务开发微服务化。公共组件系统主要功能由省级建设,省级使用,市级按需开展建设和部署。同时,通过确定一系列标准规范,为用户提供高质量、规范化服务,促进信息化项目建设提质增效。

关键词:公共服务组件;标准化;集约化建设

1公共服务组件系统介绍

公共组件管理系统是面向全省组件提供者、组件使用者的管理平台,为组件提供者提供从“接入、管理、监控、支撑、安全”等五个维度进行全流程管理,为组件使用者提供标准化、规范化的公共组件服务[1,2]。统一纳管所有服务,统一部署、统一计量、弹性伸缩,对外提供统一服务接口等组件服务;接入安全、测试认证、监控运维平台实现组件的接入安全、应用安全、数据安全、管理安全、服务安全,确保组件满足国家及行业相关标准要求;实现共享组件服务化、组件部署运维自动化、业务开发微服务化[3]

目前存在的问题

全省政务信息化项目建设已初见成效,但系统相对分散,项目统筹规划不足,政府内部运行横向协同、纵向联动的机制待健全,政企联动、多元参与推动数字化发展的机制有待完善。盲目建设、重复建设、多头建设的问题依然存在,造成重复建设的功能组件、平台组件越来越多。全省统一的数字支撑平台尚未建设,难以实现各领域数字资源的统一管理、共享复用和集约化建设,缺少推动数字化应用高质量发展和治理体系治理能力现代化的有效抓手,导致有限的信息化建设资金难以发挥规模效应,信息孤岛和数据烟囱问题仍然没有彻底解决,财政资金投入产出比不高[4,5]

面对发挥数字技术和数字资源赋能作用,数据反哺业务的需求,数据资源管理部门需要支撑省级业务部门和各市的信息化建设,需充分利用数字技术、数字资源为业务部门赋能。在信息化项目建设前,需要根据抽象需求抽取可复用的应用、组件、数据等进行匹配避免重复建设。在信息化建设过程中需要利用业界先进的数字技术保障建设,如借鉴DevOps、低代码等开发理念,最大限度精简和解放业务部门技术应用环节与流程。在信息化建设过程后需要对项目产生的数字资源进行抽象归集,以信息化项目产生的应用、组件、数据等资源,赋能其他信息化项目建设。

面对信息化发展纵横联动的需求,数据资源管理部门需要统筹支撑本地信息化发展,实现本地各横向部门之间标准规范统一、能力共建共享、业务有机联动,并理顺各层级之间共享协同机制,实现各垂直建设系统与本地应用的多跨协同和数据共享,支撑区域内各项业务发展。在集约支撑本地化发展同时兼顾纵向业务建设需求,与垂直部门标准规范、资源能力对接统一,有力支撑纵向业务建设。通过纵横有效联动,达到兼顾条线、协同发展的目标。

基于现状,我们设计开发了一套公共服务组件系统,发挥数字技术和数字资源赋能作用,满足数据反哺业务的需求,以标准化、组件化、规范化的方式,提供统一身份认证、音视频通信、语音识别、语音转写、文字识别等通用支撑能力,构建开放的组件生态体系,通过集约化方式,提高组件复用率,节约信息化建设成本。

公共服务组件系统概述

公共组件管理系统主要包括组件目录子系统、组件市场子系统、组件共享开放子系统、组件调试开发平台和组件跨网关服务子系统。

其中,组件目录子系统提供统一目录管理,从业务领域和功能领域对组件类型进行区分,实现对组件的层级管理。

组件市场子系统是组件服务的入口,与数据资源门户进行整合,统一对外提供服务。

组件共享开放子系统是组件服务的全生命周期管理,面向组件提供者围绕组件提供从“接入、管理、监控、支撑、安全”等五个维度进行全流程管理,包括统一接入上云、统一安全认证、统一运行管理、统一监控运维、统一计量等。

组件调试开发子系统主要面向全省一体化数据基础平台的开发者提供统一界面调试环境,为开发者提供的用于组件接口在线调试开发平台。为更好地了解每个组件的接口,提供平行开发环境用于在线接口调试。开发者可以通过在线调用的方式来使用服务,是除了控制台外,主要的服务形式之一,使用组件调试开发平台具有规模化、自动化、定制化的优势,提供多种编程语言的SDK调试及平行环境调用,支持在线诊断等功能。

组件跨网关服务子系统为开发者提供了生成Java、Go、Python、C++等四种主流开发语言的SDK,开发者无需关注API网关具体地实现逻辑。组件接口调用方法复杂多样、接口版本管理难度大等问题,为不同风格的接口生成多语言的SDK,以及严格规范的版本管理,有效解决组件网关和接口的易用性、可扩展性和兼容性问题,为开发者提供统一服务接口,为地创新多地复用提供技术支撑。

系统总体架构设计

在标准化、规范化基础上,公共服务组件系统组成如下图所示:

C:\Users\hfyan\AppData\Roaming\IFLY\localfiles\media\432ac0488659209781d4aacfc8a0ac2f.png

图 1 公共组件系统组成图

组件共享开放子系统包含组件发布管理、组件部署管理、组件配额管理、组件套餐管理子模块相互配合完成对组件全生命周期的管理,实现充分利用信息化、智能化技术手段,建设组件共享开放子系统。

组件开发调试子系统主要包括首页、API中心、SDK中心、API调试中心四个模块组成,基于省级平行环境在开发调试场景下提供在线调试平台和命令行调试工具

组件跨网关服务子系统主要包括SDK生成引擎和版本校验两个核心功能。

系统功能设计

5.1  组件目录子系统设计

当前,全省各部门项目建设相互独立,组件建设和使用缺乏规范。组件目录子系统是解决组件建设和使用缺乏统一规范等问题,通过建设组件目录功能,实现全省组件的清晰可查,并沉淀为数字资产。组件目录子系统主要包括组件目录新增、修改、删除、发布、下架等内容。

5.2  组件市场子系统设计

组件市场子系统是组件对外展示的入口,用户可以查看全省一体化数据基础平台的所有组件,以及各个组件对应的详情。此外,系统也提供了组件图谱,用来帮助用户理解各个组件之间的关联关系。组件市场子系统主要包括组件详情、组件评价、组件使用申请、组件图谱等内容。

5.3  组件共享开放子系统

针对当前省内组件类型种类复杂且标准不一致、组件安全可靠性无保障、组件计量类型多样化等问题,建设组件共享开放子系统,面向组件提供者围绕组件提供从“接入、管理、监控、支撑、安全”等五个维度进行全流程管控,包括开放式的接入服务、全面的托管管理、统一的接入技术规范,个性化的计量设置等。组件共享开放子系统主要包括组件部署管理、组件发布管理、组件申请管理、组件配额管理、组件套餐管理等核心模块。

图2 组件共享开放子系统流程图

组件提供者在组件接入准备时,根据平台相关管理规范以及自身业务需要判断是否要进行托管以及是否收费,平台针对不同接入类型的组件要求规范以及接入流程均不一致。

针对非托管型组件且收费类组件,需要根据平台接入的标准规范进行创建实例、更新实例、删除实例等收费服务相关接口改造,改造完成接入API网关后,完善组件接入基本信息,并上传调用Demo,平台会调用平行环境的安全认证、测试认证服务进行相关审核,审核通过还需通过功能测试报告、性能测试报告等一系列技术审核,审核完成后则可只需完成相关的套餐设置,即可发布上架。

针对非托管型组件且免费类组件,组件提供者只需按照平台相关规范完成组件接入信息的完善,组件套餐以及配额的一系列配置,经由相关审核之后即可发布上架。

针对托管型组件,组件提供者需要在平行环境完成制品上传,目前平台提供自动部署能力支撑,支持WAR包、JAR包、容器等部署模式。制品上传后需要上传架构信息并完成组件托管配置,并经由架构审核、托管审核,审核通过即可完成组件托管。托管完成后同样需要完善组件接入基本信息,并上传调用Demo,平台会调用平行环境的安全认证、测试认证服务进行相关审核,审核通过还需通过功能测试报告、性能测试报告等一系列技术审核,审核通过的组件完成相关套餐、配额配置后即可上架,同时只有通过该系统安全及测试认证的组件才会自动部署在生产环境,在生产环境部署的组件在整个生产运行过程中,平台会进行全程的日志、性能以及安全监控已确保组件的安全稳定运行。

上架后的组件会发布在统一资源门户组件市场,各委办厅局在门户可以浏览组件市场,查看所需组件详情,并通过组件体验确保需求的吻合性,通过一站式申请发起组件使用申请,经由一系列审核后获取交付的组件并进行应用开发集成,最终在实际生产过程中实现组件的调用。

上架后的组件,为了保证组件的安全性,降低调用方的使用风险,平台支持对运行的组件进行实时安全检测服务,一旦发现安全风险会进行预警提示,对于发现的新型漏洞支持在不影响已调用组件服务的情况对组件进行下架,组件在完成漏洞修复后可再次上架。针对非托管的组件,在上架时同样需要对组件及其接口进行相关安全测试认证,确保上架组件的安全性,上架后,可以通过申请平台的安全服务能力进行实时监测。

同时组件提供者可通过平台对组件进行更新、下架、暂停、删除等一系列管理动作。

5.4  组件调试开发子系统

组件调试开发子系统主要面向全省一体化数据基础平台的开发者,为友好调用平台上的组件,提供的用于组件接口调试开发平台。为更好地了解每个组件的接口,提供平行开发环境用于在线接口调试。开发者可以通过在线调用的方式来使用全省一体化数据基础平台组件提供的服务,相比于控制台,使用组件调试开发子系统具有规模化、自动化、定制化的优势,是将业务和云服务集成的调试平台。

组件调试开发子系统为开发者提供多种编程语言(Java、Go、Python、C++等)的 SDK来简化组件的使用过程。

同时提供平行环境可对已申请的组件进行API调试试用,通过智能搜索、自动化接口调用、在线诊断等功能为开发者提供一个便利、高效、易操作的组件调试开发系统。

5.5  跨网关服务子系统

组件在对外提供服务时存在以下问题:

(1)接口版本管理难度大:云服务API直接面向用户,由于调用量大,变更影响的用户范围也更大,组件版本管理、接口管理需要强一致性验证,保障不同版本正常使用。

(2)应用开发语言种类较多,需要统一标准规范,面向目前主流开发语言提供一套统一标准、统一工具、统一框架。

以上问题直接导致应用在开发的过程中,不仅要考虑适配不同的接口类型以及各自的调用方式,并且还要考虑后期接口版本升级带来的应用运维风险,也严重阻塞了省市两级组件的推广复用、应用开发的效率。

跨网关服务子系统主要为不同风格的接口生成多语言的 SDK,支持Java、Go、Python、C++等开发语言。同时严格规范的版本管理,有效解决应用开发语言兼容、组件网关和接口的易用性、可扩展性和兼容性问题。

结论

本文设计了一套公共组件服务系统,提供全省公共组件统一管理,适应数字化时代快速响应、快速开发、快速迭代的需求,推动政府系统实现组件化、规范化、标准化建设,提升公共服务质量,为各领域数字化发展赋能,通过打造开放的组件体系,带动千行百业数字化转型、繁荣我省数字生态。

参考文献:

[1]冯兴.面向工业软件的公共服务组件系统的设计与实现[D].北京邮电大学,2023.DOI:10.26969/d.cnki.gbydu.2023.001506.

[2]夏书平,黄谦,程新强.数字技术赋能农村公共体育服务高质量发展:作用机制与优化路径[C]//陕西省体育科学学会,陕西省学生体育协会.第二届陕西省体育科学大会论文摘要集(专题二).西安体育学院运动训练学院;武汉体育学院体育工程学院;,2024:7.DOI:10.26914/c.cnkihy.2024.008493.

[3]孟庆国,王友奎.网上政务服务平台集约化建设研究:理念、框架与路径[J].中国行政管理,2024,40(02):10-21.DOI:10.19735/j.issn.1006-0863.2024.02.02.

[4]方素菊.“高效办成一件事”让企业群众少跑腿[N].河北日报,2023-11-03(006).DOI:10.28326/n.cnki.nhbrb.2023.006702.

[5]王敬博,张腾飞,邵武长,等.基于组件化的后台管理页面生成系统设计与实现[J].电子技术应用,2023,49(11):100-104.DOI:10.16157/j.issn.0258-7998.233911.

作者简介:干萌(1996.12-),女,安徽合肥人,研究生学历,研究方向为计算机软件、大数据。