Osgish is 'n OSGi dop gebaseer op 'n Perl dop op die kliënt kant wat kommunikeer via HTTP / into 'n spesiale agent bundel ontplooi op die teiken platform. & Nbsp; Behalwe die standaard funksies wat deur die verskillende bestaande OSGi doppe buite dit bied 'n paar unieke eienskappe lewe easiers te maak wanneer hulle met 'n baie OSGi bundels:
* GNU read line ondersteuning met
- Geskiedenis gered regoor sessies
- Konteks-sensitiewe command line voltooiing
- Emacs sleutelbordkortpaaie
* Konsekwente accentuering (skakel) met kleur tema ondersteuning
* Remote werking via HTTP (S), insluitend 'n oplaai fasiliteit vir bundels te installeer / werk
* Konfigureerbare via 'n konfigurasielêer soos kortpaaie vir bekend bediener URLs.
* Wildcard ondersteuning vir navraag en lewensiklus bedrywighede
* Ondersteuning vir grootmaat bedrywighede (bv begin verskeie bundels gelyktydig)
* Command groepe wat kan soos dopgehou gekruis word
* Extensible deur command plugins
Hoe werk dit
Osgish bestaan uit hoofsaaklik twee dele: 'n Perl script command line (saam met 'n paar Perl modules) wat gekoppel is aan 'n OSGi houer via 'n spesiale OSGi agent bondel (osgish-agent.jar). Dit bundel bevat die jmx4perl vir uitvoere JMX inligting deur middel van 'n OSGi HttpService as into data. Die JMX MBeans gebruik word dié wat deur die Ram (http://incubator.apache.org/aries/) wat verander 'n uitvoering van die (nog moet klaar wees) spesifikasie van die OSGi Alliance Enterprise Expert Group (EEG), veral die . "JMX Management Model spesifikasie" & nbsp;
Alhoewel hierdie opstelling klink 'n bietjie betrokke is, installasie is nie veel meer as die installering van 'n CPAN pakket en 'n voorwaarde OSGi bondel (dieselfde as vir jmx4perl).
INSTALLASIE
Die Perl deel installeer as enige ander module via Module :: Bou, wat jy nodig het om geïnstalleer het. Die gebruik van
& Nbsp; perl Build.PL
& Nbsp; ./Build
& Nbsp; ./Build Toets
& Nbsp; ./Build Installeer
sal die modules installeer. As jy Java en Maven (a Java bou hulpmiddel) geïnstalleer is, sal die agent bundel saamgestel word en verpak asook wanneer jy gebruik './Build dist. Tog is hierdie nie 'n vereiste as 'n verpakte bundel is vervat in die agent gids.
Osgish hang af van die Perl Module 'term :: read line (indirek via Termyn :: ShellUI), wat gebruik kan word met verskeie backend read line implementering. Die mees kragtige (en dus aanbeveel) implementering is GNU read line / History Library wat gebruik sal word indien geïnstalleer. Dit is regtig die moeite werd om die ekstra manier GNU read line te installeer om te gaan, selfs op OS X of Windows (wat is nie triviaal). Bv vir OS X kan jy die pakket gebruik 'p5 termyn-read line-gnu' van Mac Hawe read line te installeer saam met die nodige module. Vir Debian, die maklikste manier is om die pakket 'libterm-read line-gnu-perl' te installeer via bekwaam. Maar die verstek implementering Termyn :: read line :: Perl pas mooi ook.
Vir die module te werk, moet jy voorsiening "OSGi-agent-Jar" aan elke OSGi houer wat jy wil hê na konnekteer na. Verwys na jou OSGi raamwerk hoe om 'n bondel (bv deur te bel 'installeer 'n OSGi dop of die verskaffing van die bundel naam tydens startup) te installeer. Dit bundel het 'n afhanklikheid van 'n OSGi HttpService, wat moet beskikbaar wees. Sommige OSGi houer (soos Glas v3) kom reeds met 'n HttpService as 'n installasie opsie, vir ander moet jy een met die hand te installeer. 'N goeie keuse is die Pax Web (http://wiki.ops4j.org/display/paxweb/Pax+Web) HttpService. Kies die pax-web-jetty-bondel wanneer die aflaai, dit bevat 'n alles wat jy nodig het.
Beskou jy die HttpService op sy standaard poort 8080, & nbsp geïnstalleer; jy kan koppel aan dit via
& Nbsp; osgish --server http: // localhost: 8080 / j4p
(Dit veronderstel dat die HttpService het 'n wortel konteks '/' wat is waar vir Pax Web Glas v3 se HttpService gebruik 'n wortel konteks van '/ OSGi' wat lei in 'n verbinding URL van http:. // Localhost: 8080 / OSGi / j4p)
ONDERSTEUN OSGi PLAFORMS
& Nbsp;
Die volgende OSGi platform is bevestig om so ver met werk:
& Nbsp; * Felix 2.0.1
& Nbsp; * Equinox 3.5.1
& Nbsp; * Glas v3
& Nbsp; * Spring dm Server 2.0
Sedert OSGi bundels is hoogs draagbare, word daar verwag dat elke SGI bediener met 'n geïnstalleerde HttpService moet uit die boks werk & nbsp. Maak asseblief 'n fout op http://rt.cpan.org/Public/Bug/Report.html?Queue=osgish as jy enige probleme ondervind.
ldquo;? Hoekom op aarde gebruik jy Perl vir oorbrugging na 'n suiwer Java gebaseerde tegnologie soos OSGi & rdquo;
Wel, as die opstel kan lyk baie kompleks ('n in werklikheid, is dit confessly meer werk as die installering van 'n klomp van OSGi bundels) dit het 'n paar unieke voordele. Perl is bekend vir sy premie vlak teks manipulasie vermoëns en sy stywe stelsel integrasie. Die rykdom van CPAN modules is steeds ongeëwenaard in die Java wêreld so ver. Goodies soos Termyn :: ProgressBar of term :: ShellUI waarskynlik kort op die Java kant vir 'n geruime tyd om te kom. Danksy sy suiwer HTTP kommunikasie dit werk mooi oor firewall grense. En don & rsquo; t vergeet Perl & rsquo; s uitstekende prestasie characterisics vir hierdie soort van aansoeke. Laaste maar nie die minste nie, is dit 'n perfekte gebruik geval vir jmx4perl, wat het 'n storie op sy eie;-). IMO is dit die perfekte mengsel, waar elke taal speel uit sy krag.
Ok, genoeg lof, is daar natuurlik 'n paar nadele, ook: die installering van Perl modules kan 'n pyn veral as 'n mens ongemaklik met CPAN of Perl by 'n geheel. Veral die installering Termyn :: read line :: Gnu op Windows of OS X kan gee groot hoofpyn (alhoewel dit moontlik is, en daar is 'n terugval, ook). Dit is maklik om jouself te skiet in die voet wanneer die manipulering van die lewensiklus van die agent bundel of dit & rsquo; s afhanklikhede met osgish. Netwerk latency en verkeer kan 'n probleem raak, aangesien alle kommunikasie is afstand per se.
Op die ou end is dit aan jou om te oordeel wheter osgish pas vir jou. Ek sal meer as gelukkig wees as jy sou gee dit 'n probeer. Vir my is dit my help om my OSGi ontwikkeling en administrasie take elke dag.
Selfs as jy nie van plan om te gebruik osgish, I & rsquo; nuuskierig na jou mening oor hierdie opstelling. Kommentaar is hoog op prys gestel
Wat is nuut in hierdie release:
- Opdateer te Ram 0.3
- gesplitste up OSGi bondels in 'n suiwer (kern) bondel en 'n alles-in-een-bundel (bundel)
Wat is nuut in die weergawe 0.1.0:
- Laai bondels bediener en beheer dit
- Gestem konteks-sensitiewe aanvullingen, bygevoeg opsies na 'ls' van dienste / bundels ('-s' show simboliese name, '-U & lt; bod & gt;' net dienste wat gebruik word deur bondel & lt; bie & gt ;, '-b & lt; bod & gt; 'dienste wat besit word deur bondel & lt; bod & gt;
- Begin online help om by te voeg
Vereistes :
- Java 2 Standard Edition Runtime Environment
- Perl
- JMX :: Jmx4Perl :: Config
- Config :: Algemene
- OSGi :: Osgish
Kommentaar nie gevind