日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機(jī)站
  • 小程序

    汽車測試網(wǎng)

  • 公眾號
    • 汽車測試網(wǎng)

    • 在線課堂

    • 電車測試

OEM開發(fā)流程管理與SOA的設(shè)計(jì)方法原理與實(shí)踐

2022-02-10 11:06:57·  來源:焉知  作者:Jessie  
 
下一代自動駕駛開發(fā)平臺理論原理與實(shí)踐(一)當(dāng)前,智能駕駛汽車軟件研發(fā)過程中,孤島中的應(yīng)用程序眾多,由于技術(shù)平臺和數(shù)據(jù)模型的差異,這些應(yīng)用程序之間很難共
下一代自動駕駛開發(fā)平臺理論原理與實(shí)踐(一)
當(dāng)前,智能駕駛汽車軟件研發(fā)過程中,孤島中的應(yīng)用程序眾多,由于技術(shù)平臺和數(shù)據(jù)模型的差異,這些應(yīng)用程序之間很難共享信息。在基于企業(yè)流程管理BPM(Business Process Management)的應(yīng)用程序的情況下,集成技術(shù)和單個業(yè)務(wù)應(yīng)用程序之間存在緊密耦合。每當(dāng)業(yè)務(wù)流程發(fā)生變化時,集成技術(shù)就會發(fā)生變化,從而增加運(yùn)營成本。這種緊密耦合也使這種方法更難改變。當(dāng)某個流程在影響所有應(yīng)用程序的多個應(yīng)用程序中遭到破壞時,必須修改這些受影響的應(yīng)用程序和接口才能適應(yīng)更改的業(yè)務(wù)流程。這涉及龐大的工作量,并不是我們所期望看到的。
SOA (服務(wù)導(dǎo)向架構(gòu),Service Oriented Architecture) 作為一種架構(gòu)范式,展示了技術(shù)中立的最佳實(shí)踐。其建立在標(biāo)準(zhǔn)之上,可在供應(yīng)商的廣泛支持下在全球范圍內(nèi)實(shí)現(xiàn)經(jīng)濟(jì)高效的實(shí)施。以在企業(yè)內(nèi)部和跨企業(yè)創(chuàng)建新業(yè)務(wù)功能方面重用和重新組合服務(wù),SOA很好的做到了“粗粒度”和“松散耦合”的特點(diǎn),相較于當(dāng)前分布式物理架構(gòu)具有更大的靈活性。SOA 最佳實(shí)踐創(chuàng)建包含業(yè)務(wù)流程的設(shè)計(jì) —— 并增強(qiáng)將流程外包和擴(kuò)展給業(yè)務(wù)合作伙伴的能力。此外,SOA也可以復(fù)用已有的系統(tǒng)和流程,與傳統(tǒng)的基于孤島的應(yīng)用程序開發(fā)更具戰(zhàn)術(shù)性的本質(zhì)形成對比,可以保留和增強(qiáng)現(xiàn)有投資承建的架構(gòu)、軟件等實(shí)現(xiàn)的部分有用性。

SOA流程開發(fā)在自動駕駛車企中布局
在 SOA 中,由一組與業(yè)務(wù)相關(guān)的 IT 服務(wù)組成,其中的資源(即跨越企業(yè)內(nèi)或跨多個企業(yè)的多個應(yīng)用程序)可供價值網(wǎng)絡(luò)、企業(yè)或業(yè)務(wù)線的參與者使用,這些服務(wù)共同實(shí)現(xiàn)了組織的業(yè)務(wù)流程和目標(biāo)。
當(dāng)然,企業(yè)在應(yīng)用 SOA 的解決方案時也會面臨一些比較大的業(yè)務(wù)挑戰(zhàn),主要包含如下:
a) 定義和驗(yàn)證服務(wù)、管理重用和分配成本 ;
b) 在企業(yè)的軟件開發(fā)方法中適應(yīng) SOA 方法 ;
c) 設(shè)計(jì)支持 SOA 的底層基礎(chǔ)設(shè)施并選擇支持 SOA 的技術(shù) ;
d) 管理服務(wù)集合并將服務(wù)編排到業(yè)務(wù)流程中;
e) 處理任何缺乏 SOA 專業(yè)知識和經(jīng)驗(yàn)的問題。
對于主機(jī)廠未來的研發(fā)布局來說,其開發(fā)SOA的戰(zhàn)略目標(biāo)可概括如下:
– 增加內(nèi)在互操作性
– 增加各子單元之間的關(guān)聯(lián)性,SOA 支持設(shè)計(jì)可互操作的服務(wù)來交換數(shù)據(jù)
– 增加業(yè)務(wù)和技術(shù)一致性
– 增加供應(yīng)商多樣化選擇
– 提高投資回報率
– 提高組織敏捷性
– 減少 IT 系統(tǒng)管理負(fù)擔(dān)
如下圖所示,表示了四家主流車企的SOA架構(gòu)開發(fā)布局。其中,寶馬和奧迪希望將汽車硬件與軟件分開,兩家領(lǐng)先的汽車制造商正在帶頭開發(fā)新的電子架構(gòu)。
GuardKnox、NXP 和 Green Hills Software 合作開發(fā)先進(jìn)、安全的汽車平臺……實(shí)現(xiàn)軟件定義和面向服務(wù)的車輛的商業(yè)部署。大陸集團(tuán)的新服務(wù)器概念是在高度連接的 ID 電動汽車中轉(zhuǎn)換為面向服務(wù)的電子架構(gòu)的核心要素。華為認(rèn)為SDV(軟件定義汽車)的成果對汽車產(chǎn)業(yè)的革命起到關(guān)鍵作用。
如上也是整個SOA開發(fā)的基本重點(diǎn),這將在我們后續(xù)序列文章中進(jìn)行一一闡述。

企業(yè)管理開發(fā)流程BPM
與SOA軟件架構(gòu)開發(fā)之間的關(guān)系
目前在多數(shù)主機(jī)廠汽車軟件過程開發(fā)中,采用開發(fā)方法論/工具基本適配于BPM技術(shù),BPM解決了組織如何識別、建模、開發(fā)、部署和管理其業(yè)務(wù)流程,包括涉及 IT 系統(tǒng)和人機(jī)交互的流程。這使企業(yè)能夠指定漸進(jìn)性業(yè)務(wù)流程。當(dāng)然需要說明的是,沒有服務(wù)的 BPM 需要流程層直接訪問底層業(yè)務(wù)應(yīng)用程序。這個過程會使用有關(guān)當(dāng)前應(yīng)用程序、它們提供的 API、它們的內(nèi)部數(shù)據(jù)模型以及實(shí)現(xiàn)它們的技術(shù)中不必要的詳細(xì)信息。
SOA可以在沒有 BPM 的情況下存在,而 BPM 在沒有對 SOA 的深刻理解的情況下是無法蓬勃發(fā)展的,SOA 和 BPM 的組合比單獨(dú)使用更強(qiáng)大。實(shí)現(xiàn) SOA 的主要目的是提供一個松散耦合的集成平臺,允許應(yīng)用程序?qū)嵗诓挥绊懞诵募杉夹g(shù)的情況下改變和發(fā)展。SOA 提供了創(chuàng)建流,確保SOA 與 BPM 松散耦合,自動創(chuàng)建可以跨企業(yè)以多種方式重用的服務(wù),以及可以持續(xù)改進(jìn)的多個流程。通過整合可以將 BPM 和 SOA 相關(guān)聯(lián),以創(chuàng)造更大的業(yè)務(wù)敏捷性。因此,SOA 公開了服務(wù),BPM 需要建立相應(yīng)的流程完成使用服務(wù)。SOA 為 BPM 打開了大量服務(wù)清單,以便“結(jié)合”成一個綜合流。不管這是否是復(fù)合的,都可以處理關(guān)鍵業(yè)務(wù)流程。
下圖描繪了 BPM和SOA之間的關(guān)系。其中BPM 負(fù)責(zé)對流程進(jìn)行建模、模擬和重新設(shè)計(jì),SOA基礎(chǔ)架構(gòu)則協(xié)調(diào)業(yè)務(wù)流程并協(xié)調(diào)服務(wù)提供商。
同樣,需要不同應(yīng)用程序相互通信的流程修改,則不應(yīng)改變核心集成技術(shù)以及應(yīng)用程序?qū)嵗?。這種流程和服務(wù)的獨(dú)立性有助于建立業(yè)務(wù)流程建模和應(yīng)用程序?qū)崿F(xiàn)之間的關(guān)系。當(dāng)服務(wù)被公開時,用于各種進(jìn)程,此時服務(wù)的更改將不應(yīng)影響流程。流程更改將根據(jù)需要重用各種服務(wù)。流程變更將在企業(yè)升級中更快地實(shí)現(xiàn),因?yàn)?SOA 同時也將流程與應(yīng)用程序?qū)崿F(xiàn)解耦,流程和應(yīng)用程序之間的通信僅通過SOA集成發(fā)生。這種 SOA 集成將最大限度地減少了流程建模和應(yīng)用程序?qū)崿F(xiàn)之間的差距。
BPM 有助于融合流程服務(wù)以構(gòu)建復(fù)合業(yè)務(wù)流。BPM 功能是使用狀態(tài)機(jī)構(gòu)建的,狀態(tài)機(jī)有助于保持業(yè)務(wù)流程的完整性并跟蹤調(diào)用許多服務(wù)的流程。
通過使用 BPM,SOA 被綁定到流程服務(wù)以開發(fā)復(fù)合業(yè)務(wù)流。BPM 為服務(wù)組合增加了額外的運(yùn)行時能力和修改流以換取更多運(yùn)行時復(fù)雜性的能力。BPM 還可以確保執(zhí)行長時間運(yùn)行的流程穩(wěn)定性,并在出現(xiàn)故障時運(yùn)行任何必要的補(bǔ)償事務(wù)。BPM 通過向 SOA 公開的服務(wù)添加靈活、敏捷的運(yùn)行時層來利用和擴(kuò)展 SOA 的功能。
BPM 和 SOA 為企業(yè)的車端軟件開發(fā)提供了完美的組合。BPM 為定義業(yè)務(wù)流程以及監(jiān)控和管理這些流程的其他重要功能提供了更高級別的抽象,而SOA服務(wù)則為這些過程的能力提供支持。SOA 可以提供用于組合服務(wù)以及支持和創(chuàng)建敏捷、靈活的流程開發(fā)模式提供幫助。沒有 SOA 的 BPM 可用于構(gòu)建應(yīng)用程序,但難以擴(kuò)展到企業(yè)。沒有 BPM 的 SOA 可用于創(chuàng)建可重用且一致的服務(wù),但缺乏將這些服務(wù)轉(zhuǎn)變?yōu)槊艚?、有競爭力的企業(yè)的能力。
SOA 為定義可重用業(yè)務(wù)功能提供了理想的抽象級別,完全封裝了 BPM 系統(tǒng)中的底層應(yīng)用程序和技術(shù)平臺。SOA 生成封裝業(yè)務(wù)邏輯和普遍接受的接口的模塊化業(yè)務(wù)組件。這些模塊可以輕松地執(zhí)行流程中的步驟。SOA 是 BPM 的重要基礎(chǔ),支持將流程服務(wù)快速組裝和編排成更大的端到端流程。
SOA的兩種不同開發(fā)模式原理
在汽車領(lǐng)域軟件開發(fā)工程實(shí)踐中,結(jié)合 SOA 汽車軟件分層模型,定義了基于SOA的汽車軟件兩種典型的開發(fā)方法,其一是基于“業(yè)務(wù)驅(qū)動型”的開發(fā)方法,其二是基于“平臺驅(qū)動型”的開發(fā)方法,兩種方法適用于不同的應(yīng)用場景。
1、業(yè)務(wù)驅(qū)動型開發(fā)
即整個服務(wù)的開發(fā)的前提是項(xiàng)目通過各種手段獲取業(yè)務(wù)用例,從用戶使用案例出發(fā),以服務(wù)用戶為設(shè)計(jì)導(dǎo)向,基于SOA采用正向流程對汽車軟件進(jìn)行設(shè)計(jì)。由用例驅(qū)動的開發(fā)活動,可以建立需求和服務(wù)操作之間清晰的追溯關(guān)系,為抽象和封裝服務(wù)提供充足的語境信息。 整個設(shè)計(jì)過程主要解決兩個問題:即需要構(gòu)建服務(wù)內(nèi)容有哪些,每個服務(wù)應(yīng)該實(shí)現(xiàn)封裝的邏輯有哪些。
如前所述的企業(yè)流程管理BMP中,通常與業(yè)務(wù)驅(qū)動型流程方法論相結(jié)合。通過將這些服務(wù)編排成復(fù)合應(yīng)用程序并通過標(biāo)準(zhǔn)協(xié)議調(diào)用它們。業(yè)務(wù)流程管理和面向服務(wù)的架構(gòu)的結(jié)合將使 IT 專業(yè)人員和業(yè)務(wù)用戶受益。沒有業(yè)務(wù)流程管理基礎(chǔ)設(shè)施,面向服務(wù)的架構(gòu)就無法發(fā)揮作用。BPM 是面向服務(wù)的應(yīng)用程序開發(fā) (SODA) 的核心元素。它通常用于組裝新的應(yīng)用程序,因?yàn)?SOA 和 BPM 在這種情況下作為天然的合作伙伴攜手合作。每個業(yè)務(wù)流程都被建模為一組單獨(dú)的處理任務(wù),這些任務(wù)通常作為企業(yè)內(nèi)的服務(wù)來實(shí)現(xiàn)。BPM 有助于創(chuàng)建流程模型,流程自動化,以調(diào)用服務(wù)的形式。
SOA的服務(wù)層為業(yè)務(wù)驅(qū)動的流程層提供了理想的平臺,具有以下優(yōu)化特征:
業(yè)務(wù)服務(wù)線提供映射到業(yè)務(wù)流程中不同粗粒度的任務(wù);
業(yè)務(wù)流程不負(fù)責(zé)了解底層應(yīng)用程序和技術(shù)平臺的任何細(xì)節(jié),因?yàn)闃I(yè)務(wù)服務(wù)線的服務(wù)協(xié)議為訪問服務(wù)提供了定義明確的接口信息;
服務(wù)層提供的服務(wù)注冊和服務(wù)設(shè)施確保業(yè)務(wù)流程層可以動態(tài)定位和訪問服務(wù);
服務(wù)級別數(shù)據(jù)模型是基于業(yè)務(wù)領(lǐng)域定義的,獨(dú)立于任何特定應(yīng)用程序使用的數(shù)據(jù)模型;
服務(wù)級安全模型提供單點(diǎn)登錄和基于角色的訪問控制,以確保流程任務(wù)被授權(quán)使用服務(wù)。
構(gòu)建服務(wù)內(nèi)容實(shí)際就是業(yè)務(wù)過程的分析過程,即由系統(tǒng)設(shè)計(jì)人員和測試評價人員從用戶角度考慮功能需求和系統(tǒng)實(shí)現(xiàn)。實(shí)現(xiàn)服務(wù)封裝的過程實(shí)際是通過服務(wù)操作operation實(shí)現(xiàn),該操作在實(shí)現(xiàn)過程中相當(dāng)于軟件函數(shù)或方法。整個封裝過程需要通過操作分析實(shí)現(xiàn)系統(tǒng)用例的分析細(xì)化,得到系統(tǒng)與參與者、系統(tǒng)與外部系統(tǒng)的界限及信息交互,提出對系統(tǒng)的功能需求,并由此作為各個構(gòu)建服務(wù)的操作類型。隨后,通過業(yè)務(wù)邏輯抽象和封裝,從開發(fā)角度實(shí)現(xiàn)最優(yōu)化服務(wù)部署,其中需要考慮重用性和自主性的面向服務(wù)設(shè)計(jì)原則。SOA需要設(shè)計(jì)良好的基礎(chǔ)服務(wù)和元服務(wù),當(dāng)業(yè)務(wù)用例增加,原有業(yè)務(wù)用例發(fā)生變更時,可以很好的保證重用性,減少軟件變更量,從而實(shí)現(xiàn)更快速高效的版本管理。
如下圖所示,表示了一種服務(wù)層由與特定業(yè)務(wù)領(lǐng)域?qū)R的業(yè)務(wù)服務(wù)線,該服務(wù)線可以跨多個業(yè)務(wù)領(lǐng)域共享可重用的技術(shù)服務(wù),同時允許定義和利用服務(wù)平臺組成以一種獨(dú)立于底層應(yīng)用程序和技術(shù)平臺的組織方式。
最近,越來越多的公司開始專注于使用更具戰(zhàn)略性和實(shí)用性得實(shí)例化業(yè)務(wù)驅(qū)動型開發(fā)的流程工具鏈。例如,微軟在新版本的 Visual Studio 中添加了一些進(jìn)程管理功能。IBM 以其 WebSphere 品牌提供了一套業(yè)務(wù)流程工具。Oracle 通過其新的融合中間件平臺專注于流程,SAP 通過與 IDS Sheer 的強(qiáng)大合作伙伴關(guān)系重新關(guān)注業(yè)務(wù)流程。
那么我們將如何利用SOA的思想增強(qiáng)業(yè)務(wù)流程設(shè)計(jì)呢?
SOA 創(chuàng)建模塊化業(yè)務(wù)組件,這些組件使用了接口封裝業(yè)務(wù)邏輯和數(shù)據(jù),其創(chuàng)建的模塊用于執(zhí)行流程中的各個步驟。業(yè)務(wù)流程中的所有流程步驟可能與 SOA 服務(wù)相關(guān),也可能不相關(guān)。BPM 可以將 SOA 派生服務(wù)、對集成的代理和其他非 SOA 服務(wù)的調(diào)用相結(jié)合。
SOA 是一種用于設(shè)計(jì)業(yè)務(wù)流程的工具??梢约尤敕?wù)以提供復(fù)合業(yè)務(wù)功能或業(yè)務(wù)流程??梢栽谝韵律舷挛闹兄赜脝蝹€服務(wù)或多個業(yè)務(wù)流程。SOA 幫助業(yè)務(wù)所有者設(shè)計(jì)支持業(yè)務(wù)流程的 IT 系統(tǒng)。這提高了過程變更的適應(yīng)性,增加了重用性,并提高了過程一致性。SOA 方法會影響 IT 運(yùn)營的整體效率,特別是在多個流程中以重用公共、共享業(yè)務(wù)服務(wù)的形式對應(yīng)用程序進(jìn)行開發(fā)。由于大型組織,業(yè)務(wù)流程、業(yè)務(wù)規(guī)則和策略管理都是不一致的,并且為每個新應(yīng)用程序和流程重新定義。SOA 就有助于減少創(chuàng)建定義明確和管理的業(yè)務(wù)服務(wù)形式的不一致性,確保這些業(yè)務(wù)服務(wù)在多個系統(tǒng)之間共享,而實(shí)現(xiàn)則與底層技術(shù)實(shí)現(xiàn)無關(guān)。
后面系列文章,我們將針對業(yè)務(wù)驅(qū)動型SOA的完整開發(fā)流程,以實(shí)例分章節(jié)進(jìn)行詳細(xì)描述和分析。
2、平臺驅(qū)動型開發(fā)
針對已經(jīng)完成平臺化開發(fā)的量產(chǎn)項(xiàng)目,其物理邏輯已經(jīng)完成構(gòu)建,我們只需要將物理邏輯封裝為SOA中的底層元服務(wù),這些物理邏輯必須是已經(jīng)成型,并且相對較為成熟的,如制動系統(tǒng)中一些關(guān)于基礎(chǔ)制動控制相關(guān)的功能控制(ABS、HBA、HDC等),也可以將部分元服務(wù)進(jìn)一步組合為基礎(chǔ)服務(wù)。
下面說明下平臺驅(qū)動開發(fā)的好處。
對于SOA的軟件開發(fā)來說,其核心內(nèi)容是如何將以前的信號級別通信更新為以服務(wù)為包的通信模式。其中服務(wù)與信號之間的轉(zhuǎn)換點(diǎn)可以位于從云端到傳感器/執(zhí)行器級別的某個位置,需要在信號到服務(wù)轉(zhuǎn)換級別之間的做出權(quán)衡。如下圖表示了一種典型的平臺驅(qū)動型SOA整車開發(fā)架構(gòu)模式。

如上圖所示,如果在當(dāng)前架構(gòu)上完全重新開發(fā)SOA架構(gòu),至底向上會有較多的信號向服務(wù)的轉(zhuǎn)化過程,這可能不是最好的方法。在很多情況下,是不需要重新發(fā)明輪子的。因此,在我們實(shí)際開發(fā)過程根據(jù)實(shí)際用例逐步添加?xùn)|西,這樣可以逐漸滿足當(dāng)前的解決方案,可能是更好的方法。
服務(wù)由應(yīng)用程序組件通過網(wǎng)絡(luò)上的通信協(xié)議提供。汽車以太網(wǎng)通過開放的標(biāo)準(zhǔn)化車輛接口(例如,GENIVI CVII)實(shí)現(xiàn)硬件軟件抽象。對于SOA開發(fā)來說,應(yīng)該是逐漸插入的,即在處理 SOA 實(shí)現(xiàn)的遺留組件過程中,具有較高的復(fù)雜性。目前為止,仍然沒有關(guān)于服務(wù)名稱和屬性的標(biāo)準(zhǔn)通用定義。對于討論的接口定義可參考開放標(biāo)準(zhǔn)(例如 AUTOSAR、GENIVI VSS VSC、ENSORIS、SOME/IP)的組合,其在多個方面具有制定統(tǒng)一服務(wù)標(biāo)準(zhǔn)的可能性。

運(yùn)行時環(huán)境的時序會影響基于信號的效果鏈的性能。對于SOA的堆棧過程,將信號遷移到服務(wù)會增加延遲/抖動。但是,沒有必要遷移整個信號效果鏈??梢栽诜?wù)級別盡最大努力分離功能,而在信號級別進(jìn)行硬控制循環(huán)。
總結(jié)
面向服務(wù)的架構(gòu) (SOA) 概念基于開發(fā)可重用業(yè)務(wù)服務(wù)和構(gòu)建應(yīng)用程序的原則,而不是在孤島中構(gòu)建單體應(yīng)用程序。SOA 不是產(chǎn)品,它是關(guān)于通過使用一組設(shè)計(jì)原則、模式和技術(shù)的一組與業(yè)務(wù)對齊的 IT 服務(wù)來彌合業(yè)務(wù)和 IT 之間的差距。
SOA可以沒有BPM而存在,BPM在沒有對SOA的深刻理解的情況下蓬勃發(fā)展。SOA 和 BPM 的組合比兩者本身都更強(qiáng)大。服務(wù)連接在一起以形成復(fù)合業(yè)務(wù)流程,SOA 最大限度地減少了業(yè)務(wù)分析和 IT 開發(fā)工作之間的差距。由于對應(yīng)用程序和數(shù)據(jù)庫的訪問,可以同時考慮和設(shè)計(jì)業(yè)務(wù)流程和數(shù)據(jù)。
分享到:
 
反對 0 舉報 0 收藏 0 評論 0
滬ICP備11026917號-25