Osgish es una cáscara OSGi basado en un Perl Shell en el lado del cliente que se comunica a través de HTTP / JSON a un agente especial liado desplegado en la plataforma de destino. & Nbsp; Además de las características estándar proporcionados por las diversas conchas OSGi existentes fuera de ella ofrece algunos características únicas que hacen easiers vida cuando se trata de una gran cantidad de paquetes OSGi:
* GNU Readline apoyo con
- Historia salvó sesiones cruzando
- Contexto terminación de línea de comandos sensibles
- Emacs asociaciones de teclas
* Resaltado de sintaxis coherente (conmutable) con la ayuda del tema del color
* La operación remota a través de HTTP (S) que incluye una utilidad para subir de paquetes para instalar / actualizar
* Configurable a través de un archivo de configuración como accesos directos para las direcciones URL de servidores conocidos.
* Soporte Comodín para operaciones de consulta y de ciclo de vida
* Soporte para las operaciones a granel (por ejemplo, a partir de múltiples paquetes a la vez)
* Grupos de comandos que pueden ser recorridos como directorios
* Extensible mediante plugins de comando
¿CÓMO FUNCIONA
Osgish consistir principalmente dos partes: Un script de Perl línea de comandos (junto con algunos módulos de Perl) que se conecta a un contenedor OSGi a través de un paquete de agente OSGi especial (osgish-agent.jar). Este paquete contiene el jmx4perl para las exportaciones JMX información a través de un OSGi HttpService como datos JSON. Los MBeans JMX utilizadas son las establecidas en el Aries (http://incubator.apache.org/aries/) que se convierte en una implementación de la (todavía por terminar) especificación de la OSGi Alliance Grupo de Expertos de la Empresa (EEG), especialmente la . "Gestión JMX Modelo Especificación" & nbsp;
Aunque esta configuración suena un poco implicado, la instalación no es mucho más que la instalación de un paquete de CPAN y un paquete OSGi proporcionado (el mismo que para jmx4perl).
INSTALACION
La parte Perl se instala como cualquier otro módulo a través del módulo :: Build, que es necesario haber instalado. Uso
& Nbsp; perl Build.PL
& Nbsp; ./build
& Nbsp; Prueba ./build
& Nbsp; ./build Instalar
instalará los módulos. Si tiene instalado Java y Maven (una herramienta de construcción de Java), el paquete de agente será compilado y empaquetado, así cuando se utiliza './build dist'. Sin embargo, esto no es necesario como un paquete envasados está contenido dentro del directorio del agente.
Osgish depende del módulo Perl 'Term :: ReadLine' (indirectamente a través de Term :: ShellUI), que se puede utilizar con varias implementaciones Readline backend. La implementación más potente (y por lo tanto se recomienda) es GNU Readline / Biblioteca de Historia que se utilizará si está instalado. Es realmente vale la pena ir por el camino extra para instalar GNU readline, incluso en OS X o Windows (que no es trivial). Por ejemplo para OS X puede utilizar el paquete 'p5 plazo-readline-gnu' de Mac Puertos para instalar readline junto con el módulo necesario. Para Debian, la forma más sencilla es instalar el paquete 'libterm readline-gnu-perl' a través de apt. Sin embargo, el plazo de implantación por defecto :: ReadLine :: Perl encaja muy bien, también.
Para que el módulo funcione, es necesario disposición "osgi-agente-.jar" para cada contenedor OSGi que desea conectarse. Consulte a su marco OSGi cómo instalar un paquete (por ejemplo, llamando 'install' en una cáscara de OSGi o proporcionar el nombre del paquete durante el arranque). Este paquete tiene una dependencia en un HttpService OSGi, que tiene que estar disponible. Algunos contenedor OSGi (como GlassFish v3) ya viene con un HttpService como una opción de instalación, para otros es necesario instalar una manualmente. Una buena opción es la Web Pax (http://wiki.ops4j.org/display/paxweb/Pax+Web) HttpService. Seleccione la pax-web-embarcadero-paquete al descargar, contiene una todo lo que necesita.
Considerado instaló el HttpService en su puerto por defecto 8080, & nbsp; se puede conectar con él vía
& Nbsp; osgish --server http: // localhost: 8080 / j4p
(Se asume que el HttpService tiene un contexto raíz "/" que es cierto para Web Pax Glassfish v3 de HttpService utilizan un contexto raíz de '/ osgi' que se traduce en una URL de conexión de http:. // Localhost: 8080 / osgi / j4p)
Plaforms OSGI APOYADO
& Nbsp;
La siguiente plataforma OSGi se ha confirmado que trabajar hasta ahora con:
& Nbsp; * Félix 2.0.1
& Nbsp; * Equinox 3.5.1
& Nbsp; * GlassFish v3
& Nbsp; * Primavera dm Server 2.0
Desde paquetes OSGi son muy portátiles, se espera que cada servidor SGI con un HttpService deben trabajar fuera de la caja & nbsp instalado.; Por favor, abra un error en http://rt.cpan.org/Public/Bug/Report.html?Queue=osgish si tiene algún problema.
& ldquo;? ¿Por qué demonios estás usando Perl para salvar a una tecnología basada en Java puro como OSGi y rdquo;
Bueno, como la configuración que podría parecer bastante complejo (un hecho, es confessly más trabajo que la instalación de un montón de paquetes OSGi) tiene algunas ventajas únicas. Perl es conocido por sus capacidades de manipulación de texto de nivel de suscripción y su integración de sistemas apretado. La riqueza de los módulos CPAN sigue siendo incomparable en el mundo Java hasta el momento. Los extras como Term :: ProgressBar o Term :: ShellUI probablemente faltan en el lado Java desde hace bastante tiempo. Gracias a su comunicación HTTP pura funciona muy bien a través de límites de firewall. Y el don & rsquo; t olvidan Perl y rsquo; s excelentes characterisics rendimiento para este tipo de aplicaciones. Por último, pero no menos importante, se trata de un caso de uso perfecto para jmx4perl, que tiene una historia por sí misma;-). OMI es la mezcla perfecta, donde cada lengua juega su fuerza.
Ok, suficiente alabanza, hay por supuesto algunas desventajas, también: Instalación de módulos de Perl puede ser un dolor, especialmente si uno está incómodo con CPAN o Perl en su conjunto. Instalar Especialmente Term :: ReadLine :: Gnu en Windows o OS X puede dar grandes dolores de cabeza (aunque es posible, y hay un retroceso, también). Es fácil de disparar a uno mismo en el pie cuando la manipulación del ciclo de vida del haz de agente o de TI y rsquo; s dependencias con osgish. La latencia de red y el tráfico puede llegar a ser un problema ya que toda la comunicación es a distancia per se.
Al final le corresponde a usted para juzgar organizarte osgish cabe para usted. Yo estaría más que feliz si quieres darle una oportunidad. Para mí esto me ayuda en mis tareas de desarrollo y administración de OSGi todos los días.
Incluso si usted no está planeando utilizar osgish, I & rsquo; estoy curioso acerca de su opinión sobre esta configuración. Los comentarios son muy apreciados
¿Qué hay de nuevo en esta versión:!
- Se ha actualizado para Aries 0.3
- Splitted hasta paquetes OSGi en un (núcleo) haz puro y un todo-en-un paquete (paquete)
¿Cuál es nuevo en la versión 0.1.0:
- Subir manojos para servidor y administrarlo
- contexto Tuned terminaciones sensibles, opciones a 'ls' de servicios / paquetes (demuestre los nombres simbólicos '-s', añadió '-u & lt; puja & gt; "sólo los servicios utilizados por paquete de & lt; & gt ;, una oferta' -b servicios 'propiedad de paquete & lt;; & lt; & gt oferta de licitación & gt;
- Iniciar para añadir ayuda en línea
Requisitos :
- Java 2 Standard Edition Runtime Environment
- Perl
- JMX :: Jmx4Perl :: Config
- Config :: generales
- OSGi :: Osgish
Comentarios que no se encuentran