OSGi

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 26. října 2015; kontroly vyžadují 5 úprav .
OSGi
Typ organizace framework , svobodný software a organizace standardů [d]
Základna
Datum založení květen 2000 [1] [2]
webová stránka osgi.org
 Mediální soubory na Wikimedia Commons

OSGi Alliance , dříve známá jako iniciativa Open Services Gateway (otevřená iniciativa pro přístup ke službám) je organizace pro otevřené standardy (Open Standards Development Organization - SDO). Během několika posledních let vyvíjí platformu služeb OSGi založenou na Javě  (také známou jako The Dynamic Module System for Java), kterou lze spravovat vzdáleně. Hlavní částí tohoto vývoje je framework (framework), který definuje model životního cyklu aplikace a registr služeb.

OSGi (Open Services Gateway Initiative) je specifikace pro dynamický modulární systém a platformu služeb pro Java aplikace vyvinuté konsorciem OSGi Alliance. Specifikace poskytují model pro sestavení aplikace z komponent propojených prostřednictvím služeb [3] . Základem je možnost dynamicky přeinstalovat součásti a součásti aplikace, aniž byste ji museli zastavovat a restartovat.

Rozsah aplikací této specifikace je poměrně široký: původně byla vyvinuta pro vytváření vestavěných systémů (zejména pro vozy BMW se na vývoji specifikace aktivně podílí i Siemens ), nyní však multifunkční samostatné desktopové aplikace (např. Eclipse SDK) a podnikové systémy jsou stavěny na OSGi .

Na základě tohoto rámce bylo vytvořeno obrovské množství služeb OSGi:

  • Log
  • Správa konfigurace
  • Předvolby
  • Služba HTTP (spouští servlety)
  • Analýza XML (zpracování dat XML)
  • Přístup k zařízení (přístup k zařízením)
  • správce balíčku
  • Správce oprávnění
  • počáteční úroveň
  • Správce uživatelů
  • IO konektor
  • Wire Admin
  • jini
  • Exportér UPnP
  • Sledování aplikací
  • Podepsané balíčky
  • Deklarativní služby
  • Řízení spotřeby
  • Správa zařízení (správa zařízení)
  • Bezpečnostní zásady
  • Diagnostika/monitorování a vrstvení rámců

Verze standardu OSGi

Existují 4 open source implementace standardu OSGi:

Na základě Equinox je vytvořeno vývojové prostředí Eclipse 3.0+, které se prohlašuje za průmyslový standard pro sestavování komponent programů.

Související RFC a standardy Java

Životní cyklus

Proces životního cyklu přidává balíčky, které lze dynamicky instalovat, spouštět, zastavovat, upgradovat a odstraňovat. Balíčky se při načítání třídy spoléhají na úroveň modulu, ale přidávají API pro správu modulů za běhu. Vrstva životního cyklu představuje dynamiku, která běžně není součástí aplikace. K zajištění správného fungování prostředí se používají rozsáhlé mechanismy závislostí. Operace životního cyklu jsou plně chráněny architekturou zabezpečení.

Stav balíčku Popis
INSTALOVÁNO Balíček byl úspěšně nainstalován
VYŘEŠENO K dispozici jsou všechny třídy Java požadované pro balíček. Tento stav označuje, že balíček je připraven ke spuštění nebo zastaven.
ZAČÍNÁ Balíček se spustí, metoda BundleActivator.start se zavolá , ale metoda start se ještě nevrátila. Pokud má balíček aktivační zásady, zůstane balíček ve stavu STARTOVÁNÍ, dokud nebude balíček aktivován v souladu s jeho zásadami aktivace.
AKTIVNÍ Balíček byl úspěšně aktivován a spuštěn; Byla zavolána a vrácena jeho metoda spuštění aktivátoru svazku.
ZASTAVENÍ Balíček byl zastaven. Metoda BundleActivator.stop se volá , ale metoda stop ještě nevrátila výsledek.
ODINSTALOVÁNO Balíček byl odstraněn. Nemůže se přesunout do jiného státu.

Následuje příklad typické třídy Java, která implementuje rozhraní BundleActivator :

balíček org.wikipedia ; import org.osgi.framework.BundleActivator ; import org.osgi.framework.BundleContext ; public class Activator implementuje BundleActivator { private BundleContext context ; @Override public void start ( BundleContext context ) vyvolá výjimku { System . ven . println ( "Začátek: Ahoj světe" ); toto . kontext = kontext ; } @Override public void stop ( BundleContext context ) vyvolá výjimku { System . ven . println ( "Zastavení: Sbohem krutý svět" ); toto . kontext = null ; } }

Viz také

Poznámky

  1. https://www.osgi.org/developer/specifications/
  2. https://osgi.org/download/r1/r1.osgi-spec.pdf
  3. Mashnin, 2010 .

Literatura

  • Mashnin T. S. Moderní Java technologie v praxi. - BHV-Petersburg, 2010. - S. 196–200. - ISBN 978-5-9775-0561-1 .

Odkazy