Ohjelmointi

Hei, OSGi, osa 2: Johdanto kevään dynaamisiin moduuleihin

Jos sinulla on ollut korvasi viime aikoina, olet todennäköisesti kuullut paljon palvelukeskeisestä sovelluskehityksestä OSGi: n ja Spring Dynamic Modules -moduulien avulla. Tässä Hello, OSGi -sarjan toisessa artikkelissa saat selville, miksi Spring DM on niin jännittävä vaihtoehto Spring-kokoonpanoa jo tunteville kehittäjille, jotka haluavat hyödyntää OSGin modulaarisuutta, helppoa versiointia ja sovellusten elinkaaren tukea.

OSGi, joka tunnetaan myös nimellä Dynamic Module System for Java, määrittelee modulaarisen lähestymistavan Java-sovelluskehitykseen sekä joukon standardoituja menetelmiä moduulien välisten riippuvuuksien hallitsemiseksi. Spring Dynamic Modules for OSGi Service Platforms -projekti (Spring DM) antaa sinun rakentaa Spring-sovelluksia, jotka voidaan ottaa käyttöön OSGi-säilössä. Spring-ohjelmointi- ja määritysmallia tunteville Java-yrityskehittäjille Spring DM on helpompi tapa tutustua OSGin modulaariseen lähestymistapaan sovelluskehitykseen. Spring DM tarjoaa sen lisäksi, että Spring-kehittäjät pääsevät käyttämään OSGin modulaarista kehystä ja dynaamista kokoonpanoa, ja tarjoaa useimpien OSGi-sovellusten edellyttämän matalan tason koodauksen, jotta voit keskittyä sovelluksesi liiketoimintalogiikkaan.

Tämän sarjan ensimmäinen artikkeli ("Hei, OSGi, osa 1: Bundles aloittelijoille") esitteli vakiomenetelmän OSGi-kehitykseen käyttämällä OSGi API: ta ja avoimen lähdekoodin Equinox-konttien toteutusta. Opit OSGi-arkkitehtuurista, erityisesti pakkauksista ja paketeista, ja sinulla oli ensimmäinen kokemus OSGi-pohjaisen Hello World -sovelluksen kehittämisestä. Sovellusesimerkki ei ollut kovin syvällä, koska tavoitteena oli yksinkertaisesti ymmärtää OSGin perusteet.

Tässä artikkelissa rakennat toisen Hello World -sovelluksen, tällä kertaa käyttämällä Spring DM -kehystä. Opit mikä Spring DM on ja miten se hyödyntää OSGin sovelluslogiikan erottamista moduuleiksi sekä moduulin rajojen ajonaikaisen valvonnan. Opit myös käyttämään Spring DM: tä seuraaviin tarkoituksiin:

  • Asenna, päivitä ja poista moduulit dynaamisesti käynnissä olevassa järjestelmässä.
  • Rakenna palvelukeskeisiä sovelluksia (SOA) löytämällä dynaamisesti järjestelmän muiden moduulien tarjoamat palvelut ja käyttämällä niitä.
  • Käytä jousia Tietolähde luokka instantisoida, konfiguroida, koota ja sisustaa komponentteja järjestelmämoduuleissa ja niiden välillä.

Kuten huomaat, Spring DM: n käyttö vapauttaa sinut joistakin töistä ja vielä vaikeammasta työstä ymmärtää mitä hupun alla tapahtuu OSGi: llä. Tämän seurauksena voit päästä syvemmälle sovelluslogiikkaasi ja tehdä sen aikaisemmin kehitysprosessissa.

Tämän artikkelin esimerkkien seuraamiseksi tarvitset kehitysympäristön, joka koostuu Eclipse 3.3: sta ja Spring Dynamic Moduleista. Viimeiseen harjoitukseen tarvitaan myös RDBMS, kuten Apache Derby. Alla on lisätietoja Spring DM -kehitysympäristön määrittämisestä Eclipse 3.3: ssa.

OSGi ja kevään puitteet

Tällä hetkellä OSGin suosio on nousussa. Useat sovelluspalvelimet on pakattu uudelleen OSGin modulaarisen kehyksen hyödyntämiseksi, mukaan lukien IBM: n WebSphere Application Server, BEA: n microService Architecture (mSA) ja JOnAS 5, avoimen lähdekoodin sovelluspalvelin, joka on rakennettu alusta alkaen OSGi-arkkitehtuurille. JBoss on myös äskettäin ilmoittanut työstään OSGi-pohjaisessa luokkakuormaajassa ja aikomuksestaan ​​luoda OSGi-ydinspesifikaatioiden toteutus. Ehkä tärkeintä on, että Eclipse Foundationin OSGi-kontti- / ajonaikaisen komponentin moottori, Equinox, on äskettäin nostettu projektin ylimmälle tasolle, jossa se toimii uuden Eclipse Runtime Initiativen perustana.

Jo ennen kuin OSGi saavutti nykyisen suosionsa, puhuttiin sen yhdistämisestä Springiin. Lopulta tämä puhe johti Spring Dynamic Modules for OSGi Service Platforms -projektiin. Spring DM: n toiminnallisuus voidaan jakaa kahteen pääkomponenttiin: Ensinnäkin se tarjoaa Spring framework JAR: t OSGi-nippujen muodossa. Kuten tämän sarjan edellisestä artikkelista tiedät, OSGi-paketit ovat vain Java-arkistotiedostoja (JAR), jotka sisältävät lisämerkintöjä META-INF / MANIFEST.MF tiedosto, joka toimii OSGi-nipun käyttöönoton kuvaajana. (Huomaa, että JAR-tiedostoa ei voi asentaa suoraan OSGiä käytettäessä; sinun on pakattava se OSGi-pakettimuotoon.)

Toiseksi Spring DM tarjoaa kolme OSGi-spesifistä kevätpakettia / JAR-pakettia:

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

Spring DM: llä rakennetut sovellukset rakennetaan eri tavalla kuin Spring-kehystä käyttävät. Kun rakennat kevät sovelluksessa määrität määritystiedot yhteen tai useampaan Spring-määritystiedostoon, jotka ovat enimmäkseen XML-tiedostoja. Spring-kehys käyttää näitä määritystiedostoja sovelluskonteksti-objektin luomiseen sovellusta käynnistettäessä. Kun sovelluskonteksti on luotu, sitä käytetään instantioimaan, konfiguroimaan, kokoamaan ja koristelemaan sovelluksen esineitä.

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