京城12时辰再战江湖 – 基于 BTP 的极客创新体验
序言
“全栈工程师”是在创新领域里一种“大神”的存在,技术精英在不断打磨自己的技术和扩展知识领域过程中,都在向这个目标不断迈进,而企业和团队则期望可以通过更少的人员完成更复杂的场景,另一方面技术不断的快速迭代演进让技术团队技能包的演进变的越来越难跟随。值得庆幸的是,云架构和低代码技术应运而生,通过云端成熟的架构体系、方便使用的服务功能及低代码友好的用户体验,可以让更多人进入到创新的领域,加速企业应用的迭代,更高效地满足业务发展带来的赋能需求。下面我们以笔者的实战体验来说明一下如何基于 SAP 的 Business Technology Platform( BTP 业务技术云平台 )进行一次高效的极客开发之旅。
题目由来是一次内部的创新活动,我们希望基于国家危险品管控的安全新规结合 SAP 现有丰富的管理流程支撑平台,围绕一系列的关键点展开创新。其中货品状态监控及管理是整个需求中重要的一环,我们需要一个快速落地的系统,希望在最短的时间内结合传感器数据来管控危险品货物的状态及环境特性,目标场景是通过危险品货物姿态、货物包装情况及温度、湿度等信息来监控货品的状态。通过12小时的开发,我们实现了全部从设备监控数据、云平台集成、存储、展现,到最终移动应用的端到端场景实现。场景并不复杂,也不少见,但是如何从0到1快速实现业务需求是最大的挑战。基于 SAP BTP 业务技术云平台,所有的需求都在12小时之内得以完美满足。
准备
SAP BTP 业务技术云平台是一个基于公有云的 PaaS 平台,最关键的优势就是和 SAP 系统紧密互动而提供大量业务和技术能力,帮助 SAP 客户快速地进行场景定制、集成、分析及创新。
这次的快速创新,我们用到了 BTP 业务技术云平台中的集成服务(SAP Integration Suite)、数据服务(HANA Cloud)、开发框架(Cloud Application Programming Model)以及前端低代码工具 Appgyver,配合树莓派(Raspberry PI)以及 TI 的 SensorTag CC2650 传感器实现了货物状态数据的收集、判断及用户提醒。
环境准备及架构
10AM – 12PM
按照功能需求,采用 SAP BTP 业务技术云平台常用的架构及服务快速搭建了实战环境,由于所有服务都采用了云架构,因此平台环境的搭建完全自助化,功能配置实现了快速化,而且平台还提供了体验感满满的开箱即用 API 。
首先我们结合平台服务能力的配置,启动了 Raspberry PI 以及 SensorTag 传感器,烧制 Raspberry PI 及完成树莓派的配置花去较长的时间,2小时过去后我们整体的环境已经全部就绪。
传感器数据准备
12PM – 6PM
一个人的知识范围总是有限的,准备传感器数据的部分成为这次耗时最长的环节,获取传感器的数据后,学习如何解析 加速度计、陀螺仪和磁力计的9轴数据信息花去大部分时间,也有了进一步知识的拓展,是此次实践的重大收获。
数据模型开发1h
6PM – 7PM
由于下午研究终端数据花去了太多时间,当时很怀疑是否当天能有一个成果,不过后续的工作都是基于 SAP BTP 业务技术云平台,因此在时间效率上就比较有保障。这个环节也特别能够体现出基于产品和框架的开发和完全自开发在工作效率上的巨大差异,自开发过程中的“不确定性”以及对于专业知识技能的要求要比基于成熟平台完成需求高出很多。
数据到云端以后要进行存储,同时需要提供服务让各种应用进行访问,还需要在云平台完成部署,为了满足各种规模数据处理的需求,这个环节我们采用了 HANA Cloud + CAP 的方式。通过可视化的建模开发,平台一次性的解决了服务部署、数据库结构的生成、API 服务的生成。基于 SAP Application Studio 可以完全可视化的完成此工作,尽可能地降低了工作量、减少了应用中可能出现的各种问题。
基于 SAP Business Application Studio 工具(上图),可以采用低代码的方式完成数据模型的构建我们只需要做好数据定义就可以了,其他所有的功能都由平台和框架完成。这块的工作进展其实大大超越了我的预期,一切进展顺利,经过几次快速的调整,一个小时内就完成了模型的定义、代码生成和部署,数据服务已经可以被顺利地访问了。通过简单的配置,采集的数据信息通过 BTP 中的 SAP Analytics Cloud (SAC)可以进一步优化应用,制作大屏作战室,所有危险品运输必将尽在掌控。
系统集成开发1h
7PM – 8PM
SAP BTP 业务技术云 平台是一个基于公有云的 PaaS 平台,最关键的优势就是和 SAP 系统紧密互动而提供大量业务和技术能力,帮助 SAP 客户快速地进行场景定制、集成、分析及创新。
这次的快速创新,我们用到了 BTP 业务技术云平台中的集成服务(SAP Integration Suite)、数据服务(HANA Cloud)、开发框架(Cloud Application Programming Model)以及前端低代码工具 Appgyver,配合树莓派(Raspberry PI)以及 TI 的 SensorTag CC2650 传感器实现了货物状态数据的收集、判断及用户提醒。
SAP Integration Suite 也是一个低代码开发工具,在系统到系统之间的集成可以通过拖拽的方式快速开发 iflow 实现集成逻辑、接口映射、数据转换,甚至能够实现一些对接逻辑的代码。我们通过这个工具快速构建了从数据源到数据存储间的逻辑,实现了一键部署。整体集成的运行时环境完全是在 SAP BTP 云端提供,支持未来并发流量攀升时的自动扩展,在项目中有效减少了前期很多架构、技术方面的讨论,团队只需要关注快速实现即可,这加速了项目进程。这样的工作方式和工具大大的简化了这个过程,整体集成工作也在1个小时内顺利完成。同时,平台本身开箱即用的监控及管理能力,让整个体系也变的更加可控。所有关键数据的传输均可追溯,一旦出现了错误还可以通过界面进行原因追溯,让我对系统长期平稳的运行是信心倍增。
移动端应用开发2h
最后一个环节就是手机移动应用了,在项目需求里前端用户必须要可以比较直观的看到货物的状态并且获得预警信息,这次我采用了 SAP 低代码开发工具 Appgyver,通过无代码方式完成前端应用开发,同时满足 iOS、安卓、MAC 和桌面端的跨平台应用发布。
开发过程完全所见即所得,无需一丁点代码知识,通过拖拽的方式实现界面的构建,工具提供了各种界面控件,同时提供了模板商店,借助社区的力量积攒了大量的格式界面模板,支持端到端界面构建过程。另一方面,丰富的属性配置让界面的布局更加灵活,元素更加灵动,内容则更加丰富。
通过可视化规则配置界面实现业务逻辑的构建,灵活的界面跳转,强大的后台交互,让界面中的数据和用户交互更灵活多变,满足各种用户需求,强大的表达式机制支撑复杂业务逻辑的实现,全程高能,2小时内搞定界面逻辑。
小结
SAP BTP 业务技术云平台作为 SAP 整体解决方案家族中的唯一平台类产品,承载了重要使命,在本次快速创新过程中,笔者基于众多 SAP BTP 平台的工具和服务能力,快速搭建了业务亟需的各种场景。当前,为了实现“在中国、为中国”的战略定位,深耕行业,SAP 建议合作伙伴及客户开发深度定制化的行业解决方案并上架到 SAP Store 中,赋能全球46万家客户。SAP BTP业务技术云平台在其中充当了整个生态体系基础平台的重要角色,为生态提供安全、可靠、长期迭代并保持领先的技术能力,成为最最核心的“工具箱”。SAP BTP 业务技术云平台通过提供的各种能力简化客户从架构、设计、开发到运维的全生命周期中的工作,通过领先的服务为客户提供长期价值。
相关资源推荐