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

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

一、背景

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

二、组装式应用介绍

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] 云巧白皮书

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

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

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

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

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

相关文章
|
14天前
|
敏捷开发 弹性计算 中间件
平台即服务(PaaS):简化开发与部署的新篇章
【6月更文挑战第21天】PaaS简化了应用开发与部署,提供资源池化、自动化管理及丰富的开发工具,助力企业降低成本、提高效率和系统稳定性。它支持敏捷开发、加速产品上市,改善用户体验,并推动创新,成为现代软件开发的关键。
|
2月前
|
敏捷开发 监控 Java
服务设计思考:平台化
服务设计思考:平台化
37 0
|
中间件 API 开发者
组装式架构重构未来平台研发模式
企业数字化转型如火如荼的进行中,快速响应市场需求变化,低成本进行数字化改造时每个企业追求的目标。而组装式架构可以完美解决B段客户对于软件平台的高质量要求。
组装式架构重构未来平台研发模式
|
2月前
|
前端开发 Java 关系型数据库
基于Jeecgboot前后端分离的流程管理平台
基于Jeecgboot前后端分离的流程管理平台
38 0
|
8月前
|
人工智能 Kubernetes 数据可视化
低代码平台:构建应用程序的“银弹”
低代码平台:构建应用程序的“银弹”
|
运维 前端开发 Java
云巧组装式交付介绍
Gartner在2021年10月19日,正式发布了2022年重要战略趋势。其中包括了“组装式应用”这一战略。 云巧是“组装式应用”理念的落地,是围绕生态,面向产业的首个产业数字组件中心。 你可以从本文了解组装式开发的理念,以及阿里云GTS通过组装式理念交付项目的最佳实践:云巧。 如果你是阿里及阿里云生态合作伙伴的开发者,可以进一步访问云巧首页:https://gts.work/portal/yunqiao ,进一步了解云巧的能力。 即使你不是阿里及阿里云生态合作伙伴的开发者,也可以在自己的日常的开发过程中通过运用可组装式理念提升业务交付效率。
4808 1
云巧组装式交付介绍
|
10月前
|
运维 监控 开发者
平台工程实践,让应用开发如搭积木一般简单
在过去,传统的应用程序部署和管理通常是一个复杂且耗时的过程。这包括硬件和服务器的采购、配置、维护以及应用程序的手动部署和扩展。随着云原生概念的普及,虽然带来了扩展性、可用性等方面的改进,但也意味着运行单个脚本部署一个完整应用程序的日子一去不复返了。
122 0
|
11月前
|
调度 开发者
HarmonyOS学习路之开发篇—流转(多端协同 一)
开发者在应用FA中通过调用流转任务管理服务、分布式任务调度的接口,实现多端协同。
|
JSON 运维 Cloud Native
BizWorks助力企业应用的高效开发与复用
BizWorks作为企业级云原生应用数字工作台,能很好地支撑企业数字中台建设、云原生应用开发、企业资产运营管理等场景。本文不会全面介绍BizWorks平台的能力,而是着重介绍BizWorks在实现应用高效开发与复用上提供的产品能力。
510 0
|
运维 数据可视化 IDE
组装式应用思想具现的低代码平台
近几年低代码平台在在国内进入了高速发展的阶段,各种低代码平台如雨后春笋一般的涌现。低代码平台的出现让应用的实现变得容易。也让即使不懂编程代码的人能够制作程序应用。低代码平台归根究底还是组装式应用的实现。

热门文章

最新文章

  • 1
    流量控制系统,用正则表达式提取汉字
    25
  • 2
    Redis09-----List类型,有序,元素可以重复,插入和删除快,查询速度一般,一般保存一些有顺序的数据,如朋友圈点赞列表,评论列表等,LPUSH user 1 2 3可以一个一个推
    26
  • 3
    Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
    26
  • 4
    Redis07命令-String类型字符串,不管是哪种格式,底层都是字节数组形式存储的,最大空间不超过512m,SET添加,MSET批量添加,INCRBY age 2可以,MSET,INCRSETEX
    27
  • 5
    S外部函数可以访问函数内部的变量的闭包-闭包最简单的用不了,闭包是内层函数+外层函数的变量,简称为函数套函数,外部函数可以访问函数内部的变量,存在函数套函数
    24
  • 6
    Redis06-Redis常用的命令,模糊的搜索查询往往会对服务器产生很大的压力,MSET k1 v1 k2 v2 k3 v3 添加,DEL是删除的意思,EXISTS age 可以用来查询是否有存在1
    30
  • 7
    Redis05数据结构介绍,数据结构介绍,官方网站中看到
    22
  • 8
    JS字符串数据类型转换,字符串如何转成变量,+号只要有一个是字符串,就会把另外一个转成字符串,- * / 都会把数据转成数字类型,数字型控制台是蓝色,字符型控制台是黑色,
    20
  • 9
    JS数组操作---删除,arr.pop()方法从数组中删除最后一个元素,并返回该元素的值,arr.shift() 删除第一个值,arr.splice()方法,删除指定元素,arr.splice,从第一
    20
  • 10
    定义好变量,${age}模版字符串,对象可以放null,检验数据类型console.log(typeof str)
    19