首先我们来了解一下SOA的概念
面向服务架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和协议联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互。
总结一下:SOA有两个特点:软件解耦和灵活可拓展。
比如拿空调来说,传统的汽车空调,冬天吹热风,夏天吹冷风,除此之外没了,这也是大家日常中所使用到的功能。那么SOA架构来了,使得SOA架构下的空调能玩出什么花样呢?
首先硬件与功能解绑,也就是软件解耦,也就是功能可定制,比如你生活在俄罗斯,那么你的汽车空调功能肯定不需要吹冷风,你生活在热带地区你的汽车空调肯定不需要吹热风,那么只需要在SOA架构下订阅相应的服务,通过软件即可以使得两辆相同的汽车,相同的空调,却表现出适合不同人群,不同地域的功能。
此外,在SOA架构下,还可以通过订阅功能,使得汽车中其它的功能和空调功能配合使用,也就是灵活可拓展。比如摄像头检测到驾驶员疲劳驾驶,那么此时空调会自动降低温度,使得驾驶员头脑清醒。其它场景下也可自行订阅这种服务即可,使得一辆汽车就如同一块积木一样,出现千人千车的局面。
❤❤再来一个所有人都明白,更形象的例子来总结一下:一部手机不过几十个端口,却可以开发出成千上万的APP供手机使用各种服务,那汽车上千个端口,能够订阅出多少种不同的服务呢?想一想SOA是不是很有未来呢?未来,汽车工程师与互联网程序员也基本上没有太大的界限,工程师开发也需要了解到IT知识与IT开发语言,程序员如果想要进行汽车研发,也不需要了解内部硬件结构。每个人都是开发者,未来“软件汽车”由你定义!