編輯 邵華
2021年6月17日-19日,由中國汽車工業協會主辦的第11屆中國汽車論壇在上海嘉定舉辦。站在新五年起點上,本屆論壇以“新起點 新戰略 新格局——推動汽車產業高質量發展”為主題,設置“1場閉門峰會+1個大會論壇+2個中外論壇+12個主題論壇”,全面集聚政府主管領導、全球汽車企業領袖、汽車行業精英,共商汽車強國大計,落實國家提出的“碳達峰、碳中和”戰略目標要求,助力構建“雙循環”新發展格局。其中,在6月19日上午舉辦的主題論壇“共創軟件定義汽車新生態”上,上汽零束軟件分公司首席架構師孟超發表了主題演講。以下內容為現場演講實錄:
尊敬的來賓大家上午好,今天我是另外一個身份,我把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整個基礎情況的介紹,最后講一個自己發自內心,作為軟件從業者的感受,就是協同,在這個時代是朋友圈的時代,大家協同,最后才能做到共贏,謝謝各位!
(注:本文根據現場速記整理,未經演講嘉賓審閱)