OpenDaylight中的Karaf

在上一篇《从零开始学opendaylight之六:osgi》中,我们已经介绍了osgi的基础知识,其企业级的部署环境有apache karaf、eclipse virgo等,本篇我们来分析下apache karaf。
一、karaf基础
1.基本介绍
karaf是一个现代的、多种形态的(polymorphic),轻量的、强大的、经过osgi认证的企业级容器。这里的多种形态指的是它能够容纳各种应用,诸如osgi、spring、war等等。单从osgi的角度来说,karaf是osgi的容器实例,类似tomcat是servlet的容器实例一样。其逻辑架构图如下所示:
从图中我们可以看出,karaf使用apache felix或eclipse equinox运行时框架,编程模型采用blueprint实现配置,并在此基础之上提供诸如日志、控制台、安全、部署等通用功能。
同时,karaf 还提出了“feature”的概念,即特性。通过feature的定义,最小单元为osgi bundle,多个osgi bundle根据功能需求聚合在一起形成一个feature,多个feature可能聚合在一起形成一个大的feature,最终所有的osgi bundle能有序地组合起来,形成清晰、可重复利用的功能feature,实现系统的模块化开发和组件的重复利用。
karaf archive示例karaf最终部署的是kar包,生成kar包需要如下工作:
① pom.xml文件使用features-maven-plugin;
② feature.xml 指明具体的bundle等信息。
二、karaf使用
在karaf官网(http://karaf.apache.org/download.html)下载发布版本并解压到本地,如下图所示:
在命令窗口输入.\\karaf,可得到如下加载成功的提示信息:
执行命令:feature:install webconsole
安装成功后,在浏览器输入如下url地址,用户名和密码都是karaf。
http://localhost:8181/system/console/bundles
执行命令:system:shutdown停止karaf容器。
更多信息可以参考:http://mirrors.shu.edu.cn/apache/karaf/documentation/4_x.pdf
三、karaf在opendaylight中的应用
opendaylight使用karaf作为其部署环境,官网提供发布版本,url地址信息为:http://www.opendaylight.org/software/downloads,下载并解压后目录如下:
执行命令.\\karaf,启动opendaylight控制器。
执行命令feature:list -i,查看已安装的feature
查看gui界面,输入url地址:http://127.0.0.1:8181/index.html#/yangui/index
四、小结
从零开始学opendaylight系列介绍到这里,我们已经将opendaylight的“外围”工具和环境讲解完成了:
① 使用maven来进行项目构建和依赖包管理;
② 基于osgi框架进行编程:面向组件、服务和接口的编程模型,并使用blueprint容器进行配置管理;
③ 使用karaf运行环境,并使用的feature概念。
从下一篇开始我们将开始讲解业务逻辑编程的部分:yang、datastore、rpc、notification等等。

嵌入式WinCE的GPS导航软件方案及应用介绍
硅谷走下神坛,科技精英回流中国
Qorvo可扩展电源供应和管理平台可最大限度地减少能源消耗
怎样成为一名合格的算法工程师
电脑主机降低噪音的方法讲解
OpenDaylight中的Karaf
架空地线的作用是什么
2021行家说显示年:合易科技带你遇见技术未来
电子芯闻早报:亿航Ghost 2.0,大疆Phantom X
板级埋人式封装工艺流程与技术
DS96F175ME/883 高速四路差分线路接收器的中文资料
USB PD有望结束快充市场的混战局面
iPhone7航空货运单曝光 iPhone7有可能会面临严重缺货
输入信号耦合的放大电路工作原理分析
储能变流器EMC测试经验分享
新纳传感推出基于MEMS技术的OpenIMU330测量单元
基于RTThread的DFS文件系统组件使用笔记
Maxim面向HVAC和楼宇自动化推出CAN收发器
海洋光学新型NeoFox Sport手持式光学氧传感器
风力发电防雷监测浪涌保护器的应用解决方案