OSGi | |
---|---|
Organisations typ | organisation för ramverk , fri programvara och standarder [d] |
Bas | |
Stiftelsedatum | maj 2000 [1] [2] |
Hemsida | osgi.org _ |
Mediafiler på Wikimedia Commons |
OSGi Alliance , tidigare känt som Open Services Gateway-initiativet (open services access initiative) är en öppen standardorganisation (Open Standards Development Organization - SDO). Under de senaste åren har hon utvecklat en Java -baserad OSGi -tjänsteplattform (även känd som The Dynamic Module System for Java) som kan hanteras på distans. Huvuddelen av denna utveckling är ett ramverk (ramverk), som definierar applikationens livscykelmodell och tjänsteregistret.
OSGi (Open Services Gateway Initiative) är en specifikation för ett dynamiskt modulärt system och tjänsteplattform för Java - applikationer, utvecklad av OSGi Alliance-konsortiet. Specifikationerna ger en modell för att bygga en applikation från komponenter kopplade samman via tjänster [3] . Summan av kardemumman är möjligheten att dynamiskt installera om komponenterna och komponenterna i applikationen utan att behöva stoppa och starta om den.
Utbudet av applikationer för denna specifikation är ganska brett: det utvecklades ursprungligen för att skapa inbyggda system (särskilt för BMW- bilar är Siemens också aktivt involverad i utvecklingen av specifikationen ), men nu multifunktionella fristående stationära applikationer (till exempel, Eclipse SDK) och företagssystem byggs baserade på OSGi .
Baserat på detta ramverk har ett stort antal OSGi-tjänster skapats:
|
Det finns fyra implementeringar av öppen källkod av OSGi-standarden:
Baserat på Equinox är utvecklingsmiljön Eclipse 3.0+ byggd, som påstår sig vara industristandarden för komponentsammansättning av program.
Livscykelprocessen lägger till paket som dynamiskt kan installeras, startas, stoppas, uppgraderas och tas bort. Bunter förlitar sig på modulnivå för klassladdning, men lägger till ett API för att hantera moduler under körning. Livscykellagret representerar dynamik som normalt inte är en del av applikationen. Omfattande beroendemekanismer används för att säkerställa att miljön fungerar korrekt. Livscykeloperationer är helt skyddade av säkerhetsarkitekturen.
Paketstatus | Beskrivning |
---|---|
INSTALLERAD | Paketet har installerats |
LÖST | Alla Java-klasser som krävs för paketet är tillgängliga. Detta tillstånd indikerar att paketet är redo att köras eller stoppas. |
STARTANDE | Paketet startar, metoden BundleActivator.start kallas , men startmetoden har ännu inte returnerats. När ett paket har en aktiveringspolicy förblir paketet i START-läget tills paketet aktiveras i enlighet med dess aktiveringspolicy. |
AKTIVA | Paketet har framgångsrikt aktiverats och lanserats; Dess Bundle Activator startmetod anropades och returnerades. |
STOPPAR | Paketet har stoppats. Metoden BundleActivator.stop kallas , men stoppmetoden har inte returnerat något resultat än. |
OINSTALLERAD | Paketet har tagits bort. Den kan inte flytta till en annan stat. |
Följande är ett exempel på en typisk Java-klass som implementerar BundleActivator- gränssnittet :
paket org.wikipedia ; import org.osgi.framework.BundleActivator ; import org.osgi.framework.BundleContext ; public class Activator implementerar BundleActivator { private BundleContext context ; @Override public void start ( BundleContext context ) kastar Exception { System . ut . println ( "Start: Hello World" ); detta . sammanhang = sammanhang ; } @Override public void stop ( BundleContext context ) kastar Exception { System . ut . println ( "Stopping: Goodbye Cruel World" ); detta . sammanhang = null ; } }OSGi | |
---|---|
|