何振邦,徐延军
(1. 青海省交通控股集团有限公司, 西宁 810000;2. 上海交通大学 交通运输工程系, 上海 200240;3. 上海船舶运输科学研究所有限公司, 上海 200135; 4. 中远海运科技股份有限公司, 上海 200135)
为加快交通强国建设,构建现代综合交通运输体系,国务院于2022年初印发了《“十四五”现代综合交通运输体系发展规划》(以下简称《规划》)。《规划》提出:创新驱动、深化改革是现代综合交通运输体系发展规划的基本原则;提升交通运输数字化、一体化,推动交通运输市场统一开放是发展目标。
目前国内公路业务中涉及的建设、管理、养护、运营和安全(以下简称“建管养运安”)系统[1]大多是相互孤立的,要实现交通运输市场统一开放,必须实现企业内部各系统之间的数据共享和与外部系统的数据共享,构建企业从内部到外部的开放生态;同时,目前高速公路全寿命周期内的建管养运安一体化研究相对缺乏。随着数字化转型的不断推进,很多企业都已构建数据中台,通过对内部数据进行采集、计算、存储和加工,已形成一些能支撑决策的有价值的数据,如何与外部系统共享这些数据,实现与外部企业互联,并产生商业价值,是企业实现数字化转型必须思考的问题。
若要与外部系统进行数据共享,不仅要考虑数据连通问题,而且要考虑经济收益、外部用户管理、安全、运营和维护等因素。企业数据中台的主要作用是对数据进行采集和处理,若要与外部系统共享数据,需建立一个独立的一体化平台[2],即资源能力开放平台。
本文结合已有的业务信息系统,设计开发一套适用于高速公路管养企业的资源能力开放平台,构建高速公路资源服务目录,提升企业对内、对外的数据互联和共享能力。
资源能力开放平台是指接口服务开放平台,其以服务的方式开放业务或数据能力,并提供对服务的全生命周期管理,以及对平台的运营和维护管理。
资源能力开放平台的核心是API(Application Programming Interface)网关,这是所有接口服务注册、服务请求的统一入口,是面向接口服务、串行集中式的强管控服务[3]。资源能力开放平台能按统一的标准对现有的业务信息系统或数据中台的接口服务进行编排管理,统一对外开放。
资源能力开放平台能快速整合应用和服务,低成本、高效率地创建丰富多样的业务场景,使企业系统对外服务更便捷[4]。总体来说,资源能力开放平台主要有以下优点:
1) 对接口服务统一管理,统一对外开放;
2) 方便进行功能扩展,兼容多个系统;
3) 能控制访问流量等。
目前知名的公有云开放平台主要有阿里云API网关、京东云API网关和Amazon API Gateway等。这些资源能力开放平台支持权限认证和流量控制,能帮助客户将服务和数据开放给外部系统,也有完整的生命周期管理和版本管理等功能,但高速公路管养企业使用的是专用网络(收费专网和监控专网等),采用公有云开放平台需考虑安全问题,并进行大规模的业务信息系统改造。因此,高速公路管养企业通常会基于自建的私有云平台设计开发资源能力开放平台。
考虑到成本和私有化部署等因素,选择基于WSO2 API Manager开源组件构建资源能力开放平台,并通过开发服务适配模块与现有的信息系统和数据中台融合,结合高速公路相关业务构建资源服务目录,从而得到集成API网关、用户管理、服务发布工具、API开发者门户、安全管理[5]、流量控制和资源服务目录等功能的高速公路建管养运安一体化资源能力开放平台。该资源能力开放平台总体架构见图1。
图1 资源能力开放平台总体架构
API网关是资源能力开放平台的大脑,是平台运转的枢纽,所有服务的注册、调用、转发、安全验证和流量控制等都通过API网关完成。
服务在创建之后会部署到API网关中,只有如此才会被调用者发现。当调用者请求服务时,会先将请求发送给API网关,API网关根据安全性策略和流量控制策略调用安全管理和流量控制模块对请求的合规性进行验证,若符合通行条件,则会把请求转发到对应的服务上。每次请求都会在通过API网关时被记录,基于这些请求的数据可供调用分析使用。
管理平台主要由服务发布工具、API开发者门户和用户管理构成,其架构见图2。
图2 管理平台架构
3.3.1 服务发布工具
服务发布工具是服务开发者进行服务开发、记录、保护、测试和管理的工具。服务在创建和配置完成之后可保存并发布,只有经过发布的服务才能在开发者门户中被订阅和调用。
3.3.2 API开发者门户
API开发者门户是为服务调用者提供服务的模块,可通过开发者门户查看服务的信息,包括接口的描述、参数和调用的软件开发工具包(Software Development Kit, SDK)等,开发者可通过该模块对相关信息进行在线调用和测试。
3.3.3 用户管理
用户管理包括外部用户自助注册申请、审核和权限分配等。无论是服务提供者还是服务调用者,都可注册账号,其中:服务提供者可通过服务发布工具创建资源服务目录并发布服务;服务调用者可通过开发者门户订阅已部署的服务,进行测试和调用。
控制平台主要由安全管理模块和流量控制模块构成,其架构见图3。
图3 控制平台架构
3.4.1 安全管理
安全管理主要是指鉴权认证[6],该模块提供令牌生成服务,服务调用者可调用该服务获得通行令牌,也可通过开发者门户生成OAuth 2.0访问令牌,API网关通过验证令牌的真实性保证调用的安全性。
3.4.2 流量控制
流量控制模块主要用来监管服务调用流量,可针对不同的调用者或不同的服务制订不同的流量控制策略。例如,可限制某项服务每分钟、每月、每年的调用次数,也可限制某个用户的总调用次数,根据不同的场景选择不同的策略。
此次平台构建从高速公路行业数字化全生命周期出发,将平台划分为6个一级目录(分别是通用数据、公路建设、公路管理、公路养护、公路运营和公路安全)、20个二级目录和55个三级目录,共包含209个接口服务,后续可根据规划进行升级扩展。
目录分类及提供的API服务可参考高速公路资源能力开放平台资源服务目录,见表1。
表1 (续)
资源服务目录是在开发者工具上按生命周期的管理流程统一构建的。但是,真正的服务并不是完全新建的,而是充分利用现有的服务资源,比如已存在的业务信息系统和数据中台等。
由于现有的信息系统不是同一时期建设的,因此采用的框架有多种,采用的技术有所不同,对外开放时调用的方式也不相同,这给调用者带来了麻烦,需采用多种调用方式才能完成对多项服务的请求。为解决该问题,资源能力开放平台统一采用RESTful调用方式对外开放,规范服务调用方式和服务标准。
对于已有的RESTful类型的服务,API网关可直接跳转到对应的服务;对于不是该类型的服务,开发一个针对该类型服务的适配模块,所有请求到API网关之后都会先转发到该适配模块,再跳转到对应的服务,这样就可极大地简化调用者的开发工作。
在测试过程中,该模块是以单个微服务的方式部署的,当遇到大批量请求时会造成通道阻塞。为解决该问题,将所有适配模块添加到docker容器[7]中进行集群部署,服务的负载会根据请求量的多少自动进行调整。
后续平台优化的重点是在面向海量用户的服务调用请求时,实现软硬件资源的弹性伸缩和负载的动态调整。
目前该资源能力开放平台已实现与青海省高速公路全路网综合集中监控管理平台的无缝对接和融合,在完成青海省高速公路运营管理有限公司与公安、交警和路政等单位之间的数据交换和共享方面发挥了积极作用;同时,依托该平台,正在实现面向公众的高速数据服务增值业务拓展应用。随着研究的不断深入,接入的业务信息系统和数据不断增加,该平台提供的资源服务目录会越来越丰富,平台的作用会越来越明显。