/ 中存储网

基于BizWorks业务中台之上的低代码应用开发中的产品能力

2022-09-16 08:32:03 来源:阿里云

近期阿里云在官网举行了关于BizWorks(企业级云原生应用数字工作台)的新品发布会,给企业数字化开发者带来了面向业务中台和云原生应用场景的建模、开发、运行、测试、部署、运维、运营一体化平台。BizWorks平台产品能力非常丰富,针对业务中台能力中心构建场景,采用BWAF框架全代码的应用开发模式,针对Web应用构建场景,又支持低代码应用开发模式。

低代码应用开发平台,虽然最近几年在国内发展迅速,但其始终未进入中大型企业成为主流开发平台,因为各个低代码平台都有其领域、行业或场景的限制,在开发不同领域中等复杂度以上的应用系统时,无法达到企业级应用生产力工具的效果。而且过去各个低代码平台构建的业务系统都是一个个孤岛,只解决一个个孤立的业务场景,无法沉淀企业级可复用可扩展的业务能力,在企业数字化转型过程中,价值比较有限,无法帮助企业实现数字化跨越式的发展。

如果企业通过数字业务中台的成功建设,持续沉淀企业数字化业务能力,与其配套的中台低代码平台将会发挥其独特的价值。中台低代码平台帮助开发者掌握全栈能力,促进开发者提高工作效率,基于企业数字化业务能力组件,可以实现业务应用的敏捷按需装配,成为企业组装式应用创新平台,进而实现企业业务能力的持续优化和复用,促进从组织到企业甚至行业的业务能力集约与创新。

本篇将重点介绍基于BizWorks业务中台之上的低代码应用开发中的产品能力。

一、BizWorks总体介绍

BizWorks是一体化的云原生应用开发和运营平台,内置阿里业务中台构建的最佳技术实践。产品主要包括:业务建模平台、一体化应用构建与运行平台、业务测试与演练平台、业务运营与治理平台。BizWorks平台涵盖了业务中台构建和运营,以及云原生应用的建模、开发、运行、测试、部署、运维全生命周期,既有企业业务能力视角,又有工程师技术视角,很好的解决了业务和技术融合打通,保证业务和技术双轮驱动推动企业数字化转型。

在云原生时代,企业数字化转型需要新的方法、技术架构和工具平台,如果继续硬搬“信息时代孤岛式建设业务应用的方法和工具”,就会做不好“数据时代的敏捷智能业务”,BizWorks应运而生。

基于BizWorks业务中台之上的低代码应用开发中的产品能力

BizWorks产品基本定位:

  • 帮助企业高效构建业务中台或者云原生应用的技术平台。
  • 助力客户消除数据孤岛、实现企业核心能力的持续优化和复用,加速业务创新。
  • 内置阿里巴巴中台构建最佳实践BWAF框架和云原生最佳技术实践。

基于BizWorks业务中台之上的低代码应用开发中的产品能力

BizWorks产品负责人谢纯良对此总结:“BizWorks作为企业级云原生应用数字工作台,能很好地支撑企业数字中台建设、云原生应用开发、企业资产运营管理等场景,作为云原生时代的一个高效的工程平台,BizWorks将助力企业更好的完成数字化转型。”

二、BizWorks低代码平台特性

BizWorks平台支持敏捷的应用软件低代码开发模式,采用“云原生应用和架构”(Cloud Native)+“可视化配置和编排”(Low Code)+“代码混合开发模式”(Pro Code)+“业务中台能力集成”(PBCs)架构和技术让开发者低门槛高效率一体化的完成基于业务中台的Web应用软件的设计、开发、部署、交付、托管和运维。

云原生应用和架构(Cloud Native)

BizWorks低代码平台开发的应用软件会基于BizWorks TPaaS底座,支持微服务、K8S、多云、DevOPS、持续交付等云原生架构特性,从而降低应用架构和托管运维的落地难度和复杂度,让开发者更多地关注应用软件自身的业务逻辑开发。

BizWorks TPaaS平台支持了多云/混合云管理、原生K8s或阿里云ACK容器管理平台、CI/CD(支持内置或集成三方流水线)、微服务治理、压测演练、运行日志、运维监控、组件中心等能力。为企业解决异构环境适配、部署架构、服务治理、应用及容器运维等一站式应用运行和运维问题。

基于BizWorks构建的低代码应用,可以导出K8s镜像,从而脱离BizWorks平台,被自由分发和独立部署,这样就保证了应用不被锁定在BizWorks平台框架内。即使客户后续不再继续使用BizWorks,那些基于BizWorks构建的历史应用还能够被继续独立安装运行。

可视化配置和编排(Low Code)

BizWorks低代码以模型驱动开发,对端到端的应用开发模式进行元数据建模,开发者可通过可视化配置和编排的开发模式完成应用开发,目前低代码配置和编排标准能力主要包括四编排:模型编排、服务编排、流程编排、界面编排。

  • 模型编排主要针对业务数据对象模型、结构对象模型做设计和编排,解决了业务数据的结构化建模和持久化。
  • 服务编排主要针对后端服务API的实现,可以针对中台API做重新编排,封装出符合界面使用的服务API逻辑。
  • 流程编排主要针对长事务的有人工参与的业务流程做编排,是企业和系统业务能力的流程化建模和技术实现。
  • 界面编排主要针对应用软件的页面、布局框架、菜单导航的界面和逻辑,做可视化配置和前端逻辑编排开发。

四编排作为低代码平台的WYSIWYG(所见即所得)标配功能,贯穿应用软件的前端、后端涉及的开发内容,开发者可以不用直接关注编程语言代码,一定程度上降低了对开发者技术栈的要求,可以让开发者快速成为全栈技术开发者并端到端地独立负责某一块业务开发。前后端沟通协作成本得到降低,开发者能够专注于应用软件的业务快速开发和交付。

同时基于四编排可视化开发,可以让业务人员更容易理解应用软件背后的“开发”语言,业务人员可以与开发人员可以在一套框架内互相沟通统一语言,来跨过业务和开发之间的鸿沟,开发人员可以基于业务需求快速完成原型,与业务人员完成POC验证,甚至可以一起结对快速开发完成某个需求。同时基于低代码技术和预置的组件和技术能力,可以让企业或ISV开发部门整体降低门槛提高效率,以更精简的全栈开发团队投入,降低企业成本,最终做到业务应用的快速创新和交付。

代码混合开发模式(Pro Code)

BizWorks的低代码平台用户群体定位很清楚,就是面向专业业务开发者,不直接面向公民业务开发者(Citizen Developer)。Gartner对于公民开发者(所谓的业务人员)定义的典型应用场景:表单或数据收集类的,可能需要编排流程,用于替换纸张、电子邮件、电子表格的个人或者工作组级别的应用。针对公民开发者的低代码平台构建的业务应用,不是BizWorks主打的目标应用类型,因为公民开发者开发不了中台类的复杂应用。

BizWorks的低代码平台为了能进行中等业务复杂度以上的应用软件开发,在可视化编排具备丰富的灵活性和一定的专业性,因此需要开发者熟悉基本的Web软件开发知识(至少学习过一门前端或后端开发语言,了解Web应用的开发知识如HTTP、Cookie、B/S架构等),但不要求端到端全栈地掌握各种原生语言(如完全掌握Java、JavaScript开发语言)知识,平台本质是希望开发者能够通过短时间学习就可以掌握端到端的Web应用研发。同时针对部分无法通过可视化开发解决的业务需求,开发者可以用JavaScript、React、Java、SpringBoot等原生专业开发语言或框架开发自定义的UI页面、UI组件和后端服务,平台可以实现混合开发、混合部署来最终交付一个完整业务应用。因此BizWorks低代码平台是针对专业开发者场景的降低门槛提高效率的中台Web应用开发平台,让开发者持续实践专业技能,同时可以促进更高效、更专业的企业级业务应用交付。

业务中台能力集成(PBCs)

什么是 PBCs(Packaged Business Capabilities) ?根据 Gartner 的定义,PBC 是预置的模块化的,原子化的,有业务语义的,可复用可扩展的业务能力,面向业务场景快速组装和编排 PBC 会成为企业竞争致胜的超级法宝。

根据Gartner分析,业务中台架构是PBC架构模式的实现方式之一,因此基于BizWorks和中台方法论构建的业务中台而产出的业务中台能力就是企业的PBCs,这些业务中台能力可以作为企业可以复用的资产,供前台业务系统或运营管理系统复用使用,支撑企业快速业务创新。

而基于BizWorks低代码平台构建开发的前台业务系统或运营管理系统,可以对企业的业务中台能力做无缝的对接,直接复用业务中台的API、模型、组件、流程、模板等,可以快速可视化配置、编排、定制或代码开发,从而可以低门槛高效率的开发面向业务中台级别业务复杂度的Web应用。

BizWorks平台也提供了通用的PBC业务能力包,比如用户中心、客户中心、商品中心、库存中心、交易中心、促销中心、支付中心、地图中心、文档中心、消息中心等,企业在构建业务系统时可以考虑选用,让业务中台建设不再只能从0到1,极大地提高了企业数字化转型效率。

三、BizWorks低代码平台功能

中台能力集成

企业在BizWorks平台上持续沉淀的中台业务能力,可以在低代码平台直接可见,开发者可以根据需要选择依赖使用相应的业务能力,使低代码应用构建在业务中台之上。这些业务能力可以用在服务编排、流程编排、界面编排被直接使用,大大提高了低代码应用业务逻辑的开发效率。

基于BizWorks业务中台之上的低代码应用开发中的产品能力

基于BizWorks业务中台之上的低代码应用开发中的产品能力

对象模型设计

开发者在低代码平台开发过程中,结构对象模型会贯穿当前Web应用的各个前后端模块,结构对象类似Java里的POJO,可定义字段(属性)和字段数据类型。开发者可以直接复用业务中台的结构对象模型,也可以自定义结构对象模型,在服务编排、流程编排、界面编排中,结构对象可用于数据结构封装、类型匹配、变量声明、表单表格等组件的快速生成等场景。

开发者可以针对可持久化的数据对象和关系做可视化建模和编排,平台自动生成针对数据对象的各种CURD操作,开发者用服务编排或者Java代码混合编程来实现对数据对象的各种调用来完成持久化数据的读写逻辑编排操作。

基于BizWorks业务中台之上的低代码应用开发中的产品能力

基于BizWorks业务中台之上的低代码应用开发中的产品能力

基于BizWorks业务中台之上的低代码应用开发中的产品能力

基于BizWorks业务中台之上的低代码应用开发中的产品能力

后端服务编排

开发者可以在低代码应用中定义服务方法(API),用于前端调用或者后端调用。服务方法可以直接批量复用业务中台能力下的各个服务方法,也可以自定义独立的服务方法。服务方法可以通过可视化服务编排来实现,也可以用Java代码来实现。

服务编排支持变量定义、变量赋值、条件分支、遍历循环、表达式、中台服务方法调用、应用服务方法调用、REST API调用,主要针对已有的中台服务做进一步编排和组装,输出给前端界面或者其他服务调用。

基于BizWorks业务中台之上的低代码应用开发中的产品能力

业务流程编排

针对长事务的业务流程,可以对企业业务流程做可视化建模和实现。开发者利用人工任务、审批任务、服务调用(自动化任务)、分支,把应用系统业务流程模型编排出来,平台提供工作流引擎执行。BizWorks提供流程引擎的自助安装、流程管理、流程设计、流程部署、流程运维能力,助力开发者快速开发业务流程。人工任务和审批任务可以支持多种人工操作,开发者可以用界面编排开发对应的人工处理页面来触发各种操作,让流程向后流转。服务调用支持开发者在流程中调用业务中台提供的API来完成自动化任务。BizWorks流程引擎提供丰富的API,开发者可以自行选择用低代码或全代码的开发方式来使用,完成流程启动、流程实例查询、待办查询、任务处理、流程撤回等等常见流程功能。

基于BizWorks业务中台之上的低代码应用开发中的产品能力

Web界面编排

界面编排支持PC端(未来能够支持移动端)Web界面的可视化所见即所得设计,平台预置了丰富的前端组件,支持前端逻辑流的编排和JavaScript开发,同时提供自定义组件、自定义页面的全代码开发能力,助力开发者快速开发企业级的Web页面。

基于BizWorks业务中台之上的低代码应用开发中的产品能力

基于BizWorks业务中台之上的低代码应用开发中的产品能力

页面框架及导航

平台预置了通用的页面框架配置,开发者可以直接配置化使用,也可以自定义JavaScript开发。通过预置的页面框架,平台提供了导航布局配置、菜单数据配置、用户信息配置等能力,开发者可以快速构建页面框架。同时页面框架支持前端逻辑流和JavaScript开发,可以支持前端全局逻辑执行。

基于BizWorks业务中台之上的低代码应用开发中的产品能力

基于BizWorks业务中台之上的低代码应用开发中的产品能力

应用检查校验

平台提供应用级别和设计器级别(针对界面编排、服务编排、流程编排设计器)2种视角的合法性检查校验,支持定义配置完整性、表达式语法、资源依赖关系等检查校验,帮助开发者在应用部署前尽快发现问题定位问题处理问题。

基于BizWorks业务中台之上的低代码应用开发中的产品能力

基于BizWorks业务中台之上的低代码应用开发中的产品能力

专业代码开发

如果通过已有的低代码配置和编排能力并不能解决部分业务需求,开发者还可以用专业代码实现低代码和全代码混合开发模式来实现个别业务需求。平台提供相关前后端全代码开发脚手架和示例代码。

  • 前端代码,前端有2种全代码开发的场景:
    • 一个是自定义组件,如果平台内置的前端组件不满足业务需求,开发者可以用JavaScript&React开发自定义组件,导入平台后,该组件可以直接参与界面编排中的可视化配置设计。
    • 另一个是自定义页面,如果业务需求有比较复杂的交互要求,开发者也可以选择用JavaScript&React开发自定义页面,导入平台后,可以跟低代码编排的页面统一管理和配置使用。
  • 后端代码
    • 后端代码开发,平台提供应用级别的基于Java&SpringBoot全代码开发脚手架。开发者可以根据业务需要依赖外部服务API、外部数据库/缓存/消息等中间件,可以实现某个服务API、AOP,任务调度等功能。
    • 基于后端代码脚手架,开发者可以在本地直接启动整个低代码Web应用,支持本地开发、访问和调试,开发完成后可以打包导入平台,平台对代码包进行部署和托管运行。

基于BizWorks业务中台之上的低代码应用开发中的产品能力

快速构建部署

基于低代码平台开发的应用,开发者可以像全代码应用一样,支持不同的用户环境、不同的运行实例资源配置来做打包构建部署,支持更新,支持回滚。低代码平台部署支持增量热部署机制,在第一次镜像部署之后,对于配置编排的每次开发变更,可以做到秒级部署和启动,可以快速看到应用开发的运行效果。

基于BizWorks业务中台之上的低代码应用开发中的产品能力

基于BizWorks业务中台之上的低代码应用开发中的产品能力

基于BizWorks业务中台之上的低代码应用开发中的产品能力

基于BizWorks业务中台之上的低代码应用开发中的产品能力

四、BizWorks低代码Demo展示

以下是基于BizWorks低代码平台开发的某电商运营管理系统的Demo,读者可以将此作为平台能力的一个参考。

登录页面Demo

该登录页面不是平台预置的登录页,是开发者基于低代码平台设计开发的账户及登录功能。

基于BizWorks业务中台之上的低代码应用开发中的产品能力

工作台页面Demo

这是运营管理系统的工作台首页,展示了一些快捷操作入口,关键数据,以及待办事项信息。

基于BizWorks业务中台之上的低代码应用开发中的产品能力

商品列表页面Demo

这是商品管理页面,有查询商品、编辑商品、上架商品、删除商品等操作。

基于BizWorks业务中台之上的低代码应用开发中的产品能力

交易分析页面Demo

这是交易分析场景下关于数据统计方面的页面。

基于BizWorks业务中台之上的低代码应用开发中的产品能力

五、深入了解和咨询

如果大家对BizWorks(企业级云原生应用数字工作台)相关产品以及低代码平台有兴趣,欢迎访问BizWorks主页做详细了解:https://www.aliyun.com/product/applicationservice/bizworks