基于云巧进行组装式应用开发

简介: 本文将介绍什么是组装式应用开发,以及基于阿里云云巧实现组件化开发在政务行业的实践经验。

一、背景

近年来,在企业不断变化的业务环境中,快速迭代的新需求将引导企业改变其开发方式,进而转向使用支持快速、安全和高效的技术架构,组装式应用便成为了企业重要的战略技术趋势。组装式应用引入模块化的理念,使得各企业可以更敏捷、更有效地复用能力模块,提高商业的韧性和效率。

二、组装式应用介绍

2.1什么是组装式应用

组装式应用由以业务为中心的模块化组件构成,更易使用和重复使用代码,可加速新软件解决方案的上市时间,并释放企业价值。

2.2组装式应用前景

2021高德纳IT博览会(Gartner IT Symposium/Xpo 2021)美洲站峰会召开,会上,知名调查机构Gartner发布企业机构在2022年需要探索的十二大重要战略技术趋势中,就包含了组装式应用程序;在不断变化的业务环境中,业务适应性需求能够引导企业转向支持快速、安全和高效应用变化的技术架构。可组合的应用架构增强了这种适应性,而采用可组合方法的企业机构在新功能的实现速度上将比竞争对手快80%。

“在动荡的时代,可组合的业务原则能帮助企业机构驾驭对业务韧性和增长至关重要的加速变化。没有它的现代企业机构可能会失去在市场中的前进动力和客户忠诚度。”Groombridge表示。

2022年7月,经过前期密集的沟通,中国信通院“铸基计划—组装式应用开发平台系列标准研制”正式启动。确定了组装式应用开发平台的五大标准维度,包括通用通用能力要求、性能要求、安全要求、适配能力要求、代码自研能力要求等。

三、如何实现可组装式应用开发

举个例子:例如我们要装配一辆汽车,我们需要具备哪些条件呢?

我们可以想到,我们需要一个合适的组装环境,例如组装的车间,车间里面有所有的工具;

然后我们需要汽车的图纸;

然后我们需要汽车的所有零件;

最后我们的工程师在车间里面使用各种工具,按照图纸,使用各种零件就可以组装好一辆车了。

汽车装配.png

其实我们的应用开发也类似这样:

1、组装环境,包含各种工具和应用开发的平台。类似汽车的组装车间;

2、项目设计文档,类似汽车的图纸;

3、各种标准化的业务组件,类似汽车的零件;

然后我们的工程师使用组装环境的各种工具,按照项目设计文档编码,使用各种标准化的业务组件,组装好一个完整的应用。

3.1组装环境

组装环境,我认为应该包含各种工具和应用开发的平台;

1、工具,目前我们应用开发有各类和各种各样的工具,例如java开发的IDEAeclipse等;前端开发的Visual studio CodeWebStormhbuilder等;产品设计的Axure RP墨刀等;目前工具的功能都比较完善和健全,能满足我们的日常开发所需,所以工具选择对我们来说不是问题。

2、应用开发的平台,这个目前市面上种类繁多,且适应场景不一,目前各大厂都有自己的工具。所以对大部分企业或者开发者来说,会有点难抉择。这里我比较推荐,阿里云的“云巧”

云巧是阿里云全球技术服务部团队,基于组装式交付理念,对定制化开发和交付提出的解决方案。

3.2项目设计文档

当我们项目的各种组件标准化后,我们的项目设计文档就非重要了,我们各个组件怎么接入,如何使用,能力如何等。还有我们项目架构如何,选择了那些业务组件,分别有什么作用等。还包括其它各种设计文档等。好的项目设计文档,可以减少不必要的返工和沟通成本等。

云巧也提供了标准化的组件文档,便于我们了解相关组件的功能;同时它也提供了蓝图绘制的功能,制定了云巧组件标准

3.3标准化的业务组件

在如何实现组装式应用中,Gartner提出了“封装业务能力”(Packaged Business Capability,简称PBC)这个概念作为组装式应用的核心。PBC换一种理解方式就是标准化的业务组件。

标准化的业务组件从字面意思上解析大致有2方面的要求:

1、是个组件;

2、标准化;

是个组件,这个是一个基本要求,然后我们通常还会要求我们的组件,可组装可复用等待。标准化,目前市面上没有统一的标准,各大厂商都有自己的标准。而云巧也制定了自己的云巧 ACCORD 标准。云巧介绍到合格的PBC,需要具备模块化(Modularity)自治(Autonomy)可发现(Discoverable)可编排(Orchestrated)这些特性

PBC作为组装式应用的核心,云巧也推出了资产市场,便于沉淀和发现各种组件;

通过以上各种条件分析,目前云巧具备我们实施组装式应用开发所需要的各种条件,下面我们就使用云巧来进行一个项目的实施。

四、基于云巧实践某政务后台管理系统

4.1业务背景

电子政务系统一般由复杂的多个系统构成,其中可能会涉及某个地区多个部门的多个事项的管理、受理、审批等各种业务,其中各个业务相互独立。

4.2业务特点

1、业务复杂、集成度要求较高、适配性较强;

2、各事项的业务,需要具备一些通用能力,通用性要求强;

4.3所选组件清单

基础组件清单:

1、接口统一功能库:提供了项目开发中项目所需要的基础支撑功能;

2、React 脚手架 KOI:基于Umi内核,标准研发流程,统一研发规范,交付项目最佳实践;

3、云巧中间件封装库all-in-one非ark版本:为了服务阿里云交付场景,沉淀重复组件,我们总结多个交付项目中常见的对中间件(阿里云ons,oss和cache)的封装,方便交付的一线研发同学直接上手使用。

4、代码生成插件:根据数据库schema自动生成crud前后端代码的IDEA插件;

5、多语言支持库:部分国际交付项目需要实现前端页面、弹窗的多语言实现。随着交付项目的增多,有此需求的项目也在日益增长。针对Java语言,多语言的实现基本都一样,因此需要一套统一的实现;

6、通用分布式调度库:通用分布式任务调度封装SDK;

业务组件清单:

1、操作审计日志库:通过注解的形式实现简单灵活的操作数据采集,便于后续项目中快速的接入及扩展;

2、云巧4A统一安全管控组件:认证Authentication、授权Authorization、账号Account、审计Audit。云巧4A统一安全管控组件实现对自然人、资源、资源账号的集中管理,提升系统安全性和可管理能力,实现可视、可控、可信的安全管理体系。

3、云巧消息组件:针对应用系统群提供统一消息发送能力。支持多种消息类型(包括App推送、邮件、短信、钉钉工作通知),并支持进一步扩展。

4、云巧流程组件:通过页面拖拉拽的交互方式简单上手快速搭建企业内部流程,具备从 "流程配置(流程设计、表单设计) -> 部署 -> 发起 -> 代办 -> 审批" 的“端到端”业务流程的闭环管理,支持业务空间隔离。审批页面支持移动端自适应。

5、云巧表单组件:通用表单组件,提供可视化搭建动态表单能力,支持多端填报和国际化能力,提供表单填报数据管理等;

4.6系统架构图

2.png

参考文献

[1] Gartner发布2022年重要战略技术趋势

[2] GTS工作台帮助-通用版

[3] 云巧组装式交付介绍

[4] 中台之上(十三):探讨支持组装式开发的业务架构设计方法

[5] 组装式应用小程序化,小程序容器技术必不可少

[6] [标准化思想及组装式架构在后端BFF中的实践]

相关文章
|
6月前
|
敏捷开发 监控 Java
服务设计思考:平台化
服务设计思考:平台化
57 0
|
12天前
|
前端开发 C# Android开发
2024年全面的多端统一开发解决方案推荐!
2024年全面的多端统一开发解决方案推荐!
2024年全面的多端统一开发解决方案推荐!
|
中间件 API 开发者
组装式架构重构未来平台研发模式
企业数字化转型如火如荼的进行中,快速响应市场需求变化,低成本进行数字化改造时每个企业追求的目标。而组装式架构可以完美解决B段客户对于软件平台的高质量要求。
组装式架构重构未来平台研发模式
|
2月前
|
消息中间件 Cloud Native Java
组装平台代码云原生应用
本文介绍如何通过BizWorks平台的微服务开发工具,根据应用关联的限界上下文模型自动生成接口定义、实现及各类代码组件,包括CRUD操作。若未关联限界上下文,则生成空脚手架代码。首先登录BizWorks并选择目标应用,进入“代码生成”页面,选择合适的代码分支并设置参数,如GroupId、ArtifactId等,最终生成代码。具体步骤和参数配置详见正文说明。注意:已发布应用不支持此功能。代码效果可参考http://www.ningluan.com 和 http://www.92demo.com。
34 1
|
2月前
|
消息中间件 Cloud Native Java
代码云原生应用组装平台
本文介绍如何在BizWorks平台上根据限界上下文模型生成代码,包括接口定义、实现、领域服务类等。首先登录平台并选择目标应用,然后进入“代码生成”页面,选择合适的代码分支并设置参数,如GroupId、ArtifactId等。生成逻辑包括新分支的全量生成及已有分支上的增量更新。此功能支持自定义脚手架模板和组件依赖。若关联限界上下文,将根据模型生成代码;否则生成空脚手架代码。已发布应用不支持此功能。
42 2
|
3月前
|
数据可视化 Cloud Native API
低代码音视频工厂vPaaS平台问题之平台简化音视频开发如何解决
低代码音视频工厂vPaaS平台问题之平台简化音视频开发如何解决
29 0
|
运维 前端开发 Java
云巧组装式交付介绍
Gartner在2021年10月19日,正式发布了2022年重要战略趋势。其中包括了“组装式应用”这一战略。 云巧是“组装式应用”理念的落地,是围绕生态,面向产业的首个产业数字组件中心。 你可以从本文了解组装式开发的理念,以及阿里云GTS通过组装式理念交付项目的最佳实践:云巧。 如果你是阿里及阿里云生态合作伙伴的开发者,可以进一步访问云巧首页:https://gts.work/portal/yunqiao ,进一步了解云巧的能力。 即使你不是阿里及阿里云生态合作伙伴的开发者,也可以在自己的日常的开发过程中通过运用可组装式理念提升业务交付效率。
5344 1
云巧组装式交付介绍
|
存储 运维 数据可视化
低代码平台中的“模型驱动”与“表单驱动”有何区别?
低代码是近几年比较火的一种应用程序快速开发方式,它能帮助用户在开发软件的过程中大幅减少手工编码量,并通过可视化组件加速应用程序的高效交付。(低代码的定义来自Forrester报告,被认为是低代码一词的起源)。
低代码平台中的“模型驱动”与“表单驱动”有何区别?
|
运维 监控 开发者
平台工程实践,让应用开发如搭积木一般简单
在过去,传统的应用程序部署和管理通常是一个复杂且耗时的过程。这包括硬件和服务器的采购、配置、维护以及应用程序的手动部署和扩展。随着云原生概念的普及,虽然带来了扩展性、可用性等方面的改进,但也意味着运行单个脚本部署一个完整应用程序的日子一去不复返了。
189 0
|
SQL XML 开发框架
新一代低代码开发平台,只需配置完成接口开发
简介 magic-api 是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发
375 0
下一篇
无影云桌面