资料下载——《车载SOA软件架构技术规范1.0》
2021年6月17日-19日,中国汽车工业协会主办的第11届中国汽车论坛在上海嘉定举办。
其中,19日上午举办的主题论坛“共创软件定义汽车新生态”上,上汽零束软件分公司首席架构师孟超发表了主题演讲,并发布了《车载SOA软件架构技术规范1.0》。阅读原文可在线浏览和下载此规范,也可在后台回复“规范”获取。
以下内容为现场演讲实录:
尊敬的来宾大家上午好,今天我是另外一个身份,我把15分钟分成7分钟、8分钟,前7分钟是“销售员”,讲讲SOA方面我们的成果和做法。剩下8分钟我作为“服务员”,代表零束发表一下SOA软件架构技术规范1.0版本。
今年4月9日,上汽集团召开了SOA开发者大会,当时我对SOA和智能汽车是这样的理解,软件定义汽车,定义的是什么,软件与汽车是什么关系?
SOA软件可以给智能汽车带来什么?我们认为软件与汽车,看似“泾渭分明”,实则是“琴瑟合鸣”。零束也在今年年初发布了智能解决方案,叫零束银河全栈4+1解决方案。首先是全栈解决方案4大技术底座,即:中央集中式电子架构,SOA软件平台,全栈OTA合网络安全方案,智能车数据工厂,1是指跨域融合的端到端的数字化体验平台。
SOA软件平台在整个零束和整个上汽开发过程中如何实现的,包括我们货架是怎么样的,为OEM、科技公司、第三方开发者提供什么服务。
这个软件平台概括为三方面的特点:
1、跨域融合,跨车内各域,跨车云,连接IoT的跨域软件平台,有人说这个软件平台是中间件,也有人说是我们取巧的做法,但是不管怎样,我们希望通过这样的开发模式,让智能汽车软件开发、软件迭代更加适应用户的需求,这是软件平台的第一目标。
2、车如果想做到智能,硬件能力怎么挖掘?包括整个计算能力怎么挖掘?是无限制靠硬件堆料,做硬件的军备竞赛?还是做软件协同?第二个维度思考的时候,希望SOA软件可以真正做到可复用、可重组,并且通过基础挖掘软件模块的能力,所以我们当时也提出了这样的理论基础,原子化的服务封装,现在行业内大家都在引用这样的说法。
3、SOA一定不是一家企业或者一个人能做出来的事情,这是个很难的过程。今年年初看到一个帖子,有人讲SOA究竟是蜜糖还是毒药?这个事情如果是双面的,如果用好了就是蜜糖,如果不考虑安全,不考虑汽车本身的属性,那它就会成为一个毒药,甚至会造成所有车辆的召回,导致智能汽车灾难性的事件发生。所以需要有一套完整的标准来规范SOA,保证其成为蜜糖而不是毒药。SOA是一个理念,开始提出的时候只是一个方法论,我们在方法论基础上,对智能汽车的行业性思考。当然第三个特点是我们自己想的,能不能兼容所有的操作系统,并且让应用变得非常简单。这是我们对SOA软件平台的基础思考。
有了这样一套软件平台,现在量产车型中还没有完整落地这样的软件平台,刚才各位嘉宾讲到了,有的软件平台是基于CP+AP框架的,有的没有用AP,基于一些实时性OS的中间件,怎么做大家都有自己的想法,但至少在一个维度上,就是接口维度上要统一,这是我们对SOA的思考。
有了SOA的平台,SOA可以解决软件的快速迭代,能不能真的产生商业价值?我们也打造了这样一个开发者平台,在今年4月9日开发者大会上也做了发布。面对普通开发者包括一些小白,可能没有编程基础,上汽零束提供基础的开发工具Z-ONE Maker,这个工具已经上线了,感兴趣可以到开发者官网进行尝试。面向业内的,比如今天参会的所有极客以及业内OEM和供应商也提供两类开发工具,通过图形化拖拽形成智能化的应用,用一个通俗的比喻来讲,我们希望和所有的开发者共创属于整个汽车行业的“Android”操作系统。
开发者、OEM开发出来的应用如何抵达最终的C端,包括我们的B端,我们讲到软件可买、可卖、可订阅,同时提到应用商城APP Store,其中的App不仅仅是应用生态APP,包含更多属于汽车自有的,汽车功能、性能部分的APP。在这个商城上可以提供SOA开发的服务组件、场景、应用商城。
为了帮助所有开发者更好的开发,开发者官网和社区也上线了,今年8月份我们将提供全套APP store、开发者社区和全部工具链,同时为了极好测试开发的应用,我们还提供了完整的Z-ONE TE测试环境套件,在云端进行产品验证和快速迭代。
刚才讲的是零束银河全栈SOA产品线,我经常被产品经理问,有这样的产品出来,你SOA究竟为用户带来什么?每天都在讲SOA,行业都在做SOA,但是所有老百姓看到你的时候,根本一点感觉都没有,根本不知道你在说什么,车上有没有SOA,究竟有没有什么变化。
通过七个维度做了总结,SOA这种产品的应用,根本上解决的就是两个问题:一个是软件快速迭代。我们把它总总结成T+0+1+7,对普通的小白开发者,只需要通过拖拽,再搭载SOA软件平台汽车就可以做到即编辑即用,专业开发者可以做到一天或者七天上架应用,这个取决于应用的复杂程度和开发应用涉及到的安全程度,如果做到应用涉及到整车安全了,那七天也是做不到的,所以这是SOA的快。
第二就是变化。一个很热的词就是千人千面、订阅式服务,怎么实现呢?就是我刚才介绍的两个产品线实现的,真正让智能汽车灵活起来,我们也面向所有开发者开放了基本服务接口,包括现在两百项跨域的服务,一百项内部系统服务,接口能力超过1900项。
关于SOA,上汽零束做的已经是第二代迭代产品了,第一代的产品包括市面上大家认为的AP,我更确切认为是SOC,基于通讯框架的一代产品,现在是第二代基于软件的SOA,我们的产品叫SOVP,我们接下来迭代的是SOAD,面向数据的软件平台,更多为B端提供分布式存储等,随着整个产品线的不断提升,整个SOA软件平台和开发者平台也不断布局。
最后讲一下我作为SOA开发者的想法。SOA每个车企都在做,今天我站在这里,代表零束邀请大家在接口层面进行标准化或者架构层面标准化,通过标准化以后,大家一起来建设所谓智能车的生态,最后用这样的八个字,讲一下零束SOA的初衷,我们希望共创、共建和共享,当然不追求商业逻辑的成功是没有意义的,最后共赢,打造SOA的生态。
上半场七分钟我是一个“销售”,讲讲零束的SOA整个全栈产品,包括工具链的开发情况,也邀请所有开发者,使用这样的产品,加入到我们SOA生态,也邀请所有同行合作伙伴,大家一起共同定义这样的接口标准。
上汽零束作为SDV编写组委会委员,我们也和其他编写单位共同编写了这样一套《车载SOA软件框架技术规范》,就是今天我们在这里发布的1.0版本。
我跟各位嘉宾汇报一下现在这套《车载SOA软件框架技术规范》的编写规范。如果简短的总结下来就是两条:第一智能电动的赛道已经来了,智能电动车是我们的大开发背景。第二软件定义汽车时代已经到来了,今天所有嘉宾的演讲内容,有一个趋同的趋势,大家都在讲SOA,几年前讲SOA我们觉得这个人疯了,现在讲大家都是很有感触的,在这样的行业背景下,整个协会委托我们,作为主编委员编写了这套规范。
这套规范意义重大,第一是讲软件架构体系的建设,这个词非常大,因为我们刚刚迈出第一步,也是基于过去上汽零束对于车型落地的探索,总结出来的框架性指导,我们也愿意和全行业分享。
第二是完善SOA软件架构技术研发体系,体系说大了,我们最多是抛砖引玉,和大家、所有的委员一起完善这样的标准。
整个SOA软件架构技术规范,大纲分这么五个章节,比较前沿的是我们做了一些对标分析,包括国内外的情况,第三章是做了SOA软件架构的设计规范,这是Arch层面的,第四章大家提到原子化的服务,包括内部的服务、系统的服务,我们做了服务的基础设计。最后做了一个感谢所有贡献单位的总结。
找三点核心的内容跟各位做一个分享。SOA架构设计1.0里面,大概包含了哪些内容?第一方法论的方面,很多公众号大家看到了SOA服务,但服务有什么样的划分依据呢,我们现在采用了自上而下,自下而上的方法。特别好理解,自下而上,主机厂过去多年业务场景,很多功能,很多东西是服务软件模块,我们沉淀下来形成CP和AP框架上这一层。通俗的讲。自下而上,将车内所有的传感器、执行器以及外部基础数据模块,以及加速引擎自下而上进行提升,形成了这样一套软件中间件系统,这是讲得很通俗的方法论。
我们接下来还会做横向的,把开发过程当中系统内部的和域控制器之间的,包括中央计算平台之间,系统内部的服务也会抽象出来,形成这样的设计流程和设计方法。
架构的设计方法刚才已经基本的带到了,也是分软件架构和服务架构两种思路,软件架构不是单纯造传统汽车,我们要站在车的角度看,站在云管端的角度做闭环设计。比如我们做跨车内各域的架构设计,包括跨车云之间的,让车和云解耦,让车云软件解耦,是这样一套架构设计方法和思想。
我们也用了VAL车辆抽象化技术,让各品牌车对云端开发者是无感的,我不在意最后的接口形式,只是让开发者变得非常简单,用到整车的能力即可,这是在架构设计的主要思路。
对于服务,这是比较讲究的。自下而上和自上而下,第一步靠大家共同摸索迭代,让标准更加完善,这就是我们软件架构和服务的设计方法。
因为之前收集大家想法的时候,我们有这样的提问,设计的原则是什么,我们团队工程师,讲了这么几个字:重用、抽象、粒度、封装、协调,我用我的理解讲,设计这一代的SOA原则,要有约束性,不是自由的,如果要自由SOA就成为毒药了,这是一个基础的原则。
第二复用性、颗粒性、兼容性,我相信每个技术软件开发的从业者都有这样的思考。
第三就是做架构师的性能和整个优化是怎么考虑的。
这三个方面形成标准,希望SOA的初学者和开发者用这个产品。“抽象”将通用功能进行下沉封装;“粒度”根据平台、业务需求,将软件功能按需拆解成不同细化功能颗粒度,以满足二次封装等特性;“封装”基于原子化的服务模块,组合封装出复杂的上层功能;“协调”在整个SOA服务设计过程中,需协调分配不同功能的配合方式,以达到最佳的性能、最小的消耗和最优的扩展。车云之间的协调分配如何做到分布式计算,云端的能力与车端能力怎么通过微服务和车端SOA服务进行映射,这几个方面我们提供了这样一套基础的设计原则。
有了这样的方法论和服务的设计,我们还提供了部署的原则,刚才也基本上讲到了,整个部署就是最终SOA落地的过程,部署原则,我重点强调两块儿,也是我们之前遇到的很多问题。第一,开放和安全,这两个互斥过程一定要想清楚。最简单的,我们测试封装就出现过问题,不是SOA打开了大家就做,这个趋势是对的,我们还是有的放矢,分阶段、分步骤的实现,包括对于开发者的权限管理,我们的VAL也提供了全线管理方法。
讲了这么多,整个SOA软件技术规范的1.0版本,今天正式跟各位见面了。到1.1版本,我们同时会迭代一些安全的,包括刚才提到的车云的,还有整个服务验证的迭代规范,1.1版本我们也会在9月份的智能网联大会上,跟各位进行见面和发布。
以上就是我刚才关于SOA整个基础情况的介绍,最后讲一个自己发自内心,作为软件从业者的感受,就是协同,在这个时代是朋友圈的时代,大家协同,最后才能做到共赢,谢谢各位。