Programovanie

Dobrý deň, OSGi, časť 2: Úvod do jarných dynamických modulov

Ak ste v poslednej dobe mali ucho pri zemi, pravdepodobne ste už veľa počuli o vývoji aplikácií orientovaných na služby pomocou OSGi a Spring Dynamic Modules. V tomto druhom článku v seriáli Hello, OSGi sa dozviete, prečo je Spring DM taká vzrušujúca voľba pre vývojárov, ktorí sú už oboznámení s konfiguráciou Spring, ktorí chcú využiť modularitu, ľahké verzie a podporu životného cyklu OSGi.

OSGi, tiež známy ako Dynamic Module System for Java, špecifikuje modulárny prístup k vývoju aplikácií Java, ako aj súbor štandardizovaných metód riadenia závislostí medzi modulmi. Projekt Spring Dynamic Modules for OSGi Service Platforms (Spring DM) vám umožňuje vytvárať jarné aplikácie, ktoré je možné nasadiť do kontajnera OSGi. Pre podnikových vývojárov Java, ktorí poznajú programovací a konfiguračný model Spring, je Spring DM ľahší spôsob, ako sa zoznámiť s modulárnym prístupom OSGi k vývoju aplikácií. Okrem toho, že umožňuje vývojárom spoločnosti Spring prístup k modulárnemu rámcu a dynamickej konfigurácii OSGi, poskytuje Spring DM nízkoúrovňové kódovanie požadované väčšinou aplikácií OSGi, aby ste sa mohli sústrediť na obchodnú logiku svojej aplikácie.

Prvý článok v tejto sérii („Dobrý deň, OSGi, časť 1: Balíky pre začiatočníkov“) predstavil štandardný prístup k vývoju OSGi pomocou OSGi API a implementácie open source kontajnera Equinox. Dozvedeli ste sa o architektúre OSGi, najmä kontajneroch a zväzkoch, a mali ste prvé skúsenosti s vývojom aplikácie Hello World založenej na OSGi. Príklad aplikácie nebežal príliš hlboko, pretože cieľom bolo jednoducho pochopiť základy OSGi.

V tomto článku zostavíte ďalšiu aplikáciu Hello World, tentokrát s využitím rámca Spring DM. Dozviete sa, čo je Spring DM a ako využíva OSGi na oddelenie aplikačnej logiky do modulov, ako aj na jeho vynútenie za chodu hraníc modulov. Dozviete sa tiež, ako používať Spring DM na nasledujúce:

  • Dynamicky inštalujte, aktualizujte a odinštalujte moduly v bežiacom systéme.
  • Vytvárajte služby orientované na služby (SOA) dynamickým objavovaním a používaním služieb poskytovaných inými modulmi v systéme.
  • Použite jarné Dátový zdroj triedy na vytvorenie inštancie, konfigurácie, zostavenia a zdobenia komponentov v rámci a medzi systémovými modulmi.

Ako uvidíte, použitie Spring DM vás zbaví niektorých známych vecí a ešte ťažšej práce s porozumením toho, čo sa pod kapotou deje s OSGi. Vďaka tomu sa dostanete hlbšie do logiky svojej aplikácie a urobíte to skôr v procese vývoja.

Ak chcete nasledovať príklady v tomto článku, budete potrebovať vývojové prostredie pozostávajúce z Eclipse 3.3 a Spring Dynamic Modules. Na záverečné cvičenie budete tiež potrebovať RDBMS, ako je Apache Derby. Ďalej nájdete ďalšie informácie o nastavení vývojového prostredia Spring DM v aplikácii Eclipse 3.3.

OSGi a jarný rámec

V súčasnosti popularita OSGi veľmi stúpa. Niekoľko aplikačných serverov bolo prebalených, aby sa využil modulárny rámec OSGi, vrátane IBM WebSphere Application Server, BEA microService Architecture (mSA) a JOnAS 5, open source aplikačný server postavený od základu na OSGi architektúre. Spoločnosť JBoss tiež nedávno oznámila svoju prácu na triednom nakladači založenom na OSGi a svoj zámer vytvoriť implementáciu základnej špecifikácie OSGi. Snáď najdôležitejšie je, že komponent Ecginse Foundation OSGi kontajner / runtime komponent, Equinox, bol nedávno povýšený na stav najvyššej úrovne projektu, kde bude slúžiť ako základ pre novú iniciatívu Eclipse Runtime.

Ešte predtým, ako OSGi dosiahla svoj súčasný nárast popularity, hovorilo sa o kombinácii s Springom. Nakoniec táto prednáška vyústila do projektu Spring Dynamic Modules for OSGi Service Platforms. Funkcionalitu Spring DM možno rozdeliť na dve hlavné zložky: Po prvé, poskytuje jarné framework JAR vo forme balíkov OSGi. Ako viete z predchádzajúceho článku v tejto sérii, balíčky OSGi nie sú nič iné ako súbory Java Archive (JAR), ktoré obsahujú ďalšie položky v META-INF / MANIFEST.MF súbor, ktorý slúži ako deskriptor nasadenia zväzku OSGi. (Upozorňujeme, že súbor JAR nemôžete nasadiť priamo, keď používate OSGi; musíte ho zabaliť do formátu balíka OSGi.)

Po druhé, Spring DM poskytuje tri jarné balíčky / JAR špecifické pre OSGi:

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

Aplikácie vytvorené pomocou Spring DM sú postavené odlišne od tých, ktoré používajú Spring framework. Keď postavíte a Jar aplikáciu definujete svoje konfiguračné informácie v jednom alebo viacerých konfiguračných súboroch Spring, čo sú väčšinou súbory XML. Rámec Spring používa tieto konfiguračné súbory na vytvorenie objektu kontextu aplikácie pri štarte aplikácie. Po vytvorení kontextu aplikácie sa použije na vytvorenie inštancie, konfigurácie, zostavenia a zdobenia objektov v aplikácii.

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