Programování

Dobrý den, OSGi, část 2: Úvod do jarních dynamických modulů

Pokud jste v poslední době měli ucho k zemi, pravděpodobně jste už hodně slyšeli o vývoji aplikací orientovaných na služby s OSGi a Spring Dynamic Modules. V tomto druhém článku v seriálu Hello, OSGi zjistěte, proč je Spring DM tak vzrušující volbou pro vývojáře, kteří již znají Spring konfiguraci, kteří chtějí využít modularitu, snadné verzování OSGi a podporu životního cyklu aplikace.

OSGi, také známý jako Dynamic Module System for Java, specifikuje modulární přístup k vývoji Java aplikací a také sadu standardizovaných metod pro správu závislostí mezi moduly. Projekt Spring Dynamic Modules for OSGi Service Platforms (Spring DM) vám umožňuje vytvářet jarní aplikace, které lze nasadit v kontejneru OSGi. Pro podnikové vývojáře Java, kteří znají Springův programovací a konfigurační model, je Spring DM jednodušší způsob, jak se seznámit s modulárním přístupem OSGi k vývoji aplikací. Kromě toho, že vývojářům Spring umožňuje přístup k modulárnímu rámci a dynamické konfiguraci OSGi, poskytuje Spring DM nízkoúrovňové kódování vyžadované většinou aplikací OSGi, takže se můžete soustředit na obchodní logiku vaší aplikace.

První článek v této sérii („Dobrý den, OSGi, část 1: Balíčky pro začátečníky“) představil standardní přístup k vývoji OSGi pomocí OSGi API a implementace open source Equinox kontejneru. Dozvěděli jste se o architektuře OSGi, zejména kontejnerech a svazcích, a měli jste první zkušenosti s vývojem aplikace Hello World založené na OSGi. Příklad aplikace neběžel příliš hluboko, protože cílem bylo jednoduše pochopit základy OSGi.

V tomto článku vytvoříte další aplikaci Hello World, tentokrát pomocí rámce Spring DM. Dozvíte se, co je Spring DM a jak využívá oddělení aplikační logiky OSGi do modulů, stejně jako jeho vynucení za běhu hranic modulů. Dozvíte se také, jak pomocí Spring DM provádět následující:

  • Dynamicky instalujte, aktualizujte a odinstalujte moduly v běžícím systému.
  • Vytvářejte služby orientované na služby (SOA) dynamickým objevováním a používáním služeb poskytovaných jinými moduly v systému.
  • Použijte Spring Zdroj dat třídy pro instanci, konfiguraci, sestavení a zdobení komponent v rámci a napříč systémovými moduly.

Jak uvidíte, použití Spring DM vás osvobodí od některých rote prací a ještě těžší práce s pochopením toho, co se děje pod kapotou s OSGi. Ve výsledku se budete moci dostat hlouběji do logiky vaší aplikace a udělat to dříve v procesu vývoje.

Chcete-li sledovat příklady v tomto článku, budete potřebovat vývojové prostředí skládající se z Eclipse 3.3 a Spring Dynamic Modules. Pro závěrečné cvičení budete také potřebovat RDBMS, jako je Apache Derby. Níže najdete další informace o nastavení vývojového prostředí Spring DM v Eclipse 3.3.

OSGi a jarní rámec

V současné době popularita OSGi velmi stoupá. Několik aplikačních serverů bylo přebaleno, aby využilo modulární rámec OSGi, včetně IBM WebSphere Application Server, BEA microService Architecture (mSA) a JOnAS 5, open source aplikační server postavený od základu na architektuře OSGi. Společnost JBoss také nedávno oznámila svou práci na třídním zavaděči založeném na OSGi a svůj záměr vytvořit implementaci základní specifikace OSGi. Snad nejdůležitější je, že modul Ecginse Foundation OSGi kontejner / runtime, Equinox, byl nedávno povýšen na stav nejvyšší úrovně projektu, kde bude sloužit jako základ pro novou iniciativu Eclipse Runtime.

Ještě předtím, než OSGi dosáhlo svého současného nárůstu popularity, hovořilo se o jeho kombinaci s Springem. Tato přednáška nakonec vedla k projektu Spring Dynamic Modules for OSGi Service Platforms. Funkčnost Spring DM lze rozdělit do dvou hlavních komponent: Nejprve poskytuje Spring Framework JAR ve formě balíčků OSGi. Jak víte z předchozího článku této série, balíčky OSGi nejsou nic jiného než soubory Java Archive (JAR), které obsahují další položky v META-INF / MANIFEST.MF soubor, který funguje jako deskriptor nasazení pro balíček OSGi. (Upozorňujeme, že při použití OSGi nemůžete soubor JAR nasadit přímo; musíte jej zabalit pomocí formátu svazku OSGi.)

Za druhé, Spring DM poskytuje tři jarní balíčky / JAR specifické pro OSGi:

  • org.springframeork.osgi.bundle.extender
  • org.springframeork.osgi.bundle.core
  • org.springframeork.osgi.bundle.io

Aplikace vytvořené pomocí Spring DM jsou postaveny odlišně od těch, které používají Spring framework. Když stavíte a Jaro aplikace, definujete své konfigurační informace v jednom nebo více konfiguračních souborech Spring, což jsou většinou soubory XML. Rozhraní Spring používá tyto konfigurační soubory k vytvoření objektu kontextu aplikace při spuštění aplikace. Po vytvoření kontextu aplikace se používá k vytváření instancí, konfigurace, sestavování a zdobení objektů v aplikaci.

$config[zx-auto] not found$config[zx-overlay] not found