Þú ert nú þegar með hugbúnaðinn þinn til staðar, en þú þarft samt skilvirkari aðferð til að gera tæknilegum notendum þínum kleift að stækka vettvanginn.
Jafnvel þó að OSGi sé vel þekktur af flestum Java forriturum, gæti samþætting þess í vörunni virst vera ógnvekjandi verkefni. Skortur á skýrleika um nákvæma vinnu OSGi truflar enn frekar veginn fram á við.
Öfugt við allt sem þeir vilja gera tilraunir með, finnst OSGi meira eins og að reyna að sigla um víðan sjó til margra Java forritara.
Þessi grein mun kynna þér OSGi Felix vorkennsluna með því að nota einfalt forrit og fara í gegnum kosti þess og aðrar mikilvægar upplýsingar.
Svo hvað er OSGi?
Búa til og dreifa einingum og íhlutum er gert mögulegt með Java ramma sem kallast OSGi (Open Service Gateway Initiative).
Það leggur áherslu á aðgerðarhjúpun og lausa tengingu, sem býður upp á nokkra kosti fyrir þróunaraðila, þar á meðal mátvirkni sem er auðvelt að flytja á milli frumkóða og prófunar sem þarfnast ekki óendanlegra ósjálfstæðis.
Hvernig virkar OSGi?
Kraftmikið íhlutakerfi fyrir Java er skilgreint af setti af forskriftum sem kallast OSGi. Þessar forskriftir leyfa þróunarnálgun þar sem forrit er byggt úr fjölda hluta og síðan pakkað í búnt.
Staðbundin og nettengd þjónusta er notuð af þessum hlutum til að hafa samskipti. Markmiðið er að gera kjarnakóða forritsins eins þéttan og mögulegt er. Mikil tenging á milli þessa kóða og nokkurra íhluta er möguleg.
Endurnýtanlegar byggingareiningar forritsins eru kallaðir íhlutir. Hugsaðu um eiginleika eins og innkaupakörfu fyrir e-verslunarvefsíðuna þína eða launaumsókn fyrir starfsmannastjórnunarkerfið þitt.
Íhlutir geta notað OSGi til að fela útfærslur sínar fyrir öðrum íhlutum og veita þeim aðeins nauðsynleg gögn í gegnum þjónustu.
Þetta kemur í veg fyrir að íhlutir breyti óviljandi gögnum sem þeir ættu ekki að hafa aðgang að og heldur utan um ósjálfstæði.
Allar tengingar milli íhluta í OSGi forriti eru gerðar í gegnum þjónustu í hugsjónum heimi. Java pakki inniheldur API sem er tilgreint fyrir þjónustu.
Samvinna þjónustuaðila og viðskiptavina krefst notkunar á flokkum og/eða viðmótum, sem mynda API.
Öllum OSGi íhlutunum er pakkað saman í búnta, sem hver um sig inniheldur þau úrræði sem þeir þurfa til að virka. Knippi eru alveg skýr um hvað þeir þurfa frá umhverfinu og hvers þeir eru megnugir.
Hagur
- OSGi forrit hafa aðgang að ytri búntageymslum.
- Ramminn gerir þjónustumiðaða hönnun á einingastigi.
- Það gerir það mögulegt að stjórna útgáfum og ósjálfstæði forritabúnta auk þess að staðla og gera það auðveldara að samþætta þriðja aðila bókasöfn.
- Forrit eru aðlögunarhæfari að breyttum kröfum, flytjanlegri og fljótlegri að endurhanna.
- A vefumsókn hægt að nota sem hóp af útgefnum OSGi búntum með kraftmiklum líftíma þökk sé samþættingu rammans við Java EE forritunarlíkanið.
- Í stað þess að vera sett upp sem þriðja aðila bókasafn sem hluti af forritinu, veitir ramminn yfirlýsingasamsetningu og straumlínulagaða einingaprófun Spring Framework á stöðluðu formi sem er veitt sem hluti af keyrslutíma forritaþjónsins.
- Fyrir fyrirtækjaforrit sem samanstanda af nokkrum útgáfum búntum með kraftmiklum lífsferlum býður ramminn upp á einangrun.
- Það inniheldur samþætta búntageymsla sem getur geymt sameiginlega og útgefna búnta sem notuð eru af nokkrum forritum, sem kemur í veg fyrir að hvert forrit geti notað sérstakt eintak af hverju sameiginlegu bókasafni.
Að byrja með OSGi Felix vor
Að fá auðlindirnar
Með því að hlaða niður nýjustu útgáfu Apache Karaf frá þetta vefsvæði, við getum hafið OSGi ævintýrið okkar.
Byggt á Apache Felix, Apache útfærslu OSGi forskriftarinnar, býður Apache Karaf upp á vettvang fyrir OSGi-undirstaða forrit.
Karaf býður upp á ýmsa gagnlega eiginleika ofan á Felix sem munu hjálpa okkur við að kynna okkur OSGi, svo sem skipanalínuviðmót sem gerir okkur kleift að eiga samskipti við vettvanginn.
Aðgangsstaður fyrir knippi
Forrit verður að vera pakkað sem OSGi búnt áður en hægt er að keyra það í OSGi umhverfi. Að auki verður að tilgreina aðgangsstað umsóknarinnar; það er ekki staðlað public static void main(String[] args) fall.
Svo við skulum byrja á því að búa til „Halló heimur“ forrit byggt á OSGi.
Við byrjum á því að koma á fót grunn OSGi API ósjálfstæði:
OSGi keyrslutíminn mun hafa aðgang að ósjálfstæði, þess vegna þarf búntið ekki að innihalda það. Þess vegna er það merkt sem afhent.
Nú skulum við búa til einfaldan HelloWorld bekkinn:
Flokkar sem virka sem inngangspunktar fyrir búnta verða að innleiða OSGi-útvegað BundleActivator tengi.
Þegar búnturinn sem inniheldur þennan flokk er ræstur kallar OSGi vettvangurinn start() aðgerðina. Á hinni hliðinni, stuttu áður en búntið er stöðvað, er fallið stop() kallað.
Við skulum ekki gleyma því að hver búnt getur aðeins haft einn BundleActivator. Báðar leiðir geta átt samskipti við OSGi keyrslutímann með því að nota BundleContext hlutinn sem er gefinn.
Að búa til búnt
Gerðu pom.xml að alvöru OSGi búnti með því að gera nauðsynlegar breytingar.
Við verðum fyrst að tjá skýrt að markmið okkar er að framleiða búnt.
Síðan notum við maven-bundle-plugin til að pakka HelloWorld bekknum sem OSGi búnti, með leyfi Apache Felix samfélagsins:
Gildi OSGi hausanna sem við viljum hafa með í MANIFEST skrá búntsins eru tilgreind í leiðbeiningahlutanum.
Bundle-Activator er örugglega rétt hæft nafn BundleActivator lausnarinnar sem verður notuð til að ræsa og stöðva búntinn. Það er samhæft við nýstofnaðan flokk.
Þó að það sé ekki OSGi haus, gefur Private-Package hausinn fyrirmæli um að viðbótin bæti pakkanum við búntinn en gerir það bara ekki aðgengilegt öðrum viðbætur. Nota ætti mvn install skipunina til að búa til búntinn.
Að setja upp og keyra búntið
Byrjum Karaf á því að keyra þessa skipun:
þar sem „KARAF HOME“ vísar til möppunnar þar sem Karaf var sett upp. Við getum notað eftirfarandi skipun til að setja upp búntinn þegar Karaf stjórnborðið birtist:
Með því að nota staðbundna Maven geymsluna er Karaf sagt að hlaða búntinu.
Karaf skilar tölulegu auðkenni búntsins og skrifar það út. Þetta auðkenni gæti verið mismunandi eftir því hversu margir búntar hafa áður verið settir upp. Búnturinn hefur nú verið settur upp og skipunin til að ræsa hann er sem hér segir:
Um leið og þú setur pakkann af stað birtist „Hello World by Jay“. Við getum nú stöðvað og fjarlægt búntinn með því að nota:
Stjórnborðið sýnir „Goodbye World by Jay“.
Niðurstaða
Hönnuðir geta auðveldlega bætt við nýjum virkni við núverandi vefforrit á sama tíma og þeir halda því öruggum og einangruðum frá öðrum hlutum aðalforritsins með því að nota OSGi.
Við höfum lært um OSGi í þessari færslu, þar á meðal hvernig það virkar, kosti þess og einfalt forrit. Það er ekki erfitt að fella OSGi inn í þitt eigið forrit.
Gleðilega kóðun!
Skildu eftir skilaboð