SOA(Service-Oriented Architecture,面向服务的架构)是一种设计方法,它将应用程序的不同功能单元(称为服务)通过定义良好的接口和协议进行连接。这些服务可以独立部署、管理和扩展,从而提高系统的灵活性和可维护性。
如上图所示,将SOA服务分为基础服务、扩展服务、应用服务。这三种服务类型,分别对应着不同能力属性,每一类服务都有着明确的服务单一性,即,每一个服务单元都只提供一种服务或者说只有一种功能。从这里也可以看出,服务的形成是因为功能,而不同使用者对同一个功能的需求,促使了服务下沉聚合。多个上层服务使用同一个下层服务,那么便出现了服务标准化的需求,简单说就是服务接口的标准化。
SOA软件架构还有另外一些特性:高内聚、低耦合、服务平台无关化、服务动态部署/动态发现。所以,将基于SOA架构的操作系统分成如下层级,已实现完整意义上的SOA软件架构。
1) OS AL层:屏蔽操作系统对SOA架构的影响
2)SOA Framework层:提供基于SOA架构的服务设计所需的所有基础组件
3)SOA Platform层:提供通用化的SOA服务,提高功能的复用率,共包含2个子块:a)基础服务层:可独立运行,无外部依赖的服务;b)扩展服务层:使用基础服务,进行横向组合扩展,实现复杂功能逻辑的服务
4)外部服务层:根据项目需求,使用其他域控制器或云端提供的服务接口,实现“云管端一体化SOA软件平台”
5)应用服务层:基于SOA Framework和SOA Platform提供的能力支撑,根据需求定制的逻辑业务功能。
6)应用层适配接口层:将SOA服务与应用层隔离开,转化SOA服务接口为不同系统的native开发语言,加速应用层开发效率,使应用层与SOA服务层隔离。
7)Cloud Service层:基于SOA软件架构,通过车云一体化软件组件实现车端—云端服务对等且位置无关化。