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,实现系统的模块化开发和组件的重复利用。

容器

  1. 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等等。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分