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
评论没有发现