Osgish är en OSGi skal baserad på en Perl skal på klientsidan som kommunicerar via HTTP / JSON till en specialagent buntas utplacerade på målplattform. & Nbsp; Förutom standardfunktioner som tillhandahålls av de olika befintliga OSGi skal utanför det ger några unika funktioner för att göra livet easiers när det handlar om en hel del OSGi buntar:
* GNU Readline stöd med
- Historia räddade tvärs sessioner
- Kontextkänslig kommandorad avslutad
- Emacs tangentbindningar
* Konsekvent syntaxmarkering (omkopplingsbar) med färgtema stöd
* Fjärrstyrning via HTTP (S), inklusive en uppladdning anläggning för buntar för att installera / uppdatera
* Konfigurerbar via en konfigurationsfil som genvägar för kända serveradresser.
* Wildcard stöd för fråge och livscykeloperationer
* Stöd för bulkverksamheten (t.ex. start flera buntar på en gång)
* Command grupper som kan korsas som kataloger
* Extensible genom kommando plugins
SÅ FUNKAR
Osgish bestå av främst två delar: En Perl kommandorad script (tillsammans med några Perlmoduler) som ansluter till en OSGi behållaren via en speciell OSGi agent bunt (osgish-agent.jar). Detta paket innehåller jmx4perl för export JMX information via en OSGi HttpService som JSON-data. De JMX MBeans används är de som tillhandahålls av Aries (http://incubator.apache.org/aries/) som blir en implementering av (ännu inte klar) specifikation av OSGi Alliance Enterprise expertgrupp (EEG), särskilt . "JMX Management Model Specification" & nbsp;
Även om denna inställning låter lite inblandad, är installationen inte mycket mer än att installera en CPAN paket och en förutsättning OSGi bunt (samma som för jmx4perl).
INSTALLATION
Perl delen installeras som alla andra modulen via Module :: Build, vilket du måste ha installerat. Använda
& Nbsp; perl Build.PL
& Nbsp; ./Build
& Nbsp; ./Build Testet
& Nbsp; ./Build Installera
kommer att installera modulerna. Om du har Java och Maven (en Java byggverktyg) installerad kommer agenten bunt sammanställas och förpackas så bra när du använder "./Build dist". Men detta inte krävs som en färdigförpackad bunt finns inom agenten katalogen.
Osgish beror på Perl modul 'Term :: readline "(indirekt via Term :: ShellUI), som kan användas med olika backend readline implementeringar. Den mest kraftfulla (och därmed rekommenderas) Genomförandet är GNU Readline / History Library som kommer att användas om det är installerat. Det är verkligen värt att gå den extra sättet att installera GNU readline, även på OS X eller Windows (som inte är trivialt). T.ex. för OS X kan du använda paketet "p5 sikt-readline-gnu" från Mac Ports att installera readline tillsammans med den nödvändiga modulen. För Debian är det enklaste sättet att installera paketet "libterm-readline-gnu-perl" via apt. Dock passar standardimplementeringen Term :: Readline :: Perl fint också.
För modulen ska fungera, måste du tillhandahålla "OSGi-agent-.jar" till varje OSGi container som du vill ansluta till. Se din OSGi ramverk hur man installerar en bunt (t.ex. genom att ringa "installera" i en OSGi skal eller ge bunten namnet under starten). Detta paket har ett beroende av en OSGi HttpService, som måste vara tillgänglig. Vissa OSGi behållare (som Glassfish v3) redan kommer med ett HttpService som ett installationsalternativ, för andra måste du installera en manuellt. Ett bra val är Pax webben (http://wiki.ops4j.org/display/paxweb/Pax+Web) HttpService. Välj pax-web-brygga-bunt när du hämtar, innehåller den en allt du behöver.
Anses du installerade HttpService vid dess standardporten 8080, & nbsp; du kan ansluta till den via
& Nbsp; osgish --server http: // localhost: 8080 / j4p
(Detta förutsätter, att HttpService har en rot sammanhang "/" som är sant för Pax Web Glassfish v3 s HttpService använda en rot ramen för "/ OSGi" vilket resulterar i en anslutningswebbadressen http:. // Localhost: 8080 / OSGi / j4p)
STÖD OSGi PLAFORMS
& Nbsp;
Följande OSGi plattformen har bekräftats att arbeta hittills med:
& Nbsp; * Felix 2.0.1
& Nbsp; * Equinox 3.5.1
& Nbsp; * Glass v3
& Nbsp; * Spring dm Server 2,0
Eftersom OSGi buntar är mycket portabel, förväntas det att varje SGI-server med en installerad HttpService ska fungera ur lådan. & Nbsp; Vänligen öppna en bugg på http://rt.cpan.org/Public/Bug/Report.html?Queue=osgish om du stöter på några problem.
& ldquo;? Varför i hela friden är du använder Perl för att överbrygga en ren Java baserad teknik som OSGi & rdquo;
Tja, eftersom installationen kan tyckas ganska komplex (en i själva verket är det confessly mer arbete än att installera en massa OSGi buntar) det har några unika fördelar. Perl är känd för sina premiumnivå text manipulation kapacitet och dess snäva systemintegration. Rikedomen i CPAN moduler fortfarande oöverträffad i Java världen hittills. Godsaker som Term :: ProgressBar eller Term :: ShellUI förmodligen saknas på Java sidan under ganska lång tid framöver. Tack vare sin rena HTTP-kommunikation fungerar fint över brandväggsgränserna. Och don & rsquoen; t glömmer Perl & rsquo; s utmärkta prestanda karaktärsdrag för denna sorts program. Sist men inte minst är det ett perfekt användningsfall för jmx4perl, som har en historia på egen;-). IMO är det den perfekta mixen, där varje språk spelar ut sin styrka.
Ok, nog beröm, finns det naturligtvis vissa nackdelar också: Installera Perl moduler kan vara jobbigt, särskilt om man är obekväm med CPAN eller Perl på helhet. Speciellt installera Term :: Readline :: Gnu på Windows eller OS X kan ge stora problem (även om möjligt, och det finns en reserv, alltför). Det är lätt att skjuta sig själv i foten när manipulera livscykel agenten bunt eller det & rsquo; s beroenden med osgish. Nätverks latens och trafiken kan bli ett problem eftersom all kommunikation är på distans i sig.
I slutet är det upp till dig att bedöma wheter osgish passar för dig. Jag skulle vara mer än glad om du skulle ge det ett försök. För mig det hjälper mig på min OSGi utveckling och administrativa uppgifter varje dag.
Även om du inte planerar att använda osgish, I & rsquo; M nyfiken din åsikt om denna inställning. Kommentarer är mycket uppskattade
Vad är nytt i den här versionen:
- Uppdaterad till Aries 0,3
- Splitted upp OSGi buntar i en ren (core) paket och en allt-i-ett knippe (bunt)
Vad är nytt i version 0.1.0:
- Ladda buntar till servern och hantera den
- Tuned kontextkänsliga kompletteringar, tillade alternativ till "ls" av tjänster / buntar ("-s" show symboliska namn, '-u & lt; bud & gt; "endast tjänster som används av bunt & lt; bjuda & gt ;,' -b & lt; köp- & gt; "tjänster som ägs av bunt & lt; köp- & gt;
- Börja att lägga onlinehjälpen
Krav :
- Java 2 Standard Edition Runtime Environment
- Perl
- JMX :: Jmx4Perl :: Config
- Config :: Allmänt
- OSGi :: Osgish
Kommentarer hittades inte