BizWorks 助力企业应用的高效开发与复用
Posted 阿里云云栖号
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BizWorks 助力企业应用的高效开发与复用相关的知识,希望对你有一定的参考价值。
企业在数字化转型过程中,为了提高效率、降低成本,追求如何快速高效地开发企业应用,以及如何有效复用现有的应用资产,避免重复造轮子。
BizWorks是阿里云发布的一体化的云原生应用的开发和运营平台,其提供的产品能力普遍适用于企业云原生应用高效开发以及企业资产沉淀和复用的场景,能够帮助客户高效、低门槛地构建云原生应用。BizWorks平台内置阿里业务中台构建的最佳技术实践,主要包括了业务建模平台、业务应用平台、演练压测平台、能力运营平台、一体化运行和运维平台,涵盖开发、测试、运维、运营等应用全生命周期,致力于成为企业数字化转型的新基座。
BizWorks作为企业级云原生应用数字工作台,能很好地支撑企业数字中台建设、云原生应用开发、企业资产运营管理等场景。本文不会全面介绍BizWorks平台的能力,而是着重介绍BizWorks在实现应用高效开发与复用上提供的产品能力。
企业应用的高效开发
建模设计平台
BizWorks建模设计平台是基于领域驱动设计方法论的模型设计平台,提供了对业务域、领域模型、数据模型等可视化建模能力。主要包括:
- 领域模型设计:包括领域对象属性、关系配置,以及领域服务的设计
- 数据模型设计:包括数据模型属性设置、关系配置,支持数据模型导入导出,并可依据模型设置快捷生成数据库脚本
- 应用服务设计:设计和管理业务域提供的应用服务及其下属的应用服务方法
使用领域模型设计器,可以直观地看到领域对象之间的关系,也可通过图形化界面创建、编辑及删除领域模型。
在完成领域模型设计后,平台支持根据领域对象直接批量创建应用服务、结构对象和数据模型,同时会自动创建模型间的关系映射,其中应用服务涵盖了日常使用的增删改查应用服务方法,可以极大的降低领域建模操作复杂度,提高应用开发的效率。
对于数据模型设计,平台支持根据数据模型一键生成数据库脚本或者从数据库导入数据模型,同时也能根据数据模型批量生成应用服务。
应用开发平台
应用开发平台是BizWorks应用的创建、开发和管理平台,支持API接口定义、根据业务域和商业能力模型生成脚手架代码以及代码扫描上报功能,并能基于流水线完成应用的部署。在完成建模平台的模型设计后,可快速利用应用平台完成应用开发。
BizWorks中心应用是利用应用开发平台进行建模、开发、部署并运维的中台应用,提供可视化编排、代码生成等能力,能够加快应用开发速度。在完成业务域技术建模后,可以创建中心应用,中心应用可关联已创建的业务域,作为对该业务域的一种技术实现。
中心应用提供了脚手架代码生产能力,可根据当前应用关联的业务域和商业能力模型生成对应的接口定义、接口实现、领域服务类、聚合根、值对象、实体类、数据对象类、数据ORM以及常用的操作,包括增、删、改、查等相关操作代码。代码生成能力可大幅提升研发效率,让研发人员专注业务逻辑本身。
在生成脚手架代码完成逻辑开发的过程中,可能存在需要修改模型的情况。平台提供了元数据和代码双向同步的能力,研发人员可以在开发过程中使用特定的注解新增、修改或删除模型元数据,开发完成后再上报到平台,和平台上的元数据做合并,形成最终确定的元数据。这个功能特性能保持研发人员流畅的工作流程,提高工作效率。
针对Web应用构建场景,Bizworks又支持低代码应用开发模式。BizWorks平台上持续沉淀的中台业务能力,可以在低代码平台直接可见,开发者可以根据需要选择依赖使用相应的业务能力,使低代码应用构建在业务中台之上。目前低代码配置和编排标准能力主要包括四编排:模型编排、服务编排、流程编排、页面编排。
- 开发人员可以在低代码应用中定义服务方法(API),用于前端调用或者后端调用。平台的系统方法页面中平台预置了部分服务方法,同时服务方法支持从业务域的应用服务批量创建。其中自定义服务编排支持变量定义、变量赋值、条件分支、遍历循环、表达式、中台服务方法调用、应用服务方法调用、REST API调用,主要针对已有的中台服务做进一步编排和组装,编排完成后可以被前端页面调用,实现前端页面和后端服务的打通。
- 页面编排支持Web界面的可视化设计,平台预置了丰富的前端组件,支持前端逻辑流的编排和javascript开发,同时提供自定义组件、自定义页面的全代码开发能力,助力开发者快速开发企业级的Web页面。页面编排中可以非常方便的调用各种服务编排的方法,有效降低了前后端沟通协作的成本,提升整体的研发效率。
- 页面设计支持应用预览功能,能够让开发人员快速看到页面设计改动的效果。同时,平台也提供了一些页面校验能力,帮助开发人员快速定位页面设计中存在的问题,提升开发设计的效率。
- 针对长事务的业务流程,平台支持对企业业务流程做可视化建模和实现。开发人员利用人工任务、审批任务、服务调用(自动化任务)、分支等流程节点把应用系统的业务流程模型编排出来,借助BizWorks平台提供的流程引擎快速开发业务流程。
此外, 当领域模型面对的业务场景愈加复杂,提供一套全面的模型检测能力对模型错误的快速定位和排查效率都非常重要。平台提供了应用级别和设计器级别(针对页面编排、服务编排、流程编排设计器)2种视角的合法性检查校验,支持定义配置完整性、表达式语法、资源依赖关系等检查校验,帮助开发人员在应用部署前高效地发现问题,定位问题和处理问题。
模型资产的快速复用
为了实现高效的应用开发以及帮助企业完成资产的持续沉淀和复用,BizWorks平台提供了一些应用模型资产的复用能力,这些能力既可以帮助开发人员基于现有的能力进行改进,提升开发效率;也能帮助企业不断沉淀资产,可以做到快速复制并重用现有的能力。
数据模型的导入导出
针对设计好的数据模型,开发人员可以将数据模型导出保存为json类型的模型文件,然后在其他项目中导入数据模型文件,基于现有的数据模型做进一步改进,实现了数据模型的复用。
业务域模型的导入导出
进一步的,整个业务域模型也支持模型的导入与导出。系统可以完整的将所选择业务域版本下的领域对象、领域服务、结构对象和应用服务一起导出,保存为xlsx类型的模板文件。而在导入模板时可选择将模板文件的数据导入到指定的业务域中。
结构对象、服务方法及页面的复制
在使用低代码应用开发模式时,考虑到可能存在需要重复地创建相似结构对象、服务方法或者页面的场景,BizWorks平台实现了结构对象、服务方法以及页面的复制功能,可基于现有的对象直接复制或作出一定改动,生成新的结构对象、服务方法以及页面,提升了开发的效率。
在页面设计的过程中,也可通过复制Schema的方式实现页面编排的快速复制。
不同应用模板的导入导出
BizWorks支持创建不同类型的应用,主要包括中心应用、托管应用、轻应用以及集成应用。中心应用是利用BizWorks平台进行建模、开发、部署并运维的中台应用,提供可视化编排、代码生成等能力,能够加快应用开发速度;托管应用可用来托管各类应用,一个托管应用支持由多种类型的组件构成,目前支持的组件类型包括代码、镜像和模板(Helm Chart)三种;而轻应用能够在BizWorks底层模型的基础上,通过模型关联、服务编排及页面编排,以可视化方式搭建前端页面,完成前端应用和中台服务的打通。
BizWorks能够支持不同应用生成相应的应用模板。针对不同类型的应用,开发人员按照创建模板的步骤对模板文件信息进行设置,然后将模板导出保存成文件。生成的模板文件可供开发人员在新的项目下进行模板安装,这样就实现了应用的快速复制和复用,有效利用了现有的企业应用资产,避免开发过程中的重复造轮子。此外,开发人员还可将应用模板进行上架,应用模板上架后将同步至企业应用模板中心,该模板可被企业内其他用户访问并下载使用。这样BizWorks就帮助企业完成了应用资产的汇聚和管理,同时提供统一的资产发布门户,实现资产可管、可视、可用、可溯的全生命周期管理。
开发人员可以通过模板的方式安装应用,模板来源既可以是通过现有的企业应用模板,也可以是开发人员自己导入的模板文件。模板安装的方式可以让开发人员在项目中快速复制并进一步修改,提升了研发的效率。
进一步了解BizWorks
以上只是BizWorks为实现高效的企业应用开发与复用提供的部分功能,作为一个企业级云原生应用数字工作台,BizWorks具备丰富的灵活性和较高的专业性,提供一站式云原生应用开发和运营平台,涵盖开发、测试、运维、运营等应用全生命周期,让企业实现云原生使用自由,同时提供规范管理、组织协同、多云支撑的能力。如果大家对BizWorks相关产品有兴趣,欢迎访问BizWorks主页做详细了解:
本文为阿里云原创内容,未经允许不得转载。
以上是关于BizWorks 助力企业应用的高效开发与复用的主要内容,如果未能解决你的问题,请参考以下文章