Hlavní menu
Nástroje |
NavigaceSpring DM (Dynamic Modules)Je komponentový model spojující spring s OSGi. Hlavní myšlenka je taková, že v prostředí OSGi se budou spouštět bundly, využívající Spring. Nebude zapotřebí activator, služby půjde registrovat a příjimat přímo ve springovém konfiguračním souboru. Navenek tedy máme starý dobrý OSGi a navíc můžeme při vývoji bundlů máme k dispozici Spring. Je tedy vhodné pročíst si nejprve kapitoly o Springu a OSGi! Pozn: Od roku 2009 je Spring DM v útlumu. Většina konceptů i konkrétní syntaxe byla převzata do tzv. Blueprint specifikace, která je součástí standardizovaného OSGi Enterprise od verze 5. Jednou z implementací je Apache Aries.
Spring DM FrameworkCo je v takovém případě framework, může být na první pohled složitější, ale pokud se na Spring DM díváme jako rozšíření k OSGi, pak je vše o dost jednodušší. Základem budiž libovolný OSGi framework. Vzniká nám Spring DM framework. Jak to fungujeJako první věc, vedoucí ke změně OSGi bundlu na Spring DM bundle je přidání Spring konfiguračního souboru. Tento soubor musí být v předem daném adresáři (viz. obrázek níže). Může jich být i více, projdou se postupně všechny. ![]() Abychom mohli spouštět Spring DM bundly, musíme nejprve spustit skupinu bundlů, které nám to umožní. Ten nejdůležitější z nich je extender ![]() Spring DM namespaceNovinkou je nový namespace, který lze použít a který přidává podporu OSGi. Hlavička Spring DM konfiguračního souboru pak bude vypadat takto: <?xml version="1.0" encoding="UTF-8" ?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:osgi="http://www.springframework.org/schema/osgi" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi-1.0.xsd"> </beans> Novinkou v tomto namespacu jsou:
![]() ShrnutíDívámeli se na Spring DM tak, jak bylo výše nastíněno, máme jasno v pojmech komponentový model a framework. Protože je OSGi základ tohoto modelu, tak jsou pojmy jako komponenta a komponentové rozhranní stejné jako u OSGi. Jediné, co se změnilo je zjednodušená práce se službami a Springové možnosti při vývoji bundlů. Praktická částV těchto návodech pracuji s SpringSource Tool Suite, které je trochu odlišné od Eclipsu. Většina věcí je však stejná. Spring DM není plnohodnotný framework, ale jde o rozšíření OSGi. Spring DM má to nejlepší ze Springu i z OSGi. Při implementaci příkladů jsem vlastně vzal kompletní funkční část z OSGi - ale bez Activatorů. To je vlastně téměř jediný rozdíl v kódu oproti Osgi. Místo activatorů jsou zde Springové xml soubory. TutoriálSpringDM na vytvoření nového projektu. Jednoduchá implementace HelloWorld. Výsledná implementace: Attach:HelloWorldSpringDM a Attach:HelloWorldBlueprint.zip Δ Příklad MessagePrinterSpringDM pak dokumentuje jen technologicky specifické problémy. Výsledná implementace: Attach:MessagePrinterSpringDM Příklad ParkovisteSpringDM pak dokumentuje jen technologicky specifické problémy. Výsledná implementace: Attach:ParkovisteSpringDM |