简介: BizWorks作为企业级云原生应用数字工作台,能很好地支撑企业数字中台建设、云原生应用开发、企业资产运营管理等场景。本文不会全面介绍BizWorks平台的能力,而是着重介绍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主页做详细了解:

https://www.aliyun.com/product/applicationservice/bizworks

原文链接:https://click.aliyun.com/m/1000360661/

本文为阿里云原创内容,未经允许不得转载。

BizWorks助力企业应用的高效开发与复用的更多相关文章

  1. Worktile正式入驻飞书,助力企业轻松实现敏捷开发与协作

    企业在敏捷研发中时常面临着交付延期.需求不匹配等问题,如何更高效地完成敏捷研发? Worktile携手飞书,为企业用户提供敏捷开发服务,帮助企业实现软件项目的需求管理.缺陷追踪.迭代规划与推进以及效能 ...

  2. RDIFramework.NET Web版报表管理-助力企业高效智能图表

    功能描述 在RDIFramework.NET Web版本中全新的报表管理功能模块,非常实用的功能,重量级推荐.主要用于对日常常用的报表做定制展示.可以自动发布到模块(就可授权给指定资源访问),在报表定 ...

  3. 阿里云智能数据构建与管理 Dataphin公测,助力企业数据中台建设

    阿里云智能数据构建与管理 Dataphin (下简称“Dataphin”)近日重磅上线公共云,开启智能研发版本的公共云公测!在此之前,Dataphin以独立部署方式输出并服务线下客户,已助力多家大型客 ...

  4. 助力企业战疫提效保质,腾讯wetest远程办公工具包请查收!

    导语 疫情当前,减少个人的出行与聚集成为了抗击疫情的重要防线.不少企业为了员工的安全与战疫的目标,开始实行在家远程办公的措施.作为开发测试人员,对工作环境与设备软件的条件要求相对较高,当前在远程办公的 ...

  5. BPM助力企业数字化转型

    自九十年代末,流程管理开始引入国内,至今已经有20多年的历史了,由最初的部门级应用向企业级应用转变,大家的认知也经历了一系列的发展变化.不同阶段的信息化水平对企业的流程以及BPM平台也提出了不同的需求 ...

  6. Odoo免费开源企业信息化平台助力企业成功

    企业信息化变革之路 信息孤岛的真实由来 打开百度App,看更多图片 左边为当下企业现状,右边为Odoo的整体 企业信息孤岛的严重性,来自于企业的自身高速发展,企业以销售为生命主题围绕着客户会搭建一系列 ...

  7. 京东云数据库 RDS助力企业便捷运维

    iPhone6发布那年,京东在国贸等商圈送货最快速度数分钟,包括从下单到送达.这是一个极端的富含营销因素例子.即便如此,常态来看,隔天到货的这种业务模式,也是基于同样的支撑:营销业务.物流业务,大数据 ...

  8. H5游戏定制,4大优势助力企业曝光10W+

    H5游戏定制,4大优势助力企业曝光10W+ 移动互联网已成为了人们生活的一部分,普通广告形式已很难吸引用户的眼球,企业要怎样才能将广告更广泛的传播给更多用户呢?根据TOM游戏多年从业经验,为大家分享以 ...

  9. CRM助力企业迎接数字化浪潮

    去年,国家发展改革委官网发布'数字化转型伙伴行动'倡议.倡议政府和社会各界联合起来,共同构建多元化的联合推荐机制,带动全行业数字化转型,构建数字化产业链,培育数字化生态,形成"数字引领.抗击 ...

  10. CSS高效开发实战:CSS 3、LESS、SASS、Bootstrap、Foundation --读书笔记(1)设定背景图

    技术的新发展,除计算机可以接入互联网之外,平板电脑.智能手机.智能电视等其他设备均可访问互联网.在多设备时代,构建多屏体验也不是听说的那么难. 但是这也增加了学习CSS的难度?不知道如何上手,只懂一点 ...

随机推荐

  1. Rust 标准库 Trait 指南

    部分内容来自 Rust 2021 年期刊 内容目录 引言 Trait 基础 自动 Trait 泛型 Trait 格式化 Trait 操作符 Trait 转换 Trait 错误处理 迭代器 Trait ...

  2. C++ 赋值操作和assign()的区别(转自stack overflow)

    https://stackoverflow.com/questions/19735395/stl-assignment-operator-vs-assign-member-function assig ...

  3. 5G+云渲染:如何快速推进XR和元宇宙实现?

    XR(扩展现实)领域正在以惊人的速度增长.目前,到 2024 年,一些专家表示这个行业的价值将达到 3000 亿美元. 这个行业发展如此迅速的部分原因是 XR 将在商业环境中的带来巨大利益.近年来,很 ...

  4. 3D渲染慢,直接买显卡还是用云渲染更划算?

    3D渲染对建筑师和设计师来说并不陌生,3D渲染的过程中出现渲染卡顿.特殊材质难以渲染,或者本地配置不足.本地渲染资源不够时,常常会影响工作效率.本文比较了3D渲染时,为提高工作效率,买显卡还是用云渲染 ...

  5. drf(路由)

    一 自动生成路由 基本使用 # 视图类,继承了ViewSetMixein,路由 # path('books/', views.BookViewSet.as_view(actions={'get': ' ...

  6. .NET Emit 入门教程:第三部分:构建模块(Module)

    前言: 在这一部分中,我们将深入讨论动态程序集中模块的概念以及如何构建和管理模块. 1.模块的概念: 模块是动态程序集中的基本单位,它类似于一个独立的代码单元,可以包含类型.方法.字段等成员. 在动态 ...

  7. vue项目中添加水印效果

    新建js文件:例如warterMark.js 'use strict' let watermark = {} let setWatermark = (str) => { let id = '1. ...

  8. Makefile 简单学习

    一.Makefile 简介 Makefile 是一种常用于编译的脚本语言.它可以更好更方便的管理你的项目的代码编译,节约编译时间(没改动的文件不编译).注意 Makefile 文件命令必须是 Make ...

  9. 测试开发之系统篇-安装KVM虚拟机

    虚拟机(Virtual Machine)和容器(Container)是两种流行的虚拟化技术. 虚拟机模拟机器的硬件,包括了完整的操作系统和应用,它一旦被开启,预分配给它的资源将全部被占用.容器是运行在 ...

  10. 03 jQuery属性控制

    03 jQuery属性控制 属性相关的控制主要有以下几个功能 val() => 处理value属性 text() => 处理innerText html() => 处理innerHT ...