AD-SAL
主要功能:定义抽象服务,吸收南向协议的差异,提供统一的抽象服务和API,并提供相应的Request Routing。
北向的Plugin可以通过调用AD-SAL提供的北向API来实现对南向Plugin的调用,操作其管理的设备和服务。在AD-SAL中,抽象服务由南向和北向API实现,南北向API是一对一的映射关系。这种架构比较好理解,也很常用。而开发者在开发过程中,要充分考虑下层协议和Plugin对服务抽象层提供的服务的支持程度。
MD-SAL
功能:提供Request Routing和用来定义抽象服务和相应API的基础框架。管理基于Yang Model定义的各种Plugin。
需要说明的是,抽象服务和相应API严格的说是由各个Plugin通过yang model和service来定义,而不是由MD-SAL定义。这里会引出Yang Tools Plugin这样一个神器,他通过各个Plugin的model 用这些Sevice Interface实现具体的API和服务内容。Plugin通过MD-SAL和生成的API(RPC,Notification)、DataStore去利用其他各个Plugin的服务和数据。其实在这个架构中,所有功能模块的信息交互、数据存储调用都是通过MD-SAL来完成。简单的解释MD-SAL的主要功能就是管理基于Yang Model定义的各种Plugin。