低代码开发为构建“智慧校园生态圈”助力
2021-06-01郭卫丹
郭卫丹
编者按:在本栏目之前的文章中,曾探讨当下热门的云计算行业中的SaaS、PaaS、IaaS这三个概念,最近几年APaaS的概念又开始被关注。APaaS到底是什么意思?有什么用?与前三者的区别是什么?我们将从理论到实际操作分两期对APaaS产品展开研讨,让普通非专业教师也能开发出适合学校的智慧应用,切实提升教师信息技术应用水平。
过去,依托于纸质表格的管理流程,使得学校教师在日常事务中需要付出大量的时间和精力,所以很多学校也对智慧校园建设开始了多年的探索。这期间,很多教师也体验了学校相关应用,但体验复杂,开发成本和学习成本高昂。有些学校把智慧校园的各个场景分散在不同的平台和产品上实现,而这些平台、产品可能不稳定且缺乏关联,无法满足智慧校园管理的长期需求。智慧校园建设着眼于未来校园IT规划,无论是教学、科研,还是决策、管理,都可以将业务在线化,更加人性化地服务于全体师生家长,建设真正意义的“智慧校园生态圈”。但在构建智慧校园时,学校也会面临学校技术力量相对不高、不同公司开发应用缺乏数据关联、用户层级和数量庞大造成家校难以协同等难点,而且传统软件开发仍存在开发成本高、定制化能力差、效率低、迭代周期长等痛点。这时候,不妨引入低代码应用构建平台来针对性解决校园智慧建设的难点,帮助学校快速搭建各类场景下的教育应用,打通底层数据孤岛,快速开发部署满足组织敏捷性需求,为智慧校园建设降本提效。
● 低代码产品发展概述
低代码平台是继中台之后又一个热门的话题,实际上低代码本身并不是一个新潮话题,低代码概念雏形最早出现在James Martin于1982年编写的《无程序员的应用程序开发》一书中,美国在低代码产品的研究过程较长,并积累了丰富的技术模型和落地经验,历经早期萌芽期、探索期,当前已进入到国外巨头整合阶段。而中国则是2014年才出现了第一个低代码平台产品,产品应用路径从早期的数据库交付、数据集结构搭建逐渐抽象出各种流程引擎、可视化界面等,而应用也从BPM(业务流程管理)延伸到更复杂的应用场景如ERP(企业资源计划)、CRM(客户关系管理)等应用系统的搭建。低代码平台的使用门槛也在逐步降低,从原来的专业开发人员过渡到业务人员,甚至个人也可以自行开发应用软件。但相对国外,国内相关行业整体仍然较为分散。
云计算提供的服务模式主要包含三大类——基础设施即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS),APaaS(application Platform as a Service,应用平台即服务)是PaaS(Platform-as-a-Service,平台即服务)的一种子形式,支持应用程序在云端的开发、部署和运行,提供软件开发中的基础工具给用户,包括数据对象、权限管理、用户界面等。通过为开发者提供可視化的应用开发环境,降低或去除应用开发对原生代码编写的需求量,进而实现便捷构建应用程序的一种解决方案。而APaaS开发平台通过降低开发人员门槛、减轻对专业工程师的依赖,使普通教师这样的非专业开发人员也可以进行软件开发,大幅降低了人力成本。平台形式的开发模式也省去了反复沟通、折返修改的流程,进而缩短项目整体沟通成本和开发周期。此外,针对单位个性化应用或二次开发,APaaS平台具备可扩展性、迭代周期短等优势,能够快速交付产品满足企事业单位特定需求。在后期运维上,APaaS开发通过将高质量模块进行封装,大幅减少后期因代码质量低而产生的运维成本。综合来看,APaaS开发相对传统软件开发优势明显。因此,APaaS平台也常被称为低代码/零代码平台。主流市场上的PaaS平台可以分为APaaS-应用、集成平台IPaaS,和IPaaS以打通为中心,集成和管理现有平台不同的是,APaaS主要是依托一个可视化环境,提供基于云的快速应用程序开发工具和应用程序部署。APaaS具备快速开发、测试、部署,并能够随时调整或更新等特征,即使非专业的教师也能完成应用程序的开发,都可以通过可视化拖拽的方式,一键分别发布到PC和移动端,简便、高效地实现各类业务场景的数字化。具体层次结构说明如图1所示。
● APaaS主流技术路径
“低代码开发”就是开发人员可以通过编写少量代码甚至无需代码就可以快速生成应用程序的一种方法。笔者有时把“低代码”作为名词用,这时候是把它看作一个像C系列语言或Python语言一样的“工具”;有时也把“低代码”作为动词用,这时候它表达的是其字面上代表的一种应用程序开发方式,因为在用这种方式开发应用程序时,需要手写的代码比通常的开发方式少很多,在部分场景下甚至可以完全不写代码。APaaS具有可视化、模块化、可拖拉拽等一系列敏捷开发特性,主要用于核心业务管理应用、移动应用采集数据、API接口写入数据并构筑管理看板、流程应用、流程自动化应用、部门级小应用等主要场景。对于学校不同业务部门的人员来说,APaaS可以减少各业务团队与如学校信息中心这样的IT管理和规划部门的沟通成本,降低人为差错带来的损失。对于开发人员来说,APaaS平台解放了开发过程中繁冗、重复性编码的工作,可以有效地降低人工成本,提升开发效率。此外,APaaS平台支持跨平台部署,可以同时为多个平台构建应用程序。用户通常可以利用表结构、视图、统计、自定义页面、用户角色权限、工作流等六个组件,以数据管理和工作流为基础,通过IDE开发环境驱动或模型驱动两种技术路径来搭建APaaS平台。基于IDE框架的快速开发平台是指将传统的集成开发环境(IDE)充分可视化,允许开发者使用配置面板和控制台来替代相当比例的代码编写,具体示意说明如图2所示。IDE模式灵活性更高,但应用开发过程管理复杂,所以主要针对IT专业人员,典型厂商如美国的Outsystems和欧洲的Bettyblocks均采用此技术路径。而模型驱动开发平台进一步降低了代码开发工作量,但在一定程度上牺牲了应用实现自由度,国内厂商如明道云、钉钉宜搭、简道云、伙伴云均采用此技术路径。
● APaaS平台应用场景
1.核心业务管理应用
基于关系数据结构,不同行业围绕核心业务构筑的核心业务管理系统,除了传统定制开发外,也可通过可复用模型,实现软件快速开发和部署,缩短项目交付周期。集成企业内部各系统,连接核心业务所需数据,提高业务部门工作效率。各部门数据的集成,打通企业内部数据孤岛,教育行业也有部分核心应用可以像流通业的进销存,制造业的生产执行、物料管理、设备管理,现代服务业的项目管理一样进行项目管理。
2.部门级小应用
因为零代码系统带来的易用性和免除代码开发的特点,在统一的应用管理能力下,可以由业务部门的非开发人员直接搭建或者主导一些简单的小应用,这样也能防范影子IT问题,如在线访问或编辑APaas平台上的应用文档表格,可以避免教师在个人设备上访问了学生学籍记录或个人详细信息,然后丢失或被别有用心者盗取或直接使用该设备访问学校的系统并删除或更改记录这样的安全事件发生。
3.流程自动化应用
为实现流程自动化而构建的应用,基于APaaS产品的自动化工作流,可以打通过去需要人工协调的断续工作流程,如学校请假、报修、财务发票的自身工作流的自动衔接,基于时间触发的设备维保提醒、学期更新提醒等。当然,也可以人工干预,即在复杂的数据协同中,构筑基于表单数据、审批和填写节点的人工控制工作流应用(学校图书出借、设备报修流程),业务人员在熟悉工作流的情况下,应该能很快掌握并实现为数据流转、填报和审核过程而构筑的流程应用开发。
4.通过移动应用采集数据
APaaS平台支持跨平台部署,大幅降低系统部署成本和简化部署过程,适用于制造、工程、零售等行业需要特定职能人员从一线采集数据的应用场景。在教学领域,相当多的APaaS平台产品已能够对IoT设备和移动端设备进行开发设计,能够最大限度地将学习过程智能化和可视化,有利于教师及时获取教学效果反馈数据,进行教学分析和反思,实现个性化教学。
5.利用API接口写入数据并构筑管理看板
从多个第三方系统开放的API接口抽取数据,实现数据共享和应用;API接口通过数据表进行自定义创建和管理,并且通过定义API接口输入、输出参数可进行API接口测试,沉淀到统一的数据中台,并结合APaaS平台的自定义仪表盘功能构筑管理驾驶舱的应用需求。这个应用场景就是用另外一种方式替代了BI+ETL的方案,主要用于信息中心管理和分析。除了调用之外,也有很多APaaS平台提供了构筑其上的应用的open api开放申请,定时将数据拉回到第三方系统中进行精加工或归档。
需要说明的是,从目前来看,大多数APaaS平台产品比较适合表单流程报表类型的在线办事管理场景。对学校应用来说,对于走班排课、精准教学、在线课堂等场景,就不太适合用低代码平台来搭建。
● APaaS厂商类型
最近的五年是aPaaS的快速发展期,至今已有近百家厂商进入这个领域。国外发展比较快的厂商有Redmine、Jira、Odoo、Smartsheet、Airtable,还有我们一直在接触的微软,中国市场有明道云、钉钉宜搭、氚云、简道云、伙伴云等。
1.国外厂商代表:微软Power Platform
微软提供的Power Platform平台,就是一个低代码开发平台,具体包括用于数据分析的Power BI、可以让企业构建低代码应用的Power Apps、可以自动执行重复性耗时任务的Power Automate,以及甚至不需要任何编码就能生成聊天机器人的Power Virtual Agent。Power Apps是一系列应用、服务、连接器和数据平台,可提供快速的应用程序开发环境,以根据业务需求生成自定义应用程序。Power Apps与Power BI、Power Automate和Power Virtual Agents共同组成Power Platform,四者联动为企业提供数据处理和分析服务,Power Apps在其中负责操作和修改数据。简单、易用、云端是Power Apps的三大核心,用户可以通过画布应用、模型驱动应用和自定义表单三种形式创建应用,画布应用可以让用户在短时间内轻松地组织界面,适合轻量级应用程序,模型驱动应用建立在通用数据服务基础上,适合设计长时间使用的非轻便应用程序。Power Apps生成的应用具有响应式设计,可以在浏览器或移动设备上执行所有Power Apps应用程序。但Power Apps本身不存储数据,需要连接到存储在任一底层数据平台或各种联机和本地数据源中的业务数据,适应小而频繁的业务变动。
微软Power Apps于2020年推出了MR版(如图3),通过导入GLB格式的3D模型,用户将能够查看模型并与之交互,通过终端设备将其与现实世界显示融合,甚至可以拍摄场景照片,使创建混合现实应用(MR)不再神秘。该功能可用于用户预览产品外观和为判断该产品在现实场景中的融合程度提供参考,让用户使用體验更加多维。未来,Power Apps可能会利用移动传感器如相机、视频、触控等,以及调用运行在云端服务中的数据,MR技术能为教学带来更多创新教学模式及跨区域的互动体验,为未来教学创造更多的可能。
2.国内厂商代表:钉钉宜搭
很多学校在新冠疫情爆发期间,在钉钉上已经构建了以学校为基础的家校数据架构,鉴于教师对钉钉相关教育套件比较熟悉,笔者接下来用钉钉宜搭来搭建一款低代码应用实例来说明。宜搭平台的命名取适宜搭建、容易搭建之意,平台集合了页面设计、业务规则定义、数据收集与分析三大核心能力,用户通过简单的拖拽、配置,即可完成业务应用的搭建。同时,平台还具备一次搭建双端适配、权限独立设置、定制消息提醒推送及海量信息存储等特性,旨在为广大中小企业提供一套低成本的企业应用搭建解决方案。尤其要指出的是,针对学校用户的场景,目前也推出宜搭教育版,增加了教育行业属性的特殊组件,打通了家校通讯录,方便调用学生、班级数据。
设备报修是学校必不可少的应用场景,应用模块包括设备管理、用户报修、报修单管理、派单管理、维修管理等。那么,如何利用宜搭+钉钉实现高效的设备报修管理呢?接下来将重点介绍报修阶段的应用实现。
实现思路:首先建立设备档案,即设备管理表;其次建立报修流程,报修人可以通过提交报修单,发起对设备的修理申请;最后修理人员接单、处理并反馈处理结果。
相对传统报修系统,这里要做的优化点,从用户体验侧来说主要为:每个设备拥有一个报修的二维码,被贴在设备上;报修人员用手机钉钉扫描二维码后,设备信息自动填写在报修单上,用户仅需填写設备问题现象并通过手机拍摄照片上传,即可完成维修上报;报修人随时可查看维修进度。下面,笔者用宜搭实现用户侧的优化来说明。
①需要建立设备的单据页、报修的流程表单、生成网址的报表页面,如图4所示。
②设备登记表中需要有一个唯一的设备编号组件(保证唯一的编号字段),其他字段根据实际情况创建,如图5所示。
③设备列表(报表)中,用表格组件列出设备登记表的数据,最后通过公式添加一列设备链接的字段,如图6所示。编辑公式,设置链接(如图7),报修表单链接替换为实际提交表单的地址。地址为:报修流程表单的设置→分享设置→移动端访问地址。
④通过报表将设备链接批量导出,并通过二维码生成工具,生成二维码并打印粘贴在设备上。
⑤设备报修流程表单中新建数据源里新建一个参数,名字为urlParams,用来获取地址栏中的参数,具体按照自己设定的变量名来取,如图8所示。
⑥设备报修流程表单中其他设备字段通过关联数据获取,通过上面的设备编号关联自动填充,如图9所示。
这样,基于宜搭+钉钉的设备报修就很方便地完成了。可以将应用上线,并发布到学校钉钉工作台上。实际上,每一所学校都应该有类似以上示例的应用需求,如学校的物品报修、物品领用、党团员管理、基础档案、听课评课、防疫上报,奖状证书制作等场景,教师们不妨用这样低代码的、快速搭建应用的平台来搭建,使用人就是开发人,能让应用更好地串联起教师、学生、家长的需求,让学校师生管理、教科研管理、后勤服务等业务都能流畅地运转起来,“就像打通血脉,我才可以正常呼吸”,从使用者角度出发设计开发可能会更好地完善“智慧校园”生态圈。同时,在使用方便、运转高效之外,数据关联也让学校“智慧校园”建设有了更多的自由发挥空间。
● 结语
目前来看,笔者相信,为广大非业务人员提供便捷的开发平台是APaaS平台最重要的诉求。随着时代的不断更迭,编程势必会变成一种刚需,而对于广大非专业的教育工作者而言,低代码开发会成为他们日常办公中不可或缺的利器。对学校来说,伴随着APaaS平台的不断升级、更新,相信其还会推出更多更好用的针对教育应用的工作模板,各位非专业开发人员在工作中遇到的小问题和小需求将会被一一满足,节省开发成本,提高工作效率就是提升了学校信息化应用水平。甚至,我们还可以期待低代码开发将不再局限于工作业务,而将成为一个全民可用的软件开发平台。通过APaaS低代码开发和应用平台,每个人都可以根据各自不同的需求来开发出合适的软件,并且运用到实际的生活场景中去,而这,也将是低代码平台最终极的目标——人人都能成为低代码平台的受益者。