Hlavní menu
Nástroje |
(redirected from UvodDoKomponent.Osgi) NavigaceOSGiOSGi je modulární systém pro Javu, který implementuje dynamický komponentový model. Aplikace modularizované do komponent mohou být instalovány, spuštěny, zastaveny, updatovány a odinstalovány bez nutnosti zastavit JVM. Komponenty se nazývají bundle a jsou distribuovány v klasickém JAR formátu. Tento formát je rozšířen o nové hlavičky v MANIFEST.MF souboru, aby byl schopen popsat vztahy mezi jednotlivými bundly. ![]() Vrstvy OSGi Architektura OSGiKaždý framework, který implementuje OSGi standard (komponentový model), poskytuje prostředí pro modularizaci aplikací do bundlů. Každý bundle lze dynamicky načíst do běhového prostředí frameworku. Framework je koncepčně rozdělen na několik oblastí: Bundles – Bundly jsou obyčejné jar komponenty s "manifest" hlavičkou navíc. ![]() Architektura OSGi BundlyBundle je skupina implementačních tříd a k nim přidružených informací, které jsou uloženy v manifest souboru MANIFEST.MF. Ukázkový manifest může vypadat následovně: Bundle-Name: Hello World Bundle-SymbolicName: org.wikipedia.helloworld Bundle-Description: A Hello World bundle Bundle-ManifestVersion: 2 Bundle-Version: 1.0.0 Bundle-Activator: org.wikipedia.Activator Export-Package: org.wikipedia.helloworld;version="1.0.0" Import-Package: org.osgi.framework;version="1.3.0" Význam použitých parametrů:
Životní cyklus![]() INSTALLED – Bundle byl úspěšně nainstalován. SlužbyV OSGi je služba způsob, kterým lze volat metody cizího bundle. Bundle může nechat registrovat 0-N svých služeb a může 0-M služeb požadovat. Služba se registruje i získává přes rozhraní, které implementuje. Standardně je k dispozici několik systémových služeb: Logging, Configuration Admin, Device Access, User Admin, IO Connector, Preferences, Component Runtime, Deployment Admin, Event Admin, Application Admin. Implementace OSGiKomponentový model OSGi implementují následující frameworky:
Praktická částTutoriál na vytvoření nového projektu a HelloWorld. Výsledná implementace: Attach:HelloWorldOsgi.zip Příklad MessagePrinterOsgi pak dokumentuje jen technologicky specifické problémy. Výsledná implementace: Attach:MessagePrinterOsgi.zip Příklad ParkovisteOsgi a specifikace jeho možné podoby pak dokumentuje jen technologicky specifické problémy. Výsledná implementace: Attach:ParkovisteOsgi.zip |