如何理解面向服务的架构SOA?

1

Why SOA?

在整个智能网联汽车大环境下,电子电气架构(EEA)面临着变革,面向服务的架构SOA多次被提及,我们先来看看到底为什么要用SOA?

汽车行业发展趋势

先来看几组数据:
2015年,已有1.1亿辆联网车辆行驶在路上
2025年,联网车辆将达到4.7亿,其中,有90%将行驶在路上
2025年,联网车辆中,将有800万是自动驾驶车辆

当代车辆局限性

当今汽车中约有150个ECU,约7个网络。如此复杂的系统,是否能够满足汽车发展趋势的需求?
据统计,飞机大约有40,000,000行代码,而当今汽车约有100,000,000行代码,自动驾驶汽车的代码量将到达300,000,000行。如此庞大的代码量,当今的车辆架构是否还能满足需求?
未来汽车将会面临着一系列的问题,如:
新增信号
新增节点
变更功能等
当今车辆主要的架构:
就上述架构而言,我们根据需求思考几个问题:
  • 新增信号流怎么办?修改通信矩阵?
  • 突然增加一个节点,怎么办?修改路由表?
  • 变更功能如何从其他节点获取所需信息?
  • 变更功能的实现与原系统架构通信方式不匹配怎么办?
很显然,传统架构已经无法满足,因此我们需要新的架构来满足我们的需求:

SOA的优势

SOA基本架构如下,当然,后期我们也会在线上worksho中进一步与大家进行深入分享交流:
PS:线上worksho详情戳:
《2021 SOA、AP AUTOSAR、软件技术、以太网系列workshop》
那么上述架构有哪些优点呢?如下:
  • 软硬件分离,降低开发难度
  • 灵活部署软件,功能重新分配
  • 更新升级快
  • 易于扩展维护
总的来讲,已知的E/E架构满足不了需求,所以要用SOA。
数字时代代表创新和不断更新升级,汽车将来也会像手机一样,在销售完后,依然可以持续升级性能。而引进SOA整车通信,将使得整车可以持续创新!

2

面向服务的架构SOA概述

相信各位朋友多多少少也接触过SOA,知道了为什么要用SOA,我们再来捋捋SOA是个啥?

What 架构?

SOA是“ 面向服务的架构 ”,要想捋清楚SOA,我们需要先了解清楚什么是架构?
在系统设计过程,需秉承一套可以被分享,可以被评审,可以被记录,可以被流程化的设计思路,这就是“架构”,
架构是一套如何以服务的形式组织整车功能的决策集合。主要包括以下内容:
从上图我们也可以得知,架构设计时,有以下热点问题:
  • 缓存
  • 并行处理
  • 配置管理
  • 数据访问
  • 异常管理
  • 分层
  • 故障记录
  • 状态管理
  • 验证方法
  • 工作流程等
简单来说,架构是产品需求和技术需求之间的一座桥梁!!

架构设计原则

了解清楚了架构的概念,我们来看一下架构的设计原则,主要包含五个部分:
  • 服务分解
    • 服务功能完全独立不重复
    • 一个服务只承担特定的一个功能特性,同时一个功能特性也只能在一个服务中,不能在其他系统中重复定义
  • 避免过度设计
    • 在功能细节不明确,或者功能不断进化的情况下,需要避免过早的进行大量设计工作
    • 服务功能通过服务接口来交互从而不关心其他服务的内部功能逻辑
  • 严格分层
    • 相同类型的服务打包到相同的服务层,决不允许将不同类型的服务放到同一逻辑层
    • 服务之间不能跨层调用,同时要保持服务的独立性
  • 性能属性
    • 性能属性代码必须尽可能的从应用功能逻辑代码中抽离
    • 尽量避免数据类型格式的转换,比如频繁的物理值和信号值之间转换是必须要避免
  • 工具和流程
    • 建模分析和可视化仿真工具分析:提前识别风险和漏洞,尽可能简化软件开发
    • 规范化工作流程后,设计流程可以循环使用,简化开发和理解

协议选择

上述,我们介绍了交股的设计原则,但是,避免不了的是通信问题!现如今与面向服务的架构相关的通信协议主要有:
  • SOME/IP
  • DDS
  • MQTT
  • HTTP
四种协议的对比如下图:
可根据具体项目需求进行选择!

服务流程设计

前面我们一直再提面向服务的架构,那么如何设计呢?主要包含以下五个步骤:
  • (1)梳理整车功能
  • (2)规划SOA架构
  • (3)服务定义
  • (4)服务矩阵和ARXML设计
  • (5)服务验证和仿真
当然,我们后期会在线上workshop中进行更是深入的技术分享!
介绍了这么多,那么到底什么是SOA?

SOA软件架构

我们认为:
SOA不是一种具体的技术实现,而是一种模板软件架构!!!
软件架构我们容易理解 ,比如AUTOSAR,但是模板又如何理解?
还有个问题?AP AUTOSAR号称是一个SOA,这又该如何理解?由于篇幅原因,我们将会在《搞一下AP AUTOSAR进阶应用》中进行分享!
从软件层面来看SOA时,我们可以CP AUTOSAR、AP AUTOSAR、以及非AUTOSAR系统,通过以太网的方式连接起来,如下图:
从整车层面来看,主要包括应用服务、扩展服务和基础服务,如下图所示:
在整车层面,SOA架构构建的流程如下:

3

Q & A

(0)

相关推荐

  • '域'见SOA

    正如上次'域测未来'文章所提到,我们目前已经在开发基于新架构下车载电脑+区域控制器(VCP+ZONE)的产品:而在软件层面,也已经开始着手于研究整车功能的分配以及基于服务实现的软件架构. 原子服务 说 ...

  • KPIT:EE变革、Autosar及SOA架构方案

    声明:本文内容及图片由BC-AUTO转载至网络.

  • 从Adaptive AUTOSAR的角度看SOA

    前言     身处汽车行业的我们深知,新技术的应用或者新概念的提出,一定是事出有因的.通常是为了抢夺新技术高地,让汽车更好地满足未来的需求.那么,汽车电子电气架构领域掀起的这股SOA热潮是由什么导致的 ...

  • 基于SIMULINK开发面向服务的汽车应用架构(SOA)。

    汽车功能越来越多地由软件定义,使它们更容易被黑客攻击.汽车电气工程向面向服务的架构演变,无论是向ADAS或信息娱乐系统添加新功能,还是修补漏洞,OTA更新都是一个有价值的解决方案.面向服务的架构(SO ...

  • 揭示汽车软件的复杂性

    在汽车新四化的背景下,软件无可置疑的是汽车发展的核心部分.然而随着功能的不断增加,潜在的软件复杂性也在逐渐的增长,但是由于软件的不可见性,导致工程人员对软件复杂性的重要性不能充分理解. 然而随着时间推 ...

  • SOA (面向服务的架构)

    SOA 是一种在计算环境中设计.开发.部署和管理离散逻辑单元(服务)模型的方法.SOA是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来.其 ...

  • 联合电子:面向服务架构(SOA)的汽车软件三部曲

    来源:联合电子 随着汽车智能化.网联化.共享化的趋势,终端用户对车辆功能的预期也悄然发生着改变,汽车在实现高等级自动驾驶/辅助驾驶功能的同时,也更趋向于提升用户体验,例如满足快速的功能更新和升级,可以 ...

  • 面向服务架构(SOA):超经典合集

    随着汽车智能化.网联化.共享化的趋势,终端用户对车辆功能的预期也悄然发生着改变,汽车在实现高等级自动驾驶/辅助驾驶功能的同时,也更趋向于提升用户体验,例如满足快速的功能更新和升级,可以提供个性化.人性 ...

  • 面向汽车服务的架构设计.pdf

    面向汽车服务的架构设计.pdf

  • 面向服务架构

    简介 这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合.松耦合系统的好处有两点,一点是它的灵活性,另一点是,当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时, ...

  • 诚之和:如何理解微服务架构下的高可用和高性能设计

    这篇文章主要讲解了"如何理解微服务架构下的高可用和高性能设计",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何理解微服务 ...

  • 要正确理解“延时服务”与“家庭作业”的关系

    高维公 3月4日,全国人大代表.东北师范大学附属中学校长邵志豪接受采访时表示,学校应该统筹家庭作业时长."教育部要求中小学做好课后服务,对小学生来讲,作业在校内就可以完成.对于初中生.高中生 ...

  • 唯一在内地工作的香港警察:我开始重新理解“为人民服务”

    林梅珍是香港警务处一名总督察,自去年8月底起一直在内地工作生活--作为第十四任香港警务处驻中国人民公安大学教官,她也是现时唯一一位在内地工作的香港警察.她说自己非常幸运,有机会来内地生活和工作,亲身体 ...