施工企业微服务组件研发技术
0 引言
住房和城乡建设部、国家发展改革委员会、科学技术部等13部门联合印发《关于推动智能建造与建筑工业化协同发展的指导意见》,明确到2025年,我国智能建造与建筑工业化协同发展的政策体系和产业体系基本建立,建筑工业化、数字化、智能化水平显著提高,建筑产业互联网平台初步建立,并大力推进数字化设计体系建设,统筹建筑结构、机电设备、部品部件、装配施工、装饰装修,推行一体化集成设计。以企业资源计划(ERP)为基础,进一步推动向生产管理子系统的延伸,实现生产信息化管理。
在万物互联的数字化时代,数字化转型正成为赋能企业高质量发展的新引擎。我司顺应数字化、网络化、智能化发展大势,按照“以信息化重塑管理流程、以信息化引领转型升级”的要求,统筹推动新一代信息技术与传统产业融合,制订全在线、全连接、全服务的信息化专项行动方案,为企业管理信息平台建设提供思路,助力企业转型升级。
1 施工企业信息系统建设分析
1.1 构成及建设模式
施工企业信息系统一般包括业务管理和企业管理。业务管理主要包括市场营销、采购结算、安全生产监督管理等方面。企业管理主要包含企业人、财、物的管理。
施工企业一般具有多专业领域、多经营区域的综合性特征,建设信息化系统需要考虑的内容很多。经过系统调研分析后,提出以“一个平台为依托,众多微服务为支撑,数据供应链为中心”的建设方式,实现上下数据贯通、左右业务联动、内外管理协同,真正达到施工企业一体化、标准化、集约化、精细化的目的。
1.2 面临的困难
企业外部环境快速变化,要求系统建设能够快速迭代;业务领域多且业务流链路长,信息系统需具备灵活可扩展、复用性高的特点;施工企业子公司个体管理管控存在差异,信息系统在复杂性上必须可控。
2 微服务组件的优势
2.1 快速迭代
微服务架构是将单应用程序作为微型服务开发的方法,每种应用程序都在其进程中运行,并与轻量级机制进行通信。这些服务组件围绕业务功能构建,可通过全自动部署机制进行独立部署。
由于微服务各自具备独立的运行进程,在应对二次开发或组件故障时,信息系统无须编译、部署整个应用,将开发、故障范围缩小到单个微服务中,让服务发布更高效,缩短应用交付周期。微服务组件模式使快速迭代成为可能。
2.2 复用性高且灵活可扩展
基于微服务建设的信息系统,每个服务都是独立部署的,使每个微服务可根据性能需要对不同模块进行水平扩展。在这种模式下,系统会开放很多接口供外部使用,当业务需求发生变更时,可使用不同方式构建应用,从而提高信息系统的复用性及灵活性。
2.3 复杂度可控
传统信息系统是建设单体式大应用,易造成数据孤岛,而微服务架构通过分解单体式应用为多个微服务组件,使复杂性可控。为实现同一功能,业务应用被分解为多个可管理的服务组件,通过微服务架构模式,让复杂功能以模块化方式呈现,让单个服务更易被开发和维护。
3 微服务组件技术在施工企业信息系统中的应用
3.1 施工企业信息系统的特点与现状
施工企业的核心业务是建筑产品的生产与交付,提供的产品具有差异化大、生产过程关系复杂及生产周期长的特点,管理过程是项目管理与产品生产管理的结合体。
系统管理要素不仅涉及现场管理的人材机料法环,还包括围绕项目合同的进度、成本、安全、质量的职能管控。
系统协同对象多,包含企业内部市场、商务、工程、财务、法务、物资等各种职能组织,企业外部涉及客户、供应商、分包商及政府、行业监管主体。
随着业务不断变化,用户量增加,以流程、功能为导向的系统设计开发方式,以及以单体应用增量叠加组合的系统演进方式,来构建传统施工企业信息系统已无法满足和支撑企业需求,迫切需要高效、灵活、弹性的架构设计与应用,升级现有信息系统。
3.2 信息系统的微服务组件化升级与改造思路
微服务组件技术作为新的应用构建方式,一定程度符合施工信息系统设计与实现需求。但是,对基于该方式构建应用系统的运行环境及规划、设计、实现过程提出更高的要求。
3.2.1 构建统一的微服务运行平台
为避免重复以往的应用格局,设计开发微服务应用前,需规划出整体的公共支撑环境,制定各应用系统需共同使用的各种资源、框架和服务。
1)统一资源调度管理建立计算资源共享池,对软硬件基础设施资源(计算、网络、存储)进行动态调度、自动管控和共享使用。
2)统一微服务开发框架支撑微服务的设计、开发、部署、运维监控、迭代升级全过程。
3)统一通用基础服务利用数据存储、消息通信、流程服务、认证服务等技术,搭建稳定、松散耦合及可迭代的标准基础服务,为企业快速、灵活构建微服务应用提供支持。
这些公共资源、框架和服务统一构成微服务运行平台。平台作为微服务应用运行的生态环境,随着需求变化与技术演进,提供的能力不断增强,日益向数据化、物联化、智能化方向发展。
3.2.2 进行领域分析与业务模型标准化
统一的平台只提供微服务应用开发运行环境,最终需求的满足还是依赖具体的业务模型设计。为实现快速灵活的需求响应,减少非必要的重复开发,在企业级业务模型设计中,需进行如下操作。
1)业务领域分析根据企业战略规划与业务布局,进行横向价值链分析,梳理出企业核心业务后,对核心业务进行纵向分析,形成关键的活动业务链,最终构成业务全景图。
2)业务模型标准化包括数据标准化、流程标准化,两者相辅相成。将数据模型与流程模型的语义相对接可判断数据实体粒度是否合适,数据标准化是否到位。通过流程节点间的数据输入输出分析比较,可更好地辅助流程标准化设计。这两个过程相互验证是业务架构模型标准化的关键,是不断反复的动作。
业务建模过程中,易出现“过度整合”问题,如施工企业中工程与项目业务域非常接近,是分是合,如何取舍,需要结合实际经验,从业务与数据方面进行反复推敲。
3.2.3 建筑行业微服务组件设计与实现
业务模型是企业能力结构化的展现,为企业业务架构服务。经过企业战略、价值链分析及业务流程、数据模型标准化过程,最终形成企业级业务服务、组件、主题域的定义与划分。如图1所示,基于组件服务的架构实现方式,打破建筑业务传统功能流程方式形成的边界,实现能力与业务活动的解耦。
图1 基于微服务组件设计的建造业务逻辑架构
微服务组件是企业能力细粒度的技术实现,在组件模型中,如图2所示,定义了组件的服务能力,明确组件内服务间的关系。组件本身是独立的,组件间可相互组装,支撑上层应用中业务活动过程的实现。
图2 组件模型技术应用
1)参数主要用于支撑组件的实例化过程,包括基于业务操作形成的赋值结果参数记录,以及用于界面动态生成的界面数据项。
2)服务是业务实体对外能力的输出形式,包含行为定义和相应数据。一个组件可对应一到多个微服务的实现。
3)模板用于定义应用、服务、组件间的对应关系。每个业务领域下可有一个到多个模板,通过模板可编排组件服务,形成不同的业务实例和应用产品。
3.3 微服务组件技术应用的建议原则
1)整体性原则从企业全局业务视角出发,统筹考虑和设计微服务组件的各方面与各要素。从微服务组件的基本构成到运行机制、调用关系,都需进行总体、全面的规划和设计,保证基于微服务组件进行组装的应用系统能够“合起来”和“活起来”。
2)合适性原则设计微服务组件时,需在通用性和专用性间进行平衡。通用性强则必然会损失一部分专用性,相反亦如此。除遵循微服务组件的功能和职责单一性原则、高内聚低耦合性原则外,还要综合考虑应用场景、技术实现复杂度、部署维护成本、系统性能与稳定性等方面因素。
3)迭代性原则微服务组件本质是业务模型的技术抽象实现。业务作为支撑企业战略的要素必然随着需求不断发展变化。因此在设计评审微服务组件服务与API接口时,实现方式上的可迭代性也是重点关注的要素之一。
4 结语
微服务组件技术在施工企业中的应用是一次技术性的尝试与探索,也是新时代大力发展施工企业信息化的必然趋势。施工企业想在新业态、新产业、新模式的竞争中抢占先机,就要抓住利用新信息技术实现现代企业管理信息化的机会,助力企业数字化转型升级,实现新的飞跃。
[2] 付朋辉,吕锋,王艳.基于微服务架构的平台设计与应用[J].金融电子化,2017(6):72-73.
[3] 姜皓文.计算机系统集成的实施与项目管理[J].电子技术与软件工程,2019(13):131.
[4] 汪泽波.信息系统集成技术与软件开发策略的研究[J].中国学术期刊电子出版社,2018,10(2):11-12.
[5] 王赛,王永伟.大数据之路-阿里巴巴大数据实践[J].电子工业出版社,2017,10(29):29-35.
[6] 向逸尘,林浩宇,徐源.微服务在智慧城市平台建设中的应用初探[J].计算技术与自动化,2019(3):136-140.
[7] 侯小虎,向逸尘.软件协议转换网关在大型集成系统中的应用[J].计算机时代,2019(10):50-53.
[8] 魏泽炎.云计算技术基础设施集成技术分析及应用[J].计算机产品与流通,2020(4):177.