0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

简述面向服务的架构SOA开发基础

Linux阅码场 来源:拖拉机日记 作者:拖拉机日记 2021-05-25 15:22 次阅读

从去年开始(可能更早),SOA的概念在汽车软件行业逐渐蔓延开来,很多公众号都发过讲汽车SOA的文章,很多车厂都要开始(或者已经在)搞SOA。但我觉得吧,在开搞新威廉希尔官方网站 之前,是不是先花点时间弄明白这个威廉希尔官方网站 到底是什么,它解决的是什么样的问题,然后再谈架构,再谈开发,很多时候我们连问题是什么都没整明白,就急着去做解决方案,最后的结果只能是一地鸡毛。

对个人来说,要搞SOA开发,需要夯实哪些基础知识,看了很多SOA文章,却很少有人梳理这些,这段时间我陆续思考了一些,尽管可能不全面(更偏向SOC开发涉及的威廉希尔官方网站 点),但仍然试图写出来,以期逐步构建出自己的领域知识体系(详见下篇)~

那么,先来理一理关于SOA:

软件定义汽车,E/E架构是关键

汽车电子电气架构(简称E/E架构)是指整车电子电气系统的总布置方案。在智能网联汽车产业大变革背景下,软件定义汽车理念已成为共识。传统汽车采用的分布式E/E架构因计算能力不足、通讯带宽不足、不便于软件升级等瓶颈,已经不能满足现阶段汽车发展的需求,E/E架构的变革已成为智能网联汽车发展的关键,其升级主要体现在硬件架构、软件架构、通信架构三个方面:

硬件架构升级:由分布式ECU向域控制/中央集中架构方向发展,汽车E/E架构的升级路径表现为分布式(模块化→集成化)、域集中(域控制集中→跨域融合)、中央集中式(车载电脑→车-云计算)。好处在于:提升算力利用率,减少算力设计总需求;数据统一交互,实现整车功能协同;缩短线束,降低故障率,减轻质量。

dd0791be-bc8a-11eb-9e57-12bb97331649.png

图片来自网络

软件架构升级:通过 AutoSAR 等软件架构提供标准的接口定义,模块化设计,促使软硬件解耦分层,实现软硬件设计分离;Classic AutoSAR架构逐步向Classic AutoSAR+Adaptive AutoSAR混合式架构发展。好处在于:可实现软件/固件 OTA 升级、软件架构的软实时、操作系统可移植;采集数据信息多功能应用,有效减少硬件需求量,真正实现软件定义汽车。

通信架构升级:车载网络骨干由 LIN/CAN 总线向以太网方向发展。好处在于:满足高速传输、高通量、低延迟等性能需求,同时也可减少安装、测试成本。

中央计算单元——E/E架构的核心

中央计算单元是E/E架构中最关键的部分,不管是按区域的架构,还是以后的纯中央计算平台,其硬件构型从根本上决定了软件架构的设计方向。中央计算单元可以分为以下三种形态:

dd795d44-bc8a-11eb-9e57-12bb97331649.jpg

图片来自网络

SOC分离式:将多个不同的芯片集成到一个中央计算单元上去,每个运行不同的操作系统,只是在形态上集中到了一起,各单元依然独立的完成各自任务;

硬件隔离式:在统一的计算平台上采用虚拟化方案,同时运行多个操作系统,但是各个系统依然在硬件上进行隔离,每个系统都有自己的专属硬件资源;

软件虚拟式:在统一的计算平台上采用虚拟化方案,同时运行多个操作系统,每个操作系统所使用的硬件资源,由Hypervisor层动态调配,每个系统并没有专属的硬件资源。

硬件隔离式和软件虚拟式,都采用了虚拟化方案,唯一不同点在于硬件资源是否专属,如果是专属的,就意味着资源无法动态调配,容易产生资源浪费。虚拟化方案最大的好处是,硬件上的可拓展性,如果中央计算单元采用刀片式的设计结构,可以很方便地拓展计算单元的算力,而不用替换整个计算单元。

在中央计算单元中,只需要两个操作系统即可,用于自动驾驶、车控、网关的RTOS,以及用于娱乐的普通OS(如AndroidLinux)。用于娱乐的OS完全可以通过虚拟机的方式运行,用于自动驾驶、车控、网关的RTOS,可以直接运行在Hypervisor层,既能兼顾实时计算的要求,也能获得丰富的娱乐系统功能。

SOA——解决软件定义汽车中服务间通信的分布式架构

在软件定义汽车中,应用间跨进程或跨核的通信,必然成为软件架构设计中一个需要去解决的问题。SOA在互联网已经应用了很长时间,但在汽车行业中,算是比较新的概念。鉴于汽车的应用场景和通信需求有其特殊性,很多互联网的SOA威廉希尔官方网站 ,并不能照搬过来。

虽然Adaptive AutoSAR采用了SOA作为通信架构(ARA::COM架构如下图),但是Adaptive AutoSAR的应用可以说还没有普及,应该说整个行业就没什么标准的SOA中间件解决方案,几乎没有专业做中间件研发的公司,可能在国内这种慢工出细活的东西很难有什么成长的空间和土壤吧。所以,对于汽车SOA,还有很多值得我们去做的研究和尝试~

dd92c4dc-bc8a-11eb-9e57-12bb97331649.png

摘自《Introduction of ARA::COM as common communication middleware》April, 2018 by GENIVI

SOA,Service-Oriented Architecture(面向服务的架构),是一种架构思想,实施者可以根据实际情况设计SOA的威廉希尔官方网站 实现。为什么要面向服务?以前用得好好的面向信号或者面向消息的通信架构怎么就不香了?面向服务的通信架构,它的优势到底在哪里,如果不能很好地理解这点,可能很难从过去面向信号的思维转变过来,也就无法体会引入SOA的价值和意义。

这有点悖论哈,不去用,无法感受其奥义,但又因为没用过,对它保有质疑,过往的再拧巴,也是千锤百炼了,从零开始,谈何容易。因此,我觉得短时间内不太可能全面铺开做整车SOA,可能会在安全等级不高的域比如智能座舱先尝试SOA。

本质上SOA就是服务的集合。在SOME/IP 协议介绍一文中,我写过对于“服务”的理解。以智能座舱域为例(如下图),可以把“服务”分为两类:

基础服务和应用服务,基础服务的功能可能包括:总线消息的解析和路由(如车身数据服务)、直接与硬件相关的逻辑处理(如音频服务)、上层应用有共同需求的一些基础设施(如日志服务);

应用服务的功能相对复杂些,可能需要由多个基础服务提供数据支撑,也可能需要应用服务之间相互协同,实现业务逻辑(如导航服务)。

dda7a5be-bc8a-11eb-9e57-12bb97331649.png

SOA分层架构视图(仅作举例)

这只是一个很简单的例子,想表达的是,每个服务将自己的功能,以接口的方式提供,基于这些服务和接口,便可以设计出应用场景,以满足各种用户需求,提升驾车体验。可以想象,应用场景的需求一定是丰富且变化的,面向信号的话,新增一个需求,可能要等上一年,但如果服务也能够方便地进行开发、扩展和更新,是不是好多了,是不是挺有价值呢~

个人觉得,汽车SOA的设计难点,主要在于以下几点:

服务的定义和划分,要把业务需求分析透彻,从中提炼出服务的功能,数据流向理清,定义服务的边界,把握服务的粒度,怎么做到“低耦合,高内聚”,我以前很讨厌研究需求,觉得那些不过就是些业务,没啥威廉希尔官方网站 含量,后来才慢慢认识到,这种想法很危险啊,脱离需求的软件设计不可能很好地满足需求,如果不能很好地服务于产品功能,那么再牛逼的威廉希尔官方网站 都没有机会实现它应有的价值,事实上,能够把需求文档转化为可实施的软件设计,也是一种能力;

不同系统中,要实现中间件框架或者底层通信基础设施,Adaptive AutoSAR有ARA::COM组件,Android有Framework,但不能跨域,QNX/Linux就不用说了。要实现一个中间件框架,本身并不是件容易的事,需要比较强的威廉希尔官方网站 实力,一旦出了问题一般都是重大问题;

服务接口标准化,接口描述语言化(IDL),能够通过工具自动生成RPC桩的代码(最好能够关联整车通信矩阵,e.g. ARXML-》C++ API),能够跨平台,支持多语言,毕竟UI层可能不是C++写的,时至今日,没几个应用愿意去解析原始消息,远程调用接口不香嘛~;

如何兼容一些没有与时俱进的设备和模块,如何兼容旧的传输通道,如何尽可能复用以前的业务逻辑,理论上任何兼容都是可以实现的,抽象一层不够,那就再来一层,但兼容得越多,系统就越复杂,出问题的概率就越大,维护起来就越费劲,这意味着成本的升高,质量却不见得变好;

评估性能影响,怎么保证安全性,……,如果是基于开源项目,可能还要做二次开发,来满足这些非功能性质的需求~;

所以,汽车SOA真不是SOME/IP,也不是DDS,更不是Adaptive AutoSAR,这些都是汽车SOA威廉希尔官方网站 栈中的一环,并不是全部。

很多时候,纯威廉希尔官方网站 的部分并不是最难的,新的架构方案要达成共识,要真正落地,需要博弈和取舍,需要天时地利人和。作为一名工程师,心态是极为重要的,要分清理想与现实,威廉希尔官方网站 与工作,所以在这里我只想谈威廉希尔官方网站 ,本来打算梳理一下做汽车SOA开发的基础知识体系,以后公众号的内容大致也会围绕着这个体系去写,没想到写着写着这么长了,于是分成上下篇了,下面先开个头吧。

SOA是架构,做SOA的设计和开发,其实也是做架构的设计和开发,在这里我想引用陈皓老师为《架构整洁之道》作的推荐序里的一段话,我常想起这段话,挺有鞭策的功效,分享给每个不想成为PPT架构师的工程师,以共勉:

问题:如果你要成为一名架构师,你需要明确地区分几组词语,否则你不可能成为一名合格的工程师或架构师。这几组词语是简单vs.简陋、平衡vs.妥协、迭代vs.半成品。如果你不能很清楚地定义出其中的区别,那么你将很难做出正确的决定,也就不可能成为一名优秀的工程师或架构师。

陈皓,《架构整洁之道》推荐序一

之前很长一段时间,我经常感到焦虑,一方面不想成为PPT党,开会党,另一方面,除了工作还要生(带)活(娃),留给学习的时间并不多,而想学的知识又如同汪洋大海,今天想好好梳理一下某个威廉希尔官方网站 点,明天搜到某个开源项目蛮感兴趣想写个Demo跑跑看,年轻的时候觉得日子一天天刷刷地过去,也不是什么事儿,现在愈发有种紧迫感。在做了一些架构方面的设计和开发工作以后,更是深刻体会到构建个人的领域知识体系,尤其是一些基础威廉希尔官方网站 ,真的非常重要。

今年伊始,听了李运华老师关于“如何打好基础”的讲座,核心观点是:“基础≠底层,基础≠源码,基础≠不变”,很是醍醐灌顶~结合个人实际情况,我觉得可以这么去构建我的领域知识体系:首先,定义出哪些是与我工作相关的领域知识(比如现阶段是SOA);其次,进一步细化要学习的知识范围,也就是下篇要梳理的SOA相关知识;

最后,分别从广度和深度(根据工作内容去判别学习的深度),有针对性地学习,并在实际工作和项目中把知识和威廉希尔官方网站 串起来,从而系统性地提升威廉希尔官方网站 能力。就像前面说的,要分清理想与现实,因为这个世界从来都不是我所能想象的,很多PPT党开会党,基础不扎实甚至很水,设计出焦油坑一样的架构,坑自己,坑别人,坑项目,也不耽误他们升职加薪跳槽。但是“世界上只有一种英雄主义,那就是认清生活的真相后依然热爱它”,不是么,于是才有了写公众号的初心和决心。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • soc
    soc
    +关注

    关注

    38

    文章

    4163

    浏览量

    218170
  • RTOS
    +关注

    关注

    22

    文章

    811

    浏览量

    119598
  • Com
    Com
    +关注

    关注

    1

    文章

    107

    浏览量

    40631
  • Ara
    Ara
    +关注

    关注

    0

    文章

    4

    浏览量

    7931
收藏 人收藏

    评论

    相关推荐

    面向服务的整车EE架构SOA)设计开发咨询服务

    经纬恒润多年来一直致力于为客户提供先进电子电气架构解决方案,近年来,经纬恒润在国内率先开展整车SOA架构的威廉希尔官方网站 研发和业务布局,参与多款SOA架构
    的头像 发表于 12-12 15:11 549次阅读
    <b class='flag-5'>面向</b><b class='flag-5'>服务</b>的整车EE<b class='flag-5'>架构</b>(<b class='flag-5'>SOA</b>)设计<b class='flag-5'>开发</b>咨询<b class='flag-5'>服务</b>

    使用ROS机器人威廉希尔官方网站 和SOA(面向服务架构)推进ADAS原型设计

      汽车设计的创新是一种持续的驱动力,每代汽车都会出现新的特性和性能。在不断发展的汽车威廉希尔官方网站 环境中,雷诺率先采用面向服务架构SOA) 来满足现代车辆系统的需求。这种
    的头像 发表于 12-04 14:18 477次阅读
    使用ROS机器人威廉希尔官方网站
和<b class='flag-5'>SOA</b>(<b class='flag-5'>面向</b><b class='flag-5'>服务</b><b class='flag-5'>架构</b>)推进ADAS原型设计

    9月26日云威廉希尔官方网站 研讨会 | SOA整车EE架构开发流程及工具实施方案

    本次研讨会经纬恒润将结合业务团队多年来在SOA架构开发和工具实施领域的项目实践经验,分享探讨SOA趋势下先进的整车EE架构
    的头像 发表于 09-19 17:09 299次阅读
    9月26日云威廉希尔官方网站
研讨会 | <b class='flag-5'>SOA</b>整车EE<b class='flag-5'>架构</b><b class='flag-5'>开发</b>流程及工具实施方案

    秒送LBS场景下的C端SOA服务容灾建设之-数据备份篇

    前言 在面向服务架构SOA)系统中,容灾能力是保障系统稳定性的重要组成部分。通过引入 多数据中心部署、自动化故障转移、数据备份 等威廉希尔官方网站 手段,可以有效提升系统在面对突发灾难事件时的恢
    的头像 发表于 08-15 14:24 304次阅读
    秒送LBS场景下的C端<b class='flag-5'>SOA</b><b class='flag-5'>服务</b>容灾建设之-数据备份篇

    SOA架构开发小助手PAVELINK.SOA-Converter V1.4.2新版本发布

    PAVELINK.SOA-Converter转换工具,用于衔接基于SOA的控制器设计、开发及测试过程中所常见的各类软件工具。PAVELINK.SOA-Converter能提供IDL及
    的头像 发表于 08-07 15:10 539次阅读
    <b class='flag-5'>SOA</b><b class='flag-5'>架构</b><b class='flag-5'>开发</b>小助手PAVELINK.<b class='flag-5'>SOA</b>-Converter V1.4.2新版本发布

    架构服务建模,关键在这6步!

    经纬恒润基于SystemWeaver平台,按照SOA建模理念为客户提供了新一代基于SOA的企业级电子电气系统协同设计解决方案,可以有效支持服务和信号的混合架构建模。
    的头像 发表于 07-08 10:36 1361次阅读
    新<b class='flag-5'>架构</b>下<b class='flag-5'>服务</b>建模,关键在这6步!

    ai服务器是什么架构类型

    AI服务器,即人工智能服务器,是专门为人工智能应用设计的高性能计算服务器。AI服务器的架构类型有很多种,以下是一些常见的
    的头像 发表于 07-02 09:51 1056次阅读

    PAVELINK.SOA-Converter-应用场景介绍#SOA #IDL转化 #汽车架构开发

    SOA
    北汇信息POLELINK
    发布于 :2024年04月29日 18:56:30

    SOA-Converter v1.3.2上线|新增Excel模板适配插件及ARXML合并功能

    PAVELINK.SOA-Converter转换工具,用于衔接基于SOA的控制器设计、开发及测试过程中所常见的各类软件工具。PAVELINK.SOA-Converter能提供IDL及
    的头像 发表于 04-18 08:25 363次阅读
    <b class='flag-5'>SOA</b>-Converter v1.3.2上线|新增Excel模板适配插件及ARXML合并功能

    汽车电子电气架构SOA如何实现?

    在车载环境中,SOME/IP基本解决了SOC,但SORS呢?SOS呢?仅有SOC的SOA是没有灵魂的,是不完整,也不可能实现SOA的目标,故而,若认为SOA=SOME/IP的话,你真的低估了S
    发表于 04-11 10:01 331次阅读
    汽车电子电气<b class='flag-5'>架构</b><b class='flag-5'>SOA</b>如何实现?

    汽车SOA功能模块与开发流程深度剖析

    SOA是从遵循服务导向原则的可重用服务中构建复杂软件系统的方法。SOA也是1个组件模型,它将应用程序的不同功能单元(称为服务),通过这些
    发表于 04-07 10:13 900次阅读

    面向服务器应用的兆芯KH-40000解决方案集发布

    面向由新兴威廉希尔官方网站 兴起驱动的数据量爆发性增长、算力需求增加等市场需求,兆芯汇集多家生态伙伴之力,发布了面向服务器应用的《兆芯KH-40000解决方案集》,融合兆芯处理器平台卓越的性能、完善的生态优势以及众家合作伙伴丰富的应用经验,提
    的头像 发表于 02-28 18:16 1246次阅读

    鸿蒙媒体开发简述

    录制)、图片等。 如下图所示,媒体系统面向应用开发提供音视频应用、图库应用的编程框架接口;面向设备开发提供对接不同硬件芯片适配加速功能;中间以服务
    发表于 02-28 17:53

    如何理解IGBT的四种SOA

    如何理解IGBT的四种SOA? IGBT的四种SOA表示了IGBT器件在不同工作状态下的安全操作区域。这四种SOA是:Continuous SOA、Limited
    的头像 发表于 02-18 11:04 1069次阅读

    架构开发与优化咨询和实施服务

    得益于硬件平台算力的提升,汽车电子电气架构的集成度逐渐提高,多域融合成为了目前行业中软件工程的重要工作内容。经纬恒润可以为汽车电子和软件工程师在开发软件架构过程中提供:既有软件设计梳理与建模、
    的头像 发表于 02-05 14:26 375次阅读
    <b class='flag-5'>架构</b><b class='flag-5'>开发</b>与优化咨询和实施<b class='flag-5'>服务</b>