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

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

3天内不再提示

SOA架构技术概述

智能汽车电子与软件 来源:汽车电子与软件 2023-04-19 09:46 次阅读

01

SOA架构技术概述

1.1 面向服务计算的目的和价值

面向服务计算的七大战略目标相互联系,具体来说可以分为两组,即战略目标和战略价值(优势)。其中提高组织业务敏捷性、提高投资回报率和减少研发成本(或IT负担)是其他四个目标实现所带来的价值和优势。 在将面向服务持续应用于软件程序设计时,一系列战略目标和优势(如图1所示)共同代表了我们所期望实现的目标状态。理解这些目标和优势是非常有益的,因为它们可以为我们提供连续不断的总体背景和理由,以维持我们长期实现面向服务的投入。

f835c47e-dde9-11ed-bfe3-dac502259ad0.png

以下简单说明七大战略目标的内涵:

1. 增强本征互操作性:即互操作性指的是数据的共享。软件程序的互操作性越高,其之间的信息交换越容易。

2. 增强联合:即服务的联合。软件资源和应用程序联合在一起,同时保持其各自的自主性和自治性。

3. 增加供应商多元化选择:即供应商多元化能力,指组织必须选择“最佳品种"的供应商产品和技术创新。

4. 同步提升业务与技术领域:即应用程序的设计和实现不仅要满足初始业务需求,也应满足未来随业务性质和方向变化时的业务需求。

5. 提高投资回报率:即衡量自动化解决方案投资回报率(ROI)是决定应用程序或系统实际成本效益的关键因素。

6. 提高组织的业务敏捷性:即组织能够对变化做出反应的效率,以适应行业变化并超越竞争对手。

7. 减少研发成本(IT成本):即减少浪费和冗余,缩小规模和运营成本,减少与其治理和演进相关开销等。

1.2 SOA架构特征及优缺点

SOA是一个组件化模型,它将应用程序的不同功能单元(服务)通过这些服务间良好的接口和契约联系起来。其中,服务(Service)是一个粗颗粒度的、可发现的软件实体,以一个单独实例存在,通过一组松耦合和基于消息的模型与其他应用或服务交互。接口是采用中立的方式进行定义的,独立于实现服务的硬件平台、操作系统编程语言,使得构建在这样的系统中的服务可以以一种统一和通用的方式进行交互。

交互的服务大致由三个实体组成:服务请求者、服务提供者和服务注册表。其中实体间的操作包括:服务发布、服务发现、服务绑定和调用。 面向服务架构是众多软件架构风格中的一种,是微服务架构的一种。因面向服务架构风格具有基于标准、松散耦合、共享服务和粗粒度等优势,表现出易于集成现有系统、具有标准化的架构、提升开发效率、降低开发维护复杂度等特征,更符合智能网联化时代车载系统对软件架构的要求,所以被汽车行业引入和采用。

SOA因组件化和服务化模型特征,有其自身的优缺点,具体分析如下(仅针对IT行业业务特征和实施环境):

优点分析:

灵活性,根据需求变化,可重新编排服务或应用程序

对IT资产的复用

使企业的信息化建设真正以业务或应用为核心,业务人员根据需求编排服务,不需要考虑技术细节

缺点分析:

服务划分很困难

服务的编排是否得当

如果选择的接口标准有问题,会带来系统的额外开销和不稳定性

对IT硬件资产还谈不上复用

主流实现方式接口很多,很难统一

主流实现方式只局限于不带界面的服务的共享

1.3 SOA国内外技术应用现状

在IT行业,国外于1996年由Gartner第一次提出SOA思想,2005年SOA开始推广和普及,2007年应用厂商希望通过发布标准来推动SOA的实施,如SCA和SDO通过OASIS审核,WS-POLICY、W3C成为W3C标准等,如今SOA在国外IT行业、通讯行业、政府部门得到广泛系统性应用。其中,欧美实现SOA架构的关键任务是:对已有系统中的功能进行提取和包装,形成标准化的“服务”。

在国内,2006年之前是技术萌芽;2006-2008年是过热期;2009年度过了幻灭期;从2010年开始进入复苏期,现在正处于由复苏期迈向成熟期。其中,国内近30年的IT建设多为生产型系统,服务型系统普遍未开始建设,大量"服务"需要全新标准化构造。

在汽车行业,因汽车智能化和网联化需求,尤其是自动驾驶系统研发应用的需要,车载系统SOA软件架构技术受到国内外整车企业的关注。国外,2010年以宝马、电装、大众等为首的欧、美、日汽车产业巨头便开始车载SOA软件架构的研究工作,形成一定理论基础和实践成果,并对传统汽车电子系统进行革命性创新。

当前,大众、奥迪、宝马、福特等汽车巨头自成联盟,进行SOA软件架构技术和规范的应用研究,预计2023前后将开始应用于量产车型。国内,整车企业有加入和使用的意愿,但考虑软件架构规范核心实施技术不给予开放,后期产品技术和产品生态会高度依赖国外技术平台和标准规范,将会严重制约车企自身创新发展。

其中, 一汽、东风和上汽等部分头部OEM己意识到SOA软件架构的重要性,在寻找自主解决方案。同时,软件架构技术属于行业共性技术,属于开发式共性平台,因国内缺少行业协同和协作机制,在共性平台和生态建设方面发展缓慢。

02

SOA技术规范现状

2.1 Web服务SOA相关技术规范概述

Web服务作为SOA架构技术发展的典型和成熟代表,其促进了SOA架构技术的发展和推广,其标准体系的开发方式和开发内容对于车载SOA软件架构技术规范开发具有深入的指导意义。

2. 1. 1技术标准组织

SOA架构的WEB服务相关的标准化组织主要有三家,分别为万维网联盟(World Wide Web Consortium, W3C)、结构信息标准化促进组织(Organisationfor the Advancement of Structured Information Standards, OASIS)和Web服务互操作组织(Web Service Interoperability Organisation,WS-I) W3C是一个专注于开发基于Web的行业技术标准的国际联盟。它的使命是通过开发协议和指导方针,确保万维网作为一种多功能媒体的长期增长,使万维网充分发挥其潜力。1994年Tim Berners-Lee创建了W3C,因为跨网络分割的风险变得越来越明显(特别是在多个版本的HTML同时工作时)。从那时起,W3C就开始优先开发核心的Web技术(HTML、XML等),以及相关的样式化语言(CSS 、XSLT等)。如今,Web服务严重依赖于W3C开发的技术,W3C委员会制作Web服务技术

主要由以下几部分:

• XML 架构1.0;

• WSDL 1.1,2.0;

• SOAP 1.1, 1.2;

• WS-Addressing 1.0;

• WS-Policy 1.5;

OASIS

OASIS成立于1993年,是一家非营利性的国际协会,旨在开发、整合和推厂包括Web服务、安全、商业事务、供应链、电子政务、互操作性等所需的标准。OASIS对Web服务的贡献包括对UDDI(Universal Description Discovery and Integration)规范的标准化,以及对WS-BPEL规范的标准化。此外OASIS也推出了诸如面向服务的架构参考模型和面向服务架构的相关规范等。OASIS和W3C不同,他的主要兴趣在于制定附加规范以及支持不同的行业,与应用领域的关系更为密切。

WS-I

WS-I成立于2002年,其目的不是建立新的标准,而是旨在推动Web服务的互操作性。具体目包括三个方面:

为客户的网络服务应用提供实施指导和培训;

促进跨平台、跨应用软件和跨程序语言的网络服务的一致和兼容,并保证可靠兼容;

致力于使网络服务协同成为本行业共同遵守的准则,以帮助客户在网络服务技术的选择上轻松决策,提高网络服务的应用范围和水平,并确保网络服务技术的持续发展。

2. 1. 2技术标准的形成 标准如何被开发出来?

为了充分利用Web服务技术,最大潜力发掘其技术价值,理解将技术规范开发为已批准的行业标准的过程是很重要的。 这一切都始于新技术的原创想法,当社区对这个想法有足够的兴趣时,W3C就会举行一个开放的研讨会,相关方聚在一起讨论技术解决的范围和技术提出的解决方案。

就Web服务而言,供应商组织通常倡议他们独立或合作开发的技术,虽然这些技术常常用来解决那些对供应商来说很重要的问题,但人们希望让它们成为非专有的Web服务框架的一部分。如果W3C参与者之间有足够的协议,那么这些所提出的技术将成为创建行业标准的基础。

标准开发流程是怎样的?

W3C技术规范声明周期的第一步是成立一个负责定义目标标准的工作组。该组将由W3C成员组成,他们通常由供应商代表和从业者组成。W3C还提供了支持的技术人员,帮助确保该技术将完全补充其他已经开发的行业标准。然后,该组通过以下阶段开发一个规范:

l.工作草案——这是一个定期发布的规范的快照,以让社区了解工作组所采取的方向,并收集早期的意见。

2.最后一次呼叫工作草案——当工作组认为该规范满足其所有原始要求时,它将发布此文件并正式请求社区的意见。这一步骤通常至少持续三周。

3.候选推荐——纳入前一阶段的反馈后,工作组要求实施规范,以确保规范实际上是可实现和互操作的。

4.建议——证明规范巳以互操作方式成功实施,已提交W3C咨询委员会批准,这一步骤至少会持续四周。

5.建议——规范为W3C建议,通常称为“行业标准”。整个过程的持续时间因所开发规范的范围和复杂程度而不同。从一个工作组成立的那一刻起,它可能需要18个月到几年的时间来提交W3C建议。在这些阶段,公众可以通过提交工作组有义务回应的反馈,对正在制定的技术规范发表评论。工作组成员之间的所有通信和工作组的所有交付成果都发布为公开访问。 W3C的一个特殊性是,它的过程是基于共识的,这意味着整个工作组在做出决定之前需要就解决方案达成一致。投票只有在有严重分歧的情况下才会进行投票,而通过投票作出的任何决定通常会在剩下的过程中进行仔细审查。

2.2 AUTOSAR-AP平台SOA相关技术规范概述

AUTOSAR-AP平台采用SOA方法论,主要涉及一种自适应软件产品的开发,是一套包括软件分析、设计、开发、部署在内的复杂工作流程。主要包括两个方面:工作流定义与成果物定义(如图2-2)。具体描述如下:

2.21 流程定义

AP平台的方法论作为CP平台的扩展,其引入了新的概念,AP平台软件的实例是在进程的上下文中执行。AP平台引入了“机器”(Machine)的概念,“机器”是虚拟化的ECU,一个可以部署软件的实体。它可以是真实存在的处理器,也可以是一个虚拟机,AP软件则运行在某一特定的“机器”上。

f8b9a5dc-dde9-11ed-bfe3-dac502259ad0.png

(1)开发服务接口(Service Interface)

AP平台是一个面向服务的软件架构(SOA),基于AP平台的软件开发,首先需要进行服务接口的设计。服务接口可以由事件(Events)、方法(Methods)和字段(Fields)组成,是生成软件组件头文件的基础。

(2)开发通信结构(Communication Structure)

OEM在设计阶段需要指定预期“机器”(Machine)的通信结构以及相应的配置参数,包括机器的所有网络端点和服务发现地址端口等。这一步将产生一个可交付的“机器设计”(Machine Design),一个特定的“机器”模型将引用一个特定的“机器设计“ 模型。

(3)开发自适应应用软件(Adaptive Application Software)

自适应应用软件开发从软件组件(SW component)的设计开始,软件组件是通过其端口(Port)定义的,每个端口实现一个服务接口。基于服务接口描述,生成包含实现软件组件的头文件。开发人员在此基础上实现软件组件的核心功能。

(4)开发自适应平台软件(Adaptive Platform Software)

与应用级软件类似,平台级软件可以由基于标准化服务接口的软件组件组成,也可以直接实现而不需要软件组件模型。

(5)定义和配置机器

包括了功能组状态和每个状态超时的定义,进程到特定机器的映射,以及平台服务(例如NM、DoIP) 和基础模块(例如日志)配置等。此过程会产生一个独立于服务实例或应用程序的机器清单(Machine Manifest)

(6)集成软件

软件的实现和编译完成后,需要集成到一个可执行文件CExecutable)中。通过进程来定义特定机器上可执行文件的实例化,每一个进程会产生一个执行清单CExecution Manifest),其中包括了进程及其启动配置。

(7)定义和配置服务实例(Service Instance)

首先对服务接口进行部署,然后定义服务接口的实例,并决定是否提供或使用该服务实例。其次要建立服务实例到机器的映射,以及服务实例到端口的映射。此过程会产生进程所需的所有服务实例清单(Service Instance Manifest)

(8)生成软件包(Software Package)

将可执行文件及所需清单整合为软件包上传到机器上,而无需重新刷写。OEM可以将软件包存储在后端服务器中进行统一管理。

2.22 成果物定义

由于AUTOSAR的工作流包含了整个汽车软件开发流程,涉及多个开发角色,因此需要各个开发角色之间有信息交互,为了保证信息不出现二义性,需要对各个环节的工作成果物规则进行定义。同时为了信息的保存、传输、交互的需求,需要定义这些成果物的载体,ARXML就是定义了不同流程成果物的载体,使用不同的标签来表示不同的信息及流程,这些标签的定义就是AUTOSAR的数据元模型(如下图)。

f8e83d8e-dde9-11ed-bfe3-dac502259ad0.png

MO:使用Ml级规则生成的可运行软件实体,例如车门控制的可自行软件组件

Ml:使用M2级规则定义软件组件,例如车门控制的软件组件,软件组件的表现形式可以是ARXML,C/C++语言或各类文档。一般情况下会使用工具链以ARXML的形式定义软件组件的框架,然后导入下游工具链生成目标语言。或直接生成目标语言框架,然后手写代码的形式完成整体的软件组件;

M2:使用M3级规则定义使用AUTOSAR开发的元素、语法及规则,例如软件组件,port口,机器,清单等。该级别的元素与具体的功能无关,类似于各类开发语言的语法;

M3:用于定义M2的元模型





审核编辑:刘清

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

    关注

    0

    文章

    137

    浏览量

    24353
  • SCA
    SCA
    +关注

    关注

    1

    文章

    36

    浏览量

    11951
  • SOA
    SOA
    +关注

    关注

    1

    文章

    281

    浏览量

    27400
  • ROI
    ROI
    +关注

    关注

    0

    文章

    14

    浏览量

    6212

原文标题:SOA架构技术概述及技术规范现状

文章出处:【微信号:智能汽车电子与软件,微信公众号:智能汽车电子与软件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    9月26日云技术研讨会 | SOA整车EE架构开发流程及工具实施方案

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

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

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

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

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

    MOS管的安全工作区SOA详解限制线介绍

    以下是这期文章的目录:①什么是MOS管的SOA区?②SOA曲线的几条限制线的意思?1、什么是MOS管的SOA区,有什么用?SOA区指的是MOSFET的安全工作区,其英文单词
    的头像 发表于 07-09 08:05 668次阅读
    MOS管的安全工作区<b class='flag-5'>SOA</b>详解限制线介绍

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

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

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

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

    一文带你看懂什么是SOA半导体光放大器?半导体光放大器的分类及应用 SOA半导体光放大器介绍

    低功耗、芯片化易于集成、支持全波段等优点     缺点:偏振敏感,不同波长通道间存在交叉增益调制与非线性相互作用     传统SOA与EDFA (掺饵光纤放大器) RA(拉曼放大器)相比,部分指标较弱,但随着近年SOA技术的发展
    的头像 发表于 04-24 11:40 2940次阅读
    一文带你看懂什么是<b class='flag-5'>SOA</b>半导体光放大器?半导体光放大器的分类及应用 <b class='flag-5'>SOA</b>半导体光放大器介绍

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

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

    波长可调激光器中的增益芯片和SOA

    ----翻译自SATO Kenji,ZHANG Xiaobo于2019年发表的文章 摘要: 本文讨论了用于波长可调激光器(TL)的半导体光放大器(SOA)和增益芯片的设计规则。即与常规SOA或激光器
    的头像 发表于 04-08 10:41 996次阅读
    波长可调激光器中的增益芯片和<b class='flag-5'>SOA</b>

    宽光谱SOA光芯片设计(一)

    光谱半导体光放大器(SOA技术,通过电控可调光谱形状的超宽光谱,来满足粗波分复用和城域网中出现的新放大需求。使用分子束外延在InGaAsP材料中制造多量子阱SOA,每个器件中沿其长度方向由两段组成。使用无杂质量子阱混合
    的头像 发表于 03-26 10:23 376次阅读

    什么是MOS管的SOA区?SOA曲线的几条限制线的意思?

    SOA区指的是MOSFET的安全工作区,其英文单词是Safe Operating Area。也有一些厂家叫ASO区,其英文单词是Area of Safe Opration,总之,两者是一个意思,下面我们统一称为SOA
    的头像 发表于 03-11 09:16 3266次阅读
    什么是MOS管的<b class='flag-5'>SOA</b>区?<b class='flag-5'>SOA</b>曲线的几条限制线的意思?

    如何理解IGBT的四种SOA

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

    SOA半导体光放大器原理 SOA半导体光放大器的缺点

    SOA(Semiconductor Optical Amplifier)半导体光放大器是一种基于半导体材料的光学放大器,通常用于光通信和光网络中的信号放大器。它可以放大光信号的强度,同时保持信号
    的头像 发表于 01-30 10:09 1140次阅读

    soa光放大器原理 soa光放大器增益测试

    光通信技术作为目前最主流的信息传输方式之一,在信息传输效率、速度和距离上具备着巨大的优势。光放大器作为光通信系统中的关键组件之一,扮演着信号放大的重要角色。本文将详细介绍半导体光放大器(SOA
    的头像 发表于 01-25 09:48 3227次阅读

    将传统汽车应用迁移到面向软件定义汽车的SOA

    软件定义汽车 (SDV) 的特点是 AI、自主、连接和电气化。最近,汽车行业已开始采用“基于服务”的方法来设计 SDV 的现代应用。这种称为面向服务的架构 (SOA) 的方法为开发软件应用提供了一种
    的头像 发表于 12-07 14:48 444次阅读
    将传统汽车应用迁移到面向软件定义汽车的<b class='flag-5'>SOA</b>