SOA到底是什么?为什么非要用SOA?

网友投稿 335 2022-10-24

SOA到底是什么?为什么非要用SOA?

SOA的理解思路

1 首先看一下服务(Service)是什么?

“服务”最初是一个社会学名词。1990年,市场营销学教授格鲁诺斯(Gronroos)给服务下的定义是:“服务是以无形的方式,在顾客与服务职员、有形资源等产品或服务系统之间发生的,可以解决顾客问题的一种或一系列行为。”我们SOA里的服务是从这里引申出来的,在IT相关的领域里,我们可以简单理解为“实现某种功能的函数或方法”。而这里的服务(函数或方法)能够被顾客(客户端)所使用,能够解决顾客这样或那样的问题(被调用所实现的功能)。举个生活中的例子,去全聚德吃烤鸭,全聚德能够提供烤鸭给顾客,这就是一种服务。这里先对服务有个基本了解。

2 服务接口(Service Interface)又是什么?

3 再看一下SOME/IP是个什么鬼?

IP是Internet Protocol,指的是TCP/IP的通信方式。

Scalable可伸缩,指的是该中间件能够适配于不同的平台及操作系统,其支撑的平台可大可小。

综合来看,SOME/IP就是指能够在不同平台上应用的,位于TCP/IP协议之上的,用于支持分布式应用软件,帮助分布式应用软件来传递信息的这么一套机制。说白了,就是把服务接口里的内容通过这种标准化的方式打包,然后交给TCP/IP这个快递员。

4 此时再看SOA是什么?

SOA=Service-Oriented Architecture,即面向服务的架构,是一种软件架构设计的模型和方法论。IT行业的概念是:从业务角度来看,以最大化“服务”的价值为出发点,可以充分利用企业已有的各种软件体系,重新整合并构建起一套新的软件架构。在汽车行业可以理解为,SOA是面向各种应用层程序(即“服务”,包含各种控制算法、显示功能等应用程序)进行设计,且不依赖于通信方式的一种架构设计理念。在架构设计工作中,重点关注汽车上的某些功能(“服务”)应该如何实现,该功能实现时与外界的各种信息交互(“服务接口”),该功能与外界交互时的基本流程(“服务序列”)。

5 SOA与SOME/IP有什么关系?

SOA设计的是“服务”架构,是应用程序的功能以及应用程序的对外接口;SOME/IP打包的是“服务接口”,是应用程序的对外接口。如此看来,SOA设计内容中的接口部分,需要通过SOME/IP进行打包传输。SOA是软件架构的一种设计理念;SOME/IP是一种将软件接口进行打包的打包方式,是一种中间件。

6 SOA与以太网有什么关系?

“以太网”严格来讲,指的是IEEE组织的IEEE 802.3标准所制定的技术标准内容,包括物理层的连线、电子信令和介质访问层的内容。汽车行业通常所指的“以太网”是泛化之后的概念,涵盖了基于以太网技术所实现的各种相关技术手段,包括TCP/IP协议、DoIP协议、SOME/IP协议等。“以太网”是一种通信手段。SOA与以太网之间的关系,是指采用SOA理念所设计的软件架构,在与外界交互时,其接口可以通过“以太网”的通信方式进行传输,而基于SOME/IP中间件的方式则是一个最典型的应用方式。(当然若通过其他非以太网的通信方式来实现SOA也是可行的,但通常大家不那么用)。

SOA与SOME/IP及以太网的关系示意图

7 为啥要用SOA呢?用了SOA有什么好处?

SOA是IT行业近年来典型的架构方式,大量的IT系统都是基于SOA实现的。而汽车领域采用SOA架构的一个主要原因就是能够加快车辆与互联网的互联互通。包括:

» 能够将各种新功能灵活地与互联网集成,而无需通过信号到服务的转换;

» 基于互联互通,快速提升系统与软件升级性能:有助于实现更高效的OBD及OTA软件升级,有助于实现各种远程诊断、预诊断等功能;

» 基于互联互通,能够大幅提升影音娱乐功能的用户体验,能够实现更为便捷的联网功能,实现不同平台间的各种App共享等功能;

» 更便于实现平台架构升级:通过SOA及SD的方式,能够有效降低架构升级带来的复杂度;

8 哪些场合要用SOA呢?

SOA主要针对的是某些功能的实现,而不是指哪个节点,包括:

» 以汽车以太网作为主要通信协议的功能,例如:

车内影音娱乐信息:比如音视频播放、IVI/副驾及后座娱乐系统互动、导航等图像信息传输、收音机、CD等功能;

» 与车外互联网实现互联互通的功能,例如:

获取车载摄像头的信息,比如通过手机远程获取车辆周围环境;

获取车辆运行状态信息,比如云端获取车辆的驾驶习惯;

远程控制车辆舒适性设备,比如通过手机远程打开车辆空调;

远程控制车辆安全性设备,比如通过手机为代驾远程开锁与启动车辆运行;

9 SOA该如何实现,如何升级?

总结:问完这些问题之后,再回头看SOA到底是什么?是否非要用SOA?

其实SOA( Service-Oriented Architecture)就是面向服务的架构,是一种软件架构的设计理念。SOA的实现需要基于SOME/IP及TCP/IP的通信方式。在汽车领域,SOA及以太网的应用对于实现车内高带宽数据的互联互通、汽车与外部网络的互联互通都有其一定的优势,而实现某些特定功能,也需要采用SOA技术。

审核编辑 :李倩

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【转】DELPHI开始支持LINUX DOCKER
下一篇:[带你学docker_连载2]docker编排管理工具Rancher
相关文章

 发表评论

暂时没有评论,来抢沙发吧~