工业软件开发框架的开源推进
2020-11-28张伟
我非常高兴有这样的机会分享一下海尔工业互联网平台在工业App框架开发过程中的开源推进情况。
首先,海尔作为有着30多年历史的生产制造厂商,工业App开发背景雄厚,通过引入信息技术管理手段,逐步形成了包括交互设计、采购、供应链、物流、营销服务的技术模块,同时聚合了软硬件资源、供应商资源和开发者资源,推出了两化融合工业互联网平台。
在工业和信息化部信软司公示的2019年跨行业跨领域工业互联网平台清单中,海尔COSMPlat工业互联网平台排在首位。
我们一直在思考这样的一个问题:如何把当前家电类的生产经验和最佳实践赋能到其他行业,比如家居、农业?
因此,我们提出了工业App开发框架项目,来实现工业App跨行业、跨领域的赋能作用。项目目标包括两个方面,一方面是加速孵化进度,另一方面是提升孵化质量。
不管是工业App开源的建设、技术框架的搭建,还是落地方案的实施,我们都是以海尔自身工业App生态为出发点,通过整合现有的产学研用资源,把当前的开源资源组件融合,最终实现海尔工业App生态到开源App生态的转变。
IT基础能力的提升是以工业互联网平台为基础的。我们要把开发框架与IoT的链接能力融合起来,创建敏捷开发模式,实现从基础能力到敏捷开发框架,再到通用能力的发展,赋能工业App的开发。
项目的规划包括运营管理和业务框架两大模块,其中核心部分是业务框架,分为边缘接入、数据接入、数据处理。我们是通过开源与自研的结合,支撑起自身App组件的开发。
关于具体的技术架构,我们在最底层的边缘协同层,设置了多协议适配的功能;在数据接入层支持持续数据、关系型数据,以及大数据等的传输;在数据计算层,一方面接纳、沉淀了产业自身的工业模型,同时引入外部的人工智能通用算法,支撑起业务逻辑层的功能开发。我们在前端展现的业务逻辑来自于业务封装功能组件,最终给用户呈现出优质的工业App的服务。
在探索框架开发过程中,有这样几个关键点。
第一,探索工业App开发最佳流程。在这个过程中,不管是敏捷开发,还是现在非常流行的Devop,落脚点都在于要消除开发团队、测试团队与运维团队之间沟通的鸿沟,实现APP开发,得到稳定可靠的结果。
我们基于这方面的考虑,抽象出三大环节:交付流程、运行环境和运行管理。我们的开发团队通过代码仓库实现代码集成,在通过单元测试后,由测试团队接收该版本,在测试运行环境中集成测试,进行预生产环境类似的测试;测试通过以后,通过内部机制交付到运维团队,最终实现工业App稳定可靠地在生产环境中运行。
第二,探索基于云平台工业App部署方式。首先,计划交付方式,通过这种方式我们可以实现从云端到边缘端快速应用的部署,避免因为部署环境的差异导致App运行出现一些问题。其次,制定面向微服务的方式,提高应用灵活性、健壮性。最后,进行动态管理,实现容器自动化调度与管理。
第三,探索工业App通用层的服务。结合自身的工业行业特点,我们总结了资产管理、工业分析、数据服务、工业运营、边缘计算等方面的分布部署计划。
第四,探索基于微服务架构工业App最佳实践。其核心点在于微服务背后的运行框架。为了支撑起微服务封装、微服务注册、微服务管理,我们通过不断的尝试,对微服务进行拆分,尝试部署微服务策略,不断获取反馈,以高效的方式来构建适合我们自身特点的应用系统。
第五,探索工业App标准化。标准化是工业App能够被广泛使用的重要前提条件,为此,海尔多次参与了国际IOS组织的一些大规模标准制定的研究。
第六,探索工业App体系化。我们将微服务的开发、技术框架的标准化等整合成一套完整的工业技术体系,来赋能工业App的发展。
下面我再简单介绍一下当前海尔开发框架的进展。在功能规划方面,我们在数据接入层和数据逻辑层进行了内容扩展,并把内容发布到开源社区形成完善的开发文档。
海尔认为产品终将会被场景所替代,行业终将被生态所替代。基于场景,基于需求,基于产业特点引入相应的技术工具,实现价值创造,才是需要我们持续去做的事情。我们现在正在探索的是如何把IT作为一种工具融合到工业、家电类行业里面,以实现最佳实践。
开源的理念就是从开源中来、到开源中去。所谓从开源中来,指的是海尔根据产业自身特点,从开源中吸纳优秀的开源经验,结合产业特点来进行定制开发,完善工业App开发流程,并且跨行业、跨领域复制这些经验。所谓到开源中去,指的是海尔把自身的原码开放到开源社区,以期形成一个良性的循环。我们相信在联盟的带动下,中国的开源生态会越来越好。