OSGi | |
---|---|
Tipul organizației | cadru , software liber și organizarea standardelor [d] |
Baza | |
Data fondarii | mai 2000 [1] [2] |
Site-ul web | osgi.org _ |
Fișiere media la Wikimedia Commons |
OSGi Alliance , cunoscută anterior ca inițiativa Open Services Gateway (inițiativa de acces la servicii deschise) este o organizație cu standarde deschise (Open Standards Development Organization - SDO). În ultimii ani, ea a dezvoltat o platformă de servicii OSGi bazată pe Java (cunoscută și sub numele de Sistemul de module dinamice pentru Java) care poate fi gestionată de la distanță. Partea principală a acestei dezvoltări este un cadru (cadru), care definește modelul ciclului de viață al aplicației și registrul de servicii.
OSGi (Open Services Gateway Initiative) este o specificație pentru un sistem modular dinamic și o platformă de servicii pentru aplicații Java , dezvoltată de consorțiul OSGi Alliance. Specificațiile oferă un model pentru construirea unei aplicații din componente legate între ele prin servicii [3] . Concluzia este capacitatea de a reinstala dinamic componentele și componentele aplicației fără a fi nevoie să o opriți și să o reporniți.
Gama de aplicații ale acestei specificații este destul de largă: a fost dezvoltată inițial pentru a crea sisteme încorporate (în special, pentru mașinile BMW , Siemens este, de asemenea, implicată activ în dezvoltarea specificației ), dar acum aplicații desktop autonome multifuncționale (de exemplu, Eclipse SDK) și sistemele corporative sunt construite pe baza OSGi .
Pe baza acestui cadru, au fost create un număr mare de servicii OSGi:
|
|
Există 4 implementări open source ale standardului OSGi:
Bazat pe Equinox, este construit mediul de dezvoltare Eclipse 3.0+, care se pretinde a fi standardul industrial pentru asamblarea componentelor programelor.
Procesul ciclului de viață adaugă pachete care pot fi instalate, pornite, oprite, actualizate și eliminate dinamic. Pachetele se bazează pe nivelul de modul pentru încărcarea clasei, dar adaugă un API pentru a gestiona modulele în timpul execuției. Stratul ciclului de viață reprezintă dinamica care în mod normal nu face parte din aplicație. Sunt folosite mecanisme extinse de dependență pentru a se asigura că mediul funcționează corect. Operațiunile ciclului de viață sunt complet protejate de arhitectura de securitate.
Stare pachet | Descriere |
---|---|
INSTALAT | Pachetul instalat cu succes |
REZOLVAT | Toate clasele Java necesare pentru pachet sunt disponibile. Această stare indică faptul că pachetul este gata de rulare sau oprit. |
PORNIRE | Pachetul începe, metoda BundleActivator.start este numită , dar metoda start nu a revenit încă. Atunci când un pachet are o politică de activare, pachetul va rămâne în starea DE PORNIRE până când pachetul este activat în conformitate cu politica sa de activare. |
ACTIV | Pachetul a fost activat și lansat cu succes; Metoda sa de pornire Bundle Activator a fost apelată și returnată. |
OPRIRE | Pachetul a fost oprit. Metoda BundleActivator.stop este numită , dar metoda stop nu a returnat încă un rezultat. |
DEZINSTALAT | Pachetul a fost scos. Nu se poate muta în alt stat. |
Următorul este un exemplu de clasă Java tipică care implementează interfața BundleActivator :
pachet org.wikipedia ; import org.osgi.framework.BundleActivator ; import org.osgi.framework.BundleContext ; Public class Activator implementează BundleActivator { private BundleContext context ; @Override public void start ( context BundleContext ) aruncă excepție { System . afară . println ( „Început: Bună lume” ); aceasta . context = context ; } @Override public void stop ( context BundleContext ) aruncă excepție { System . afară . println ( "Oprire: Adio Lume Cruelă" ); aceasta . context = nul ; } }OSGi | |
---|---|
|