在上一篇《從零開始學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概念。
-
容器
+關注
關注
0文章
494瀏覽量
22046 -
Servlet
+關注
關注
0文章
18瀏覽量
7884 -
tomcat
+關注
關注
0文章
27瀏覽量
4846
發布評論請先 登錄
相關推薦
評論