宁波数益工联科技有限公司

 

工厂全数字化解决方案之Android架构

  原标题:数益说 | 工厂全数字化解决方案之Android架构

  数益工联数字工厂系统 DFS(Digital Factory System)从边缘数据层、应用功能层、数据大脑层三个维度构建工厂的全数字化解决方案。DFS在客户端侧的实现主要依托于Web和Android。其中Android端运行在PAD、PDA、电视大屏和智能手表上,通过丰富的人机交互手段将工厂生产数据实时、准确上报至服务端。

  DFS在Android架构的设计中充分考虑了端侧设备的多样性和业务的扩展性。横向业务架构上实现了各个业务之间的模块化和配置化,根据具体业务自动配置相应的功能模块。垂直基础架构上实现了底层架构的共同性,所有Android端侧的软件均使用同一套基础组件。

  技术难点

  目前有三个安卓原生端项目,分别为APP、智能电视看板和智能手表,虽然在业务端表现各异,但底层架构(即基础组件)上应用同一套逻辑。每个项目单独管理会极大增加工作量,容易造成项目间的隔离。主工程——DFS APP由于业务的扩张、代码量的增加,全量编译耗时较长,这时就需要业务模块的相互隔离,即实现组件化。构建底层逻辑时需要考虑项目之间的协同性,做到基础架构的统一和业务模块的分离。

  解决方式与技术实现

  DFS的组件化分为本地模块和云端模块。

  云端模块实现了“一次修改,全部更新”的效果,极大提高了开发效率。且云端模块与业务完全解耦,规避了多项目版本管理造成的时间浪费。编译完成的基础组件将编译产物aar上传至maven,项目依赖/引用后无需二次编译,极大提高项目编译速度。

  本地的业务模块实现一键切换“全量编译&单独编译”,每个研发人员只需关注自己所负责的业务模块,在开发调试时只需编译自己的业务模块,极大提高了编译速度,团队各人员对自己的开发业务范畴更为明晰,提高团队协作性。

  架构

  以DFS APP为例,将两大模块拆分后的组件架构:

1

  数益DFS (Digital Factory System) APP组件架构

  其中本地模块为业务模块,互相独立,可作为模块被APP壳子所依赖,也可作为单独APP运行 。

  云端模块为基础组件,不用作为APP单独运行且不随业务需求而改变,可在项目中被依赖作为基础组件 。

  基础模块及技术栈说明

1

  基础模板

1

  技术栈

  通过业务架构+基础架构的联合作用,实现了代码端的标准化,即一套代码满足所有业务需求,支持后续业务的快速扩展,大大提升了开发效率和团队成员之间的协作性,更保证了DFS的稳定性。