跳到主要内容

电动汽车 SOA 通信中间件

SOA 架构

SOA(Service-Oriented Architecture)是一种软件架构,同时也是一种软件设计方法和理念。SOA 中文翻译过来就是“面向服务的架构”,类似于“微服务”架构,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。

良好的 SOA 架构,接口应该采用中立的方式进行定义,独立于实现服务的硬件平台、操作系统和编程语言。确保构建在不同系统中的服务可以以一种统一和通用的方式进行交互。SOA 具备松耦合、标准接口可访问和易于扩展等特点,使得开发人员能以最小的软件变更应对迭代多变的客户需求,提高代码复用率。

随着智能汽车的发展,越来越多的电子传感、控制模块被集成到汽车域控系统当中。因此,SOA 软件架构设计思想在汽车行业中也越来越流行。例如 AUTOSAR AP 平台就是采用 SOA 架构设计的,平台服务可根据应用需求动态配置和加载,OEM 厂商可以按照功能设计需求定义所需的服务组合。

SOA 的优缺点

通过前面的介绍,我们知道 SOA 架构的优势在于灵活性和可扩展性,具体来说具有如下优点:

  • 高扩展性,各个服务之间低耦合;
  • 易于部署,软件从单一可部署单元,被拆分成多个服务,每个服务都为可部署单元;
  • 易于开发,每个组件都可以进行持续集成式的开发,可以做到实时部署,不间断地升级;
  • 易于测试,可以单独测试每一个服务。

显然,SOA 架构带来的优点是有代价的,因此并非适合所有场景。具体来说,包括以下两方面不足:

  • 由于强调互相独立和低耦合,服务可能会细致拆分,进而导致系统凌乱和笨重;
  • 服务之间的通信会使得整个架构变得复杂。

总的来说,SOA 架构设计思想符合“软件定义汽车”的发展趋势。在智能网联汽车中,大量的功能需要在传感器、控制器、执行器之间协调工作,SOA 架构为应用提供了良好的基础条件。

常见 SOA 通信中间件

ROS, CyberRT, iceoryx, DDS和AutoSAR