Programiranje

Pozdravljeni, OSGi, 1. del: Paketi za začetnike

Pobuda Open Services Gateway Initiative (OSGi) opredeljuje arhitekturo za razvoj in uvajanje modularnih aplikacij in knjižnic. V tem prvem članku v tridelnem uvodu v OSGi vas Sunil Patil seznani z razvojnimi koncepti OSGi in vam pokaže, kako zgraditi preprosto aplikacijo Hello World z uporabo izvedbe vsebnika Eclipse OSGi, Equinox. Na kratko se dotakne tudi gradnje storitveno usmerjenih aplikacij z uporabo OSGi in predstavi OSGi ServiceFactory in ServiceTracker razredih.

Pobuda Open Services Gateway Initiative (OSGi), znana tudi kot sistem dinamičnih modulov za Javo, opredeljuje arhitekturo za razvoj modularnih aplikacij. Implementacije vsebnikov OSGi, kot so Knopflerfish, Equinox in Apache Felix, vam omogočajo, da aplikacijo razbijete na več modulov in tako lažje upravljate medsebojne odvisnosti med njimi.

OSGi, Equinox in Project Jigsaw

Pridobite si pogled iz resničnega sveta s preučevanjem lekcij, pridobljenih med integracijo OSGi / Equinox v največjem britanskem znanstvenem projektu, nato pa ugotovite, kaj lahko pričakujete od Project Jigsaw v Javi 9.

Podobno kot specifikacije Java Servlet in EJB tudi specifikacija OSGi opredeljuje dvoje: nabor storitev, ki jih mora izvajati vsebnik OSGi, in pogodbo med vsebnikom in vašo aplikacijo. Razvoj na platformi OSGi pomeni, da najprej zgradite aplikacijo z OSGi API-ji, nato pa jo razmestite v vsebnik OSGi. Z vidika razvijalca OSGi ponuja naslednje prednosti:

  • Različne module aplikacije lahko dinamično namestite, odstranite, zaženete in zaustavite brez ponovnega zagona vsebnika.
  • Vaša aplikacija ima lahko hkrati več različic določenega modula.
  • OSGi ponuja zelo dobro infrastrukturo za razvoj storitveno usmerjenih aplikacij, pa tudi vdelanih, mobilnih in bogatih internetnih aplikacij.

Glede na to, da za izdelavo spletnih aplikacij uporabljate vsebnike strežnikov, za izdelavo transakcijskih aplikacij pa vsebnike EJB, se morda sprašujete, zakaj potrebujete še eno vrsto vsebnika. Kratek odgovor je, da so vsebniki OSGi namenjeni posebej za razvoj zapletenih aplikacij Java, ki jih želite razdeliti na module. Ta kratek odgovor bom razširil v tej seriji.

Pozdravljeni, OSGi: preberite serijo

  • 1. del: Snopi za začetnike
  • 2. del: Predstavljanje pomladnih dinamičnih modulov
  • 3. del: Odnesite ga na strežniško stran

OSGi v poslovnih aplikacijah

Delo na specifikaciji OSGi je zavezništvo OSGi začelo marca 1999. Njegov glavni cilj je bil ustvariti odprto specifikacijo za zagotavljanje upravljanih storitev lokalnim omrežjem in napravam. Osnovna ideja je, da ko dodate omrežno platformo OSGi v omrežno napravo (tako vdelano kot strežnike), lahko upravljate življenjski cikel komponent programske opreme v tej napravi od koder koli v omrežju. Programske komponente lahko namestite, posodobite ali odstranite sproti, ne da bi vam bilo treba kadar koli motiti delovanje naprave.

Tehnologija OSGi že leta cveti na trgu vgrajenih sistemov in omrežnih naprav. Zdaj se delno po zaslugi Eclipse OSGi pojavlja kot izvedljiva in dragocena tehnologija za razvoj podjetja.

Naraščajoča podpora za OSGi

Leta 2003 je razvojna skupina Eclipse začela iskati načine, kako narediti Eclipse bolj dinamično in bogato odjemalsko platformo ter povečati modularnost nabora orodij. Sčasoma se je ekipa odločila za uporabo okvira OSGi kot izvajalnega modela komponente. Eclipse 3.0, izdana junija 2004, je bila prva različica Eclipse, ki temelji na OSGi.

Skoraj vsi aplikacijski strežniki za podjetja podpirajo ali načrtujejo podporo za OSGi. Okvir Spring podpira tudi OSGi prek projekta Spring Dynamic Modules for OSGi Service Platforms, ki zagotavlja infrastrukturni sloj za lažjo uporabo OSGi pri razvoju podjetniških aplikacij Java na osnovi Spring.

Odprtokodni vsebniki OSGi

Z vidika razvijalca v podjetju ima vsebnik OSGi tako majhen odtis, da ga lahko enostavno vdelate v aplikacijo podjetja. Recimo na primer, da razvijate zapleteno spletno aplikacijo. Aplikacijo želite razdeliti na več modulov: en modul za plast pogleda, drugi za plast DAO in tretji modul za plast dostopa do podatkov. Uporaba vdelanega vsebnika OSGi za upravljanje medsebojne odvisnosti teh modulov bi vam omogočila, da posodobite svoj sloj DAO (recimo iz počasnega DAO v hiter DAO), ne da bi znova zagnali aplikacijo.

Dokler je vaša aplikacija skladna s specifikacijami OSGi, bi se lahko izvajala v katerem koli vsebniku, skladnem z OSGi. Trenutno obstajajo trije priljubljeni odprtokodni vsebniki OSGi:

  • Equinox je referenčna izvedba za okvirni del OSGi Service Platform Release 4. Je modularno izvajanje Java v središču Eclipse IDE in izvaja vse obvezne in večino neobveznih funkcij specifikacije OSGi R4.
  • Knopflerfish je odprtokodna izvedba specifikacij OSGi R3 in OSGi R4. Knopflerfish 2 izvaja vse obvezne lastnosti in nekatere neobvezne funkcije, opredeljene v specifikaciji R4.
  • Apache Felix je odprtokodni OSGi vsebnik Apache Software Foundation. V času pisanja tega vsebnika ta ni popolnoma skladen s specifikacijo OSGI R4.

V tem članku bomo Equinox uporabili kot naš vsebnik OSGi. Za več informacij o Apache Felix in Knopflerfish glejte razdelek Viri.

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