400-821-6015
行(xíng)業(yè)資訊
您當前的(de)位置:首頁 » 行(xíng)業(yè)資訊 » 行(xíng)業(yè)資訊
內(nèi)部資訊行(xíng)業(yè)資訊

SOA究竟是(shì)蜜糖還(hái)是(shì)毒藥?₩↔★(一(yī))

發布日(rì)期:2021-03-19

題記:吾之美(měi)食,汝之鸩毒。--《物(wùφ§$)性論》

1

現(xiàn)在所有(yǒu)有(yǒu)進取心的(de)OEM都(dō₩∞←≤u)在研究SOA(面向服務的(de)架構:Service Orientedδλ Architecture) ,也(yě)都(γ ™←dōu)在搞下(xià)一(yī)代的(d‍™e)EEA(電(diàn)子(zǐ)電(diàn)氣架構)。如(rú)果一(yī)個(gè)業(™σ"&yè)內(nèi)人(rén)士說(shuō)不(bù)出幾個(g≤​←è)關于SOA的(de)詞,基本上(shàng)是(shì)不(bù)好(→↔hǎo)意思與别人(rén)打招呼的(de),任何β‍∞‍一(yī)個(gè)業(yè)內(nèi)的←∞ ≠(de)會(huì)議(yì)、論壇如(rú)果沒有(yǒu)關于S✘πOA的(de)議(yì)題,那(nà)麽一('φyī)定是(shì)不(bù)夠檔次的(de)。據說(shuō)現(xiàn)在各個(g∏≈←è)OEM的(de)老(lǎo)大(dà)α≈們見(jiàn)面的(de)第一(yī)句話(hu∑™≥à)都(dōu)是(shì):你(nǐ)們SOA了(le)嗎(ma)?那(nà)麽,SOA是(s$εγφhì)否真的(de)有(yǒu)那(nà)麽神奇,可(kě)以徹底改變中國(guó)的(de≥‍σ≤)汽車(chē)行(xíng)業(yè)的(de)現(xiàn)狀與格局嗎(ma)?首先,我們先↑×≈看(kàn)看(kàn)SOA的(de)定義,來(lái)确定一(yī)下λ✔(xià)大(dà)家(jiā)口中的(de)SOA指的(de)是(shì)否 ↔是(shì)一(yī)個(gè)SOA。1996年(nián),Ga£₩rtner提出SOA的(de)概念;SOA成為(wèi)IT行(↓£xíng)業(yè)的(de)一(yī)種軟件(jiàn)開(kāi)發方法論,許多(duō)組•≠織從(cóng)不(bù)同角度對(duì)SOA進行(x ♣íng)了(le)描述:•Gartner對(duì)SOA的(de)定義:SOA是(shì)一‌↔(yī)種 C/S 架構的(de)軟件(jiΩ'àn)設計(jì)方法,應用(yòng)由♣≥€↔服務和(hé)服務使用(yòng)者組成,SOA 不(bù©®​)大(dà)多(duō)數(shù)通(tōng)用(yòng)的(de) C/S ≠™ 架構模型不(bù)同之處,在于它著(zhe)重強調< 構件(jiàn)的(de)松散耦合,并使用(yòng)獨立的(de•​πσ)标準接口;•W3C對(duì)SOA的(de)定義: SOA 是(shì)一(yī)&∞∏種應用(yòng)程序架構,在這(zhè)種架構中,所有(yǒ‌¥u)功能(néng)都(dōu)定義為(wèi)獨立的(de)服務,這(zhè)些™<(xiē)服務帶有(yǒu)定義明(míng)确的(deε₩ >)可(kě)調用(yòng)接口,能(néng)夠以定義好(hǎo)±★"的(de)順序調用(yòng)這(zhè)些(xiē)服務來(lái'↓→')形成業(yè)務流程;•Wikipedia對(duì)SOA的(deβ≤β↕)定義:SOA是(shì)一(yī)種軟件(jiàn)設計(j≥✔≈ì)風(fēng)格,應用(yòng)程序組件(ji₩ àn)通(tōng)過網絡通(tōng)信δ£協議(yì),将服務提供給其他(tā)組件(jiàn);SOA的(de)基本原則♥ €是(shì)獨立于供應商,産品和(hé)技(jì)術(shù)α♣"。還(hái)有(yǒu)一(yī)些(xiē)其他(tā)的(de)組織或個←↔(gè)人(rén)提出的(de)關于SOA的(de)解£₽釋,這(zhè)裡(lǐ)就(jiù)不(bù)一(yī)一(yī)列§₹Ω舉了(le)。基本上(shàng),大(dà)家(jiā)眼中的(de)SOA都♥ (dōu)有(yǒu)以下(xià)特點:基于軟件(jiΩ÷σàn)的(de)模塊化(huà)和(hé)以太網的(de)♠≈通(tōng)信,提供标準的(de)服務組件(jiàn),使軟件(jià₩™ n)與硬件(jiàn)解耦,從(cóng)而可(kě)以靈活的(de)設計(jì)和(hé)擴展上≠★∏(shàng)層的(de)應用(yòng)。在IT行(xíng)業(yè),這(zhè)已經是Ω σ(shì)一(yī)種基本常識了(le),因為(wèi)IT行(xíng)業  ‌(yè)的(de)發展日(rì)新月(yuè)異,誰也(yě)不(bù)知(zhī"¥)道(dào)明(míng)天又(yòu)要(y ©ào)有(yǒu)什(shén)麽樣的(de)需求提出來(lái),而且,♣$γε以太網已經是(shì)一(yī)種IT的(de)基礎設施。加之IT行(xíng)&₹€¶業(yè)的(de)主要(yào)硬件(jiàn)隻有(yǒu)一(yī)種——電(diàn)腦ε∏'(nǎo)(處理(lǐ)器(qì)+存儲器(qì)),這(zhè)已經是(shì)‌>φ基本的(de)标準化(huà)的(de)設施了(le"↑),所以推行(xíng)SOA是(shì)相(xiàng)對(duì)容易的(de)。₩"但(dàn)是(shì),在汽車(chē)上(shàng)就(jiù)完全不(bù)同了(le)。ε€每個(gè)汽車(chē)上(shàng)的(de)硬件(jiàn)都(dōu)不(bù)一→∏(yī)樣:數(shù)量多(duō)、沒有(yǒu)統一(yī)的(de)标準。任何≥★一(yī)台配置一(yī)般的(de)車(chē)上(shàng)的(de)✔'電(diàn)器(qì)件(jiàn)都(dōu)有(yǒ≤÷‍u)至少(shǎo)二三百個(gè)以上(shàng),雖然總價值★"ε←遠(yuǎn)遠(yuǎn)比不(bù)上(shàng)一(yī)個(gè)服務器(qì®♦),但(dàn)是(shì)如(rú)果你(nǐ)把上(shàn♣₩€g)百萬台車(chē)的(de)硬件(jiàn)都(dōu)加≈↕♥起來(lái),總價值就(jiù)高(gāo)的(de)驚人(rén£ε§ )了(le)。再加之汽車(chē)是(shì)一(yī)個(gè)高(gāo)可(kě)靠性、高(♦$gāo)安全性的(de)産品——一(yī)個(gè)故障可(kě)☆λ∞ 能(néng)傷害的(de)不(bù)止一(yī)條人(rén)命,總的(de)設計(jì®≠)要(yào)求在很(hěn)多(duō)方面就(jiù)遠(yuǎn)遠(yuǎn)↕'高(gāo)于IT行(xíng)業(yè)了(↔σ≥le)。這(zhè)也(yě)是(shì)為(wèi)啥中國(guó)汽車(chφσ≈λē)在發展了(le)幾十年(nián)之後還(hái)沒在努力追趕的(§☆∑de)原因。

2

接下(xià)來(lái)就(jiù)聊聊汽車(chē∞α∏¶)上(shàng)軟件(jiàn)的(de)設計(jì)究竟複雜(zá)在哪裡(lǐ)?

首先,先看(kàn)看(kàn)現(xiàn¥₹ )在的(de)分(fēn)布式系統的(de)特點。 ‌簡單概括一(yī)下(xià):整車(chē)的(de)控制(zhì)任務有(≥•β‌yǒu)幾十個(gè)控制(zhì)器(qì)分(fēn)工(gōng)合作✘±♦(zuò)完成,各個(gè)控制(zhì)β£∞✔器(qì)之間(jiān)通(tōng)過CAN/L✘≥IN總線進行(xíng)信息、指令的(de)交換和(hé)傳遞≈♥±•。可(kě)以命名為(wèi)Signal Oriented→‌↑Architecture(面向信号的(de)架構)。整車≠•(chē)現(xiàn)在可(kě)能(φ♥ néng)有(yǒu)超過100個(gè)控制(zhì)器(qì),所以整車(chē)的(de)§•π​信息流的(de)設計(jì)就(jiù)變得(de)越來(lái)越複雜(zá)。因為(φ€♦©wèi)現(xiàn)在的(de)架構是(shì)經過了(l‍★< e)幾十年(nián)逐漸演變出來(lái)的(de), ¶而且各個(gè)控制(zhì)器(qì)的(de)功能(¥δnéng)相(xiàng)對(duì)單一(yī),即使在不(bù)斷的(de)進•≤行(xíng)整合,但(dàn)是(shì)很(hěn)少(shǎ'↕←o)有(yǒu)真正革命性的(de)創新,所以大(dà)部分(fēn)OE€•¶£M在開(kāi)發新車(chē)型的(de)時(shí)候隻需‍$∞要(yào)找到(dào)相(xiàng)應的(de)Tier1供應商,由這(zhè)些(xiē ​♦)專業(yè)人(rén)士提出需求,OEM的(deΩ♠ε)工(gōng)程師(shī)再去(qù)拉通(tōng)各個(gè)供σ>應商從(cóng)而把需求實現(xiàn)即可(kě)。各個(gè)供應π$✘商大(dà)部分(fēn)都(dōu)是(shì)平台化(huà)開(kāi↔§)發,做(zuò)了(le)一(yī)個(gè)成功的(de)項目之後,就(jiùα<)把這(zhè)個(gè)平台推廣到(dào)✘∞&π其他(tā)的(de)OEM去(qù),尤其是(shì)對(duì)于國(guó)內(n£>★≥èi)的(de)OEM,在電(diàn)子(zǐ)方 γφ<面做(zuò)的(de)集成工(gōng)作(zuò)遠(yuǎn)遠(yuǎ™→πn)大(dà)于真正的(de)研發。在分(fēn)布式階段,大(dà)部₩α分(fēn)OEM基本不(bù)需要(yào)了(le)解系統裡(lǐ ≈)面的(de)詳細運行(xíng)機(j ±ī)制(zhì),隻要(yào)關注系統的(d ∞e)外(wài)部行(xíng)為(wèi)與接口就 •(jiù)足夠了(le)。所以OEM的(de)很(hěn)多(duō)λ↔ππ電(diàn)子(zǐ)工(gōng)程師(shī)的(de)主要(yào)精力都(dōu)放↕∏(fàng)在了(le)供應商管理(lǐ)與問(w≈♠$​èn)題管理(lǐ)方面。

而到(dào)了(le)SOA(Servic∞¶e Oriented Architecture)面向服務的(de)架構階 &₹®段,對(duì)OEM的(de)能(néng)力要(yào)求就(jiù)完全變≠×≠了(le)。SOA的(de)目的(de)是(shì):構建靈活可(kě)變的(de)平台系統‍↕≤。它的(de)特性包括以下(xià)幾個(gè):

  1. 服務間(jiān) 松耦合,無狀态、無依賴

  2. 服務內(nèi) 高(gāo)內(nèi)聚且完整,可(kě)複用(yòng✘π×)、可(kě)靈活重組 

  3. 服務通(tōng)信标準化(huà)

從(cóng)中我們看(kàn)到(dào)SOA實現(xiàn)重點在于:服務通(tōng)γ♣信标準化(huà),即面向服務的(de)通(tōng)信(SOC,Service - Orieγ↕nted Communication),&∞↓₽以服務重用(yòng)、靈活重組為(wèi)目的(de)的(de)服務劃分(fēα n),即基于服務的(de)複用(yòng)共享式♦"↓↑設計(jì)(SORS,Service-Oriented Reuse-shared  ∑ ​Design)。還(hái)有(yǒu)一(yī)個(gè)隐形的(de)重點,就(™↕×jiù)是(shì)用(yòng)于承載和(hé)适配SOC和(hé)SORS的(de)軟件(j↓∞¥δiàn)實現(xiàn),即基于服務的(de)軟件($↔♣jiàn)架構(SOS,Service-Or<©•iented Software Architecture)在IT行(xíng₽$)業(yè),這(zhè)種标準是(shì)相(xiàng)對(duì)容易實現(xiàn)® >的(de),因為(wèi)強大(dà)的(de)電(diàn)腦(nǎo)服務器(qì)可(≈δkě)以輕松的(de)部署重量級的(de)标準組件(j±♣♣iàn)來(lái)支持通(tōng)信的(de)标準化(huà),也(yě)因為(>↓wèi)IT行(xíng)業(yè)的(de)硬件(jiàn)基礎設施一(yī)緻性更π↓¥♣好(hǎo),外(wài)設種類相(xiàng)對(duì)來(lái)說(shuō)β∞®'要(yào)少(shǎo)很(hěn)多(duβ£ō),對(duì)單件(jiàn)成本的(de)敏感性要(yào)低(dīσ×≈)很(hěn)多(duō)。而汽車(chē)行(xíng)業(yèα↓")的(de)特點是(shì)硬件(jiàn)沒®≤​有(yǒu)标準——各個(gè)OEM都(dōu)根據自(zì)己的(de)想法來(l♣≤ái)選取各種部件(jiàn),從(cóng)而讓車(chē)上( ¶§shàng)的(de)标準件(jiàn)非常少(shǎo),尤其•↑是(shì)在控制(zhì)器(qì)層面。這(zhè)會(h®±α∏uì)導緻汽車(chē)上(shàng)的(de)架構在向服務≈←化(huà)演進的(de)時(shí)候是(sh₹©♦ì)無法直接複制(zhì)IT上(shàng)成熟的(d​α ‍e)模式的(de)。

現(xiàn)在各個(gè)OEM包括各級供應商,努力在做(zuò)的(de)事(shì)情就(→​jiù)是(shì)将現(xiàn)有(yǒu)的(de)汽車(chē)上(shàng)的‌↕<(de)功能(néng)重新定義成為(wèi)服務,并♠$改造現(xiàn)有(yǒu)的(de)電(diàn)器(qì)架構,将以太網作(zuò)為(w↕σ≥§èi)主要(yào)通(tōng)信設施,并将控制(zhì)器(qì)邏輯上(shàng)移至域控≥π制(zhì)器(qì),這(zhè)種努力至少(± shǎo)在理(lǐ)論上(shàng)是(shì)正确的(de),隻是(shì)現(xià¶≥n)實太殘酷。先不(bù)談大(dà)多(duō)數(shù)的(de)OEM在系統邏輯和(hé)"γ♣需求方面的(de)積累有(yǒu)多(duō)少(shǎo),是(shì)否足夠做(zγ<&uò)自(zì)主的(de)服務設計(jì),我們先來(lái)看(kàn)看(kàn)✘"±做(zuò)服務設計(jì)有(yǒu)哪些(xiē)挑戰。下(xià)面是(shì)€§SOME/IP引進的(de)一(yī)些(xiē)新名詞:

Method:

−Withresponse (Reque>₽st/Response).−Withoutresponse (•₽™Fire&Forget).

Events: Message from Server toβ$∏​ Client when something hap✘£λ®pens.

Fields: Getter/Setter/Notifier o★©↓↔f a property/ status.

Eventgroups: A logical group of Eveγ£nts and Fields used forpublish/subscribe handli&€ng。

雖然說(shuō)到(dào)本質,這(zhè)些(xiē$★)新的(de)名詞所代表的(de)技(jì)術(shù)實現(xiàn)的γ•δ(de)也(yě)是(shì)傳統汽車(chē)上(shàng)的(de)那(nà)些(xπ€​iē)工(gōng)作(zuò),但(dàn♠€∏)是(shì)所應用(yòng)到(dào)的(de)技(jì)術(£≤δshù)卻完全不(bù)一(yī)樣了(le)。不(bù)同的(de)技(jì)術(shù)就 ®¥₩(jiù)要(yào)求有(yǒu)不(bù)同的(de)組織結構與人(★₽rén)員(yuán)能(néng)力。這(zhè)種變革需要(yào)÷ 的(de)不(bù)隻是(shì)供應商的(de)轉變,更需要 γ(yào)OEM的(de)徹底轉型。而任何的(de)轉型期都¶₩ ✘(dōu)一(yī)定會(huì)有(yǒu)一(yī)批人(rén)死去(q♥α₽φù)的(de)。大(dà)家(jiā)再看(kδ∑♦αàn)看(kàn)下(xià)面的(de)兩張圖:

如(rú)果你(nǐ)明(míng)白(bái)第一(yī)張圖講的(de£‌ ★)是(shì)什(shén)麽,那(nà)麽你(nǐ)是(shì)一(yī)個(gè)合格的(♥★γ♣de)汽車(chē)電(diàn)子(zǐ)的(de)系統工(gōng)β<程師(shī)或者架構工(gōng)程師(shī)。如(rú)果你(nǐ)明(mí≤↔€ng)白(bái)第二張圖所代表的(de)含義和(hé)每一(yī₽φφ)個(gè)縮寫,那(nà)麽你(nǐ)是∏€(shì)一(yī)個(gè)合格的(de)IT工(gōng)程師(shī)。可(kě)是(s↕πhì)我做(zuò)過一(yī)個(gè)小(xiǎo)試驗,讓身(shē♥≤☆≠n)邊的(de)一(yī)些(xiē)朋(péng)友(↕'yǒu)來(lái)看(kàn)兩張圖,然而很(hěnΩ∞₩♣)少(shǎo)有(yǒu)人(rén)能÷<✔•(néng)全部說(shuō)清楚的(de)。而這(zhè)個(gè÷₩Ω↑)就(jiù)是(shì)汽車(chē)行(x♦≈​íng)業(yè)的(de)現(xiàn)狀——跨界的(de)人(rén)太少(shσ> ↔ǎo)了(le)。大(dà)部分(fēn§δ​)人(rén)都(dōu)隻精通(tōng)一(y♦≈ī)個(gè)領域,而現(xiàn)在則是(shì)需要(yào)融合的(de)時(shí)‌♠δ候了(le)。


NOKIA的(de)時(shí)代,手機(jī)拼的(de)是(shì)硬件(jiàn),而±<"現(xiàn)在的(de)蘋果和(hé)安卓時(shí)代則是(shì↓'>)軟件(jiàn)加硬件(jiàn)。

汽車(chē)行(xíng)業(yè)也(yě)一(yī)樣,分(fēn)布式架構©φ∑的(de)時(shí)代,大(dà)家(jiā)隻要(yào)有(yǒu)很(hěn)強的(d‌±↑γe)硬件(jiàn)集成能(néng)力和(hé)産品定義能(nε₹éng)力就(jiù)足夠了(le)。而下(xià)一(yī)個γ≠¥(gè)時(shí)代,還(hái)需要(←σ€₩yào)增加一(yī)個(gè)新能(n¶₩éng)力:軟件(jiàn)設計(jì)、開(kāi)發和(hé)集成能(néngα•)力。


轉載汽車(chē)電(diàn)子(zǐ)相(xiàng)關文(wén)↓$β÷章(zhāng)

轉自(zì)汽車(chē)電(diàn)子(zǐ)與軟件 ♥(jiàn)


北京德智尚車聯科技有限公司版權所有(yǒu) 京ICP證000000号   技(jì)術(shù)支持:網站(zhàn)建設