SOA到AP AUTOSAR
在《AP AUTOSAR & SOA》中,我們主要介紹了SOA的通信機制,并簡單介紹了SOA的概念。知道了它不是具體的技術實現(xiàn),那么SOA是一種模板軟件架構如何理解呢?
我們將模板軟件架構拆開來理解:
-
模板:基于現(xiàn)有標準、技術等實現(xiàn)一套用于設計和開發(fā)應用程序的原則和方法
-
軟件:這里的軟件代表著一種軟件設計模式,可以使用互操作服務的形式來開發(fā)軟件
-
架構:這里的架構是指一種架構設計模式,按照服務所屬所指定的約束和策略來執(zhí)行
-
軟件架構:是指由系統(tǒng)元素及其外部可見屬性以及他們之間的關系組成。
所以,筆者認為SOA是一種模板軟件架構,并不是具體的技術實現(xiàn)。因為SOA不涉及具體技術實現(xiàn)的內(nèi)容!這也能對應了SOA是SOA-RM的一種應用!這里對SOA中服務的概念進行一個簡單說明:
-
服務是最基本的單元,一種能夠訪問一個或多個功能的機制
理解了SOA是一種模板軟件架構,那么為什么AP AUTOSAR是一種SOA,筆者認為主要體現(xiàn)在以下方面:
從模板的角度出發(fā)來理解,AP AUTOSAR提供了一套開發(fā)應用程序的方法即AP AUTOSAR方法論,主要分為三部分:
-
架構與設計(下圖藍色框),包含:
-
開發(fā)一個服務接口描述
-
通過Machine Design開發(fā)通信結(jié)構
-
軟件開發(fā)(下圖綠色框),包含:
-
開發(fā)Application-Level類型的軟件
-
開發(fā)Platform-Level類型的軟件
-
集成與部署(下圖黑色框),包含:
-
定義和配置Machine
-
創(chuàng)建Execution Manifest
-
定義和配置Service Instance
-
等等

從軟件方面理解:
AP AUTOSAR使用互操作服務的形式進行軟件開發(fā),機制如下:
主要包含兩個角色:
-
服務提供者
-
服務消費者
-
兩者之間是通過通信管理中間件(CMM)傳輸層進行通信。通信管理中間件主要以下通信方式(協(xié)議約束):
-
SOME/IP
-
DDS
服務提供者和服務消費者之間的連接是CMM在運行時動態(tài)創(chuàng)建的!

需要提到的是,AP AUTOSAR中采用了服務骨架(Service Skeleton)與服務代理(Service Proxy)模式,服務骨架與服務代理是根據(jù) ” 服務接口定義 “ 生成的。
PS:那么SOME/IP如何設計,DDS又如何設計?我們將會在后期《搞一下SOA》系列與《搞一下整車以太網(wǎng)》系列中進行分享(需解鎖全系哦?。?br />
筆者認為,單一個軟件通信還不足以成為軟件架構,AP AUTOSAR除了通信之外,還有其他的系統(tǒng)元素,如:與存儲相關的ara::per 功能集群。詳細的架構圖如下,我們也在《What AP AUTOSAR》中對上述每個功能集群進行了簡單的描述。
因此,筆者認為,AP AUTOSAR是SOA(注意這里是SOA,不是SOA-RM),是一種模板軟件架構!

上圖中需要提到的是,AP AUTOSAR規(guī)定,Application只能直接訪問POSIX的PSE51接口,不能直接訪問非PSE51接口。PS:《搞一下汽車電子》也為各位解鎖全系的朋友準備了原版的《IEEE1003.13》,在公眾號菜單欄聯(lián)系我們進行獲取
解釋了為什么AP AUTOSAR是SOA,我們再來總結(jié)一下what AP AUTOSAR?
-
SOA:動態(tài)創(chuàng)建連接
-
中間件:承上啟下
-
標準:規(guī)范API及功能、規(guī)范交互方式、規(guī)范開發(fā)方法

這里筆者也總結(jié)了一下AP AUTOSAR的特性:
靈活的軟件配置
-
Security & Safety
-
并行處理
-
與現(xiàn)有標準及規(guī)范的兼容
-
基于POSIX標準
-
動態(tài)分配內(nèi)存
-
SOA
我們從SOA-RM出發(fā),分析了AP AUTOSAR。AP AUTOSAR也剛發(fā)布了R2011版本,本系列后期也會結(jié)合AP AUTOSAR R20-11的新特性來分享《搞一下AP AUTOSAR進階應用》,因此,這里筆者為大家整理了一下AP AUTOSAR R20-11的一些更新!
轉(zhuǎn)載車聯(lián)網(wǎng)相關文章
轉(zhuǎn)自汽車電子設計