ODL:OpenDayLight子项目之MD-SAL

ODL:OpenDayLight子项目之MD-SAL


一、MD-SAL简介

      MD-SAL(模块驱动项目)的全称为Model-Driven Service Adaptation Layer,即模型驱动服务适配层。 MD-SAL是一个消息总线驱动的可扩展的中间件组件,它提供基于应用开发者定义的数据和接口模型(如用户定义的模型)的消息服务和数据存储功能。

      MD-SAL在南向提供服务以支持多种南向协议,并在北向提供服务以支持其他模块和应用的功能。MD-SAL在控制器的架构占据非常重要的作用, MD-SAL能复用控制器内的模块,并且以灵活的方式将模块分为providers和 consumers,解决了AD-SAL中南北插件耦合度过高的情况,并且引入 DataStore提升控制器的性能,自锂版本开始就成为SAL层的主要组成部分,并且在此之后的版本SAL层完全由 MD-SAL组成,不再包含 AD-SAL模块。

      MD-SAL定义了一个通用层,概念数据模型以构建块和消息模式,并且为应用和应该间的交互通信提供一个架构/框架。 MD-SAL为用户提供通用支持,它定义传输和负载格式,包括负载序列化和同化(如二进制、XML或JSON)。

      MD-SAL使用YANG语言作为定义接口和数据的建模语言,并且为通过YANG建模的数据服务提供一个运行时消息和数据集中的服务。

二、MD-SAL开发

Open Daylight是一个庞大的项目,而基于 MD-SAL开发也涉及多方面的知识,接下来主要介绍 MD-SAL开发中一些必须具备的知识。

1.OSGI技术
      首先介绍Open Daylight后端使用框架OSGI技术。在 Open Daylight中,OSGi架构为运行在与 Open Daylight控制器相同的地址空间的应用提供支撑,使得 Open Daylight能动态地加载Bundles和数据包JAR文件。

2.Karaf技术
      在介绍完OSGi之后,接下来介绍一个基于实时运行的轻量级的基于OSGI的容器-Karaf。Open Daylight从氦(He)版开始使用这一技术,以方便部署各种选定的组件,简化打包和安装应用的操作难度

3.Maven技术
      Apache Maven是一个软件项目管理和理解工具,OpenDaylight项目使用它进行管理。
Maven能帮助开发人员管理项目的构建builds,文档、报告、依赖、SCMs、发布、分发。

4.Yang语言
      YANG语言是整个Open DayLight基础架构的基石,是数据模型驱动开发的基础。掌握YANG语言后能更好地理解和调试Open DayLight相关的项目。YANG话言不仅在Open Daylight项目 MD-SAL开发中占有十分重要的地位,同时也是 Open Daylight项目北向开发的关键。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王小二(海阔天空)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值