Osgish是基於一個Perl的一個OSGi殼牌在客戶端,它通過HTTP / JSON進行通信,以一種特殊的代理捆綁部署在目標平台上 除了通過現有的各種OSGi的外殼提供的標準功能外它提供了一些獨特的功能,當有很多OSGi包的處理讓生活easiers:
* GNU的Readline支持,
- 歷史保存翻過會議
- 上下文敏感的命令行完成
- Emacs鍵盤
*一致的語法高亮顯示(可切換)彩色主題支持
*通過HTTP(S)遠程操作,包括上傳設備的捆綁安裝/升級
*通過像已知服務器的URL快捷方式配置文件配置。
*查詢和生命週期操作支持通配符
*支持批量操作(例如,在一次啟動多個包)
*它可以遍歷目錄一樣命令組
*可擴展通過命令插件
工作原理
Osgish主要由兩部分組成:一個Perl的命令行腳本(以及一些Perl模塊),它通過一個特殊的OSGi代理軟件包(osgish-agent.jar中)連接到一個OSGi的容器。軟件包中包含jmx4perl出口JMX通過一個OSGi HttpService的作為JSON數據的信息。採用的是那些提供的白羊座(http://incubator.apache.org/aries/),它成為(尚未完成)規範的OSGi聯盟企業專家組(EEG)的一個實現JMX MBean的,尤其是“JMX管理模式規範” 
雖然這種設置聽起來有點涉及,安裝不大於安裝一個CPAN包和一個提供OSGi包(同為jmx4perl)等等。
安裝
Perl的一部分安裝的模塊,通過構建::,你需要安裝任何其他模塊。運用
  perl的Build.PL
  ./Build
  ./Build測試
  ./Build安裝
將安裝模塊。如果你有Java和Maven的(一個Java構建工具)安裝,代理包會被編譯,當你使用'./Build dist'的打包。然而,這不是必需的作為預先包裝捆被包含在試劑目錄中。
Osgish(通過期限:: ShellUI間接地),它可以與各種後端的Readline實現中使用依賴於Perl的模塊“期限::的ReadLine'。最強大的(因此推薦)的實現是GNU的Readline /史庫安裝的話,將被使用。這實在是值得去安裝GNU的readline額外的方式,甚至在OS X或Windows(這是不平凡的)。例如對於OS X,你可以使用包'P5-學期的readline-GNU“從MAC端口安裝的readline連同所需模塊。對於Debian,最簡單的方法是通過apt安裝包'libterm-的readline-GNU-perl的“。然而,默認的實現期限::的ReadLine :: Perl的非常適合了。
要使模塊正常工作,則需要提供“OSGi的代理的.jar”到要連接到每個OSGi容器。請參閱您的OSGi框架如何安裝包(例如,通過調用“安裝”在OSGi的shell或啟動過程中提供包名稱)。這種捆綁有一個OSGi HttpService的,它必須是可用的依賴。一些OSGi容器(如Glassfish的第三版)已經自帶了一個HttpService的作為一個安裝選項,為他人,你需要手動安裝一個。一個好的選擇是大同網絡(http://wiki.ops4j.org/display/paxweb/Pax+Web)HttpService的。下載時選擇PAX-網上碼頭束,它包含了所有你需要的。
考慮安裝了HttpService的在其默認端口8080, 您可以通過連接到它
  osgish --server的http://本地主機:8080 / j4p
(這是假設,即HttpService的有一個根目錄'/',這是適用於大同的Web Glassfish的第三版的HttpService的使用'/ OSGI'導致HTTP的連接URL的根上下文://本地主機:8080 / OSGI / j4p)
支持OSGI PLAFORMS
 
下面的OSGi平台已經被證實至今有工作:
  *費利克斯2.0.1
  *春分3.5.1
  * Glassfish的第三版
  *春天DM服務器2.0
由於OSGi包是高度可移植的,預計每個SGI服務器安裝的HttpService的工作應該開箱群組。請在http://rt.cpan.org/Public/Bug/Report.html?Queue=osgish打開一個錯誤,如果你遇到的任何問題。
“為什麼地球上,你使用Perl進行橋接,以一個純粹的基於Java的技術,如OSGi的”的
那麼,作為設置看起來相當複雜(的其實是比安裝一堆OSGi包confessly更多的工作),它有一些獨特的優勢。 Perl的是著名的溢價水平文本操作能力和嚴密的系統集成。 CPAN的模塊的豐富性仍然是無與倫比的在Java世界中至今。類似的條款::進度或期限:: ShellUI好吃的東西都可能丟失在Java端相當長的一段時間裡。由於其純HTTP通信它工作得很好跨越防火牆邊界。和Don&rsquo的;忘記的Perl&rsquo的;優秀的性能及特徵為這種應用程序。最後但並非最不重要的,這是一個理想的用例jmx4perl,它有其自身的一個故事;-)。 IMO這是一個完美的組合,其中每個語言發揮出它的力量。
好了,夠了好評,當然有一些缺點,太:安裝Perl模塊可以是一個痛苦特別是如果一個人不舒服CPAN或Perl的一個整體。特別是在Windows或OS X安裝期限::的ReadLine ::牛羚可以給大麻煩(雖然是可能的,而且是有回退,太)。這是很容易操縱劑包的生命週期也和rsquo的時候拍攝自己的腳; S依賴關係osgish。網絡延遲和流量可以成為一個問題,因為所有的通信遠程本身是。
在最後它是由你來判斷wheter osgish適合你。我會很樂意,如果你想給它一試。對於我來說,每天都幫助我在我的OSGi的開發和管理任務。
即使你不打算使用osgish,I&rsquo的,很好奇你在此設置的意見。意見表示高度讚賞
什麼是此版本中的新:
- 在更新白羊座0.3
- 在高達裂解的OSGi包在純(核心)包和一個全功能於一身的包(捆)
什麼是0.1.0版本,新的:
- 在上傳包到服務器並管理它李>
- 在調諧上下文敏感的落成,添加的選項為“LS”的服務/束(“-s”顯示符號名,'-u<投標>“只有服務使用的捆綁<投標>中'-b <投標>通過捆綁&LT資'服務;申辦>
- 在開始添加在線幫助
要求:
- 在Java 2標準版運行環境
- 在Perl中
- 在JMX :: Jmx4Perl ::配置
- 在配置::一般
- 的OSGi :: Osgish
評論沒有發現