Muli ndi pulogalamu yanu kale, koma mukufunikirabe njira yothandiza kwambiri yothandizira ogwiritsa ntchito luso lanu kuti akulitse nsanja.
Ngakhale OSGi imadziwika bwino ndi ambiri opanga Java, kuphatikiza ndi zomwe mwapanga kungawoneke ngati ntchito yovuta. Kusamveka bwino kwa magwiridwe antchito a OSGi kumasokoneza njira yopita patsogolo.
Mosiyana ndi chilichonse chomwe angafune kuyesa, OSGi imamva ngati kuyesa kuyenda panyanja kwa ambiri opanga Java.
Nkhaniyi ikuwonetsani zamaphunziro a kasupe a OSGi Felix pogwiritsa ntchito pulogalamu yowongoka ndikudutsamo, zabwino zake, ndi zina zofunika.
Ndiye OSGi ndi chiyani?
Kupanga ndi kugawa ma modules ndi zigawo zake zimatheka ndi Java framework yotchedwa OSGi (Open Service Gateway Initiative).
Ikugogomezera kuphatikizika kwa ntchito ndi kulumikizana kotayirira, komwe kumapereka maubwino angapo kwa opanga, kuphatikiza magwiridwe antchito omwe amatha kusamutsidwa mosavuta pakati pa ma code source ndi kuyesa komwe sikufuna kudalira kosatha.
Kodi OSGi imagwira ntchito bwanji?
Dongosolo lachigawo la Java limatanthauzidwa ndi mafotokozedwe otchedwa OSGi. Zolemba izi zimathandizira njira yachitukuko pomwe pulogalamu imapangidwa kuchokera ku magawo angapo kenako ndikuyika mitolo.
Mautumiki am'deralo ndi a pa intaneti amagwiritsidwa ntchito ndi zigawozi kuti azilankhulana. Kupanga khodi yayikulu ya pulogalamuyo kukhala yolumikizana momwe ingathere ndicho cholinga. Kulumikizana kwakukulu pakati pa code iyi ndi zigawo zingapo ndizotheka.
Zinthu zomangika zomwe zimagwiritsidwanso ntchito zimatchedwa zigawo. Ganizirani za zinthu monga ngolo yogulira patsamba lanu la e-commerce kapena ntchito yolipira pamakina anu oyang'anira antchito.
Zigawo zimatha kugwiritsa ntchito OSGi kubisa zomwe zachitika kuchokera kuzinthu zina ndikungopereka zofunikira kwa iwo kudzera muntchito.
Izi zimalepheretsa zigawo kuti zisinthe mosadziwa zomwe sayenera kuzipeza ndikuwongolera zomwe zimadalira.
Kulumikizana konse pakati pazigawo mu pulogalamu ya OSGi kumapangidwa kudzera mu ntchito m'dziko labwino. Phukusi la Java lili ndi API yomwe imatchulidwa kuti igwiritsidwe ntchito.
Kugwirizana pakati pa opereka chithandizo ndi makasitomala kumafuna kugwiritsa ntchito makalasi ndi / kapena mawonekedwe, omwe amapanga API.
Zigawo zonse za OSGi zimayikidwa pamodzi m'mitolo, yomwe ili ndi zinthu zomwe zimafunikira kuti zigwire ntchito. Mitolo imamveka bwino pazomwe amafunikira kuchokera ku chilengedwe komanso zomwe angathe kuchita.
ubwino
- Mapulogalamu a OSGi ali ndi mwayi wopeza nkhokwe zakunja.
- Chikhazikitsochi chimalola mapangidwe opangidwa ndi ntchito pamlingo wa module.
- Zimapangitsa kuti zikhale zotheka kuyang'anira zosinthika ndi kudalira kwa ma bundle ogwiritsira ntchito kuwonjezera pa kukhazikika ndikupangitsa kuti zikhale zosavuta kuphatikiza malaibulale a chipani chachitatu.
- Mapulogalamu amatha kusintha malinga ndi zomwe akufuna, amatha kunyamula, komanso amafulumira kukonzanso.
- A malonda a webusaiti ikhoza kutumizidwa ngati gulu la ma OSGi osinthika okhala ndi moyo wosinthika chifukwa cha kuphatikiza kwa chimango ndi mtundu wa pulogalamu ya Java EE.
- M'malo moyikidwa ngati laibulale ya chipani chachitatu monga gawo la pulogalamuyo, chimangochi chimapereka msonkhano wolengeza komanso kuyezetsa mayunitsi owongolera a Spring Framework mu mawonekedwe okhazikika omwe amaperekedwa ngati gawo la nthawi yogwiritsira ntchito seva.
- Pazinthu zamabizinesi zopangidwa ndi mitolo ingapo yosinthika yokhala ndi moyo wosinthika, chimango chimapereka kudzipatula.
- Lili ndi chosungira chophatikizika chomwe chimatha kusungira mitolo yogawana komanso yosinthidwa yomwe imagwiritsidwa ntchito ndi mapulogalamu angapo, kuletsa pulogalamu iliyonse kuti isapereke buku laibulale iliyonse yogawidwa.
Kuyamba ndi OSGi Felix kasupe
Kupeza Zothandizira
Potsitsa mtundu waposachedwa kwambiri wa Apache Karaf kuchokera tsamba ili, titha kuyamba ulendo wathu wa OSGi.
Kutengera Apache Felix, kukhazikitsidwa kwa Apache kwa mawonekedwe a OSGi, Apache Karaf amapereka nsanja yogwiritsira ntchito OSGi.
Karaf amapereka zinthu zosiyanasiyana zothandiza pamwamba pa Felix zomwe zingatithandize kuti tidziwe bwino OSGi, monga mawonekedwe a mzere wa malamulo omwe angatithandize kuti tizilankhulana ndi nsanja.
Malo Olowera Kwa Magulu
Ntchito iyenera kupakidwa ngati mtolo wa OSGi isanayendetsedwe pamalo a OSGi. Kuphatikiza apo, malo olowera ntchito ayenera kufotokozedwa; si ntchito ya public static void main(String[] args).
Ndiye tiyeni tiyambe kupanga "Moni Dziko Lapansi” ntchito yochokera ku OSGi.
Timayamba ndikukhazikitsa kudalira kwa OSGi API:
Nthawi yothamanga ya OSGi idzakhala ndi mwayi wodalira, chifukwa chake mtolo suyenera kukhala nawo. Chifukwa chake, amalembedwa kuti aperekedwa.
Tsopano tiyeni tipange kalasi yowongoka ya HelloWorld:
Makalasi omwe amakhala ngati malo olowera mitolo ayenera kukhazikitsa mawonekedwe a OSGi-operekedwa ndi BundleActivator.
Pamene mtolo womwe uli ndi kalasiyi ukhazikitsidwa, nsanja ya OSGi imatcha ntchito yoyambira (). Kumbali ina, mtolo utangoyimitsidwa, ntchito stop() imatchedwa.
Tisaiwale kuti mtolo uliwonse ukhoza kukhala ndi BundleActivator imodzi. Njira zonsezi zimatha kulumikizana ndi nthawi yothamanga ya OSGi pogwiritsa ntchito chinthu cha BundleContext chomwe chaperekedwa.
Kupanga Mtolo
Pangani pom.xml kukhala mtolo weniweni wa OSGi posintha zofunikira.
Choyamba tiyenera kufotokoza momveka bwino kuti cholinga chathu ndi kupanga mtolo.
Kenako, timagwiritsa ntchito maven-bundle-plugin kuyika gulu la HelloWorld ngati mtolo wa OSGi, mothandizidwa ndi gulu la Apache Felix:
Miyezo ya mitu ya OSGi yomwe tikufuna kuyika mu fayilo ya MANIFEST ya mtolo imafotokozedwa mugawo la malangizo.
Bundle-Activator ndiyedi dzina loyenerera bwino la yankho la BundleActivator lomwe lidzagwiritsidwe ntchito kuyambitsa ndikuyimitsa mtolo. Zimagwirizana ndi kalasi yomwe yangopangidwa kumene.
Ngakhale simutu wa OSGi, mutu wa Private-Package umalangiza plugin kuti iwonjezere paketiyo pamtolo koma osapangitsa kuti ipezeke ndi mapulagini ena. Lamulo la mvn install liyenera kugwiritsidwa ntchito kupanga mtolo.
Kukhazikitsa ndi Kuyendetsa Bundle
Tiyeni tiyambe Karaf poyendetsa lamulo ili:
pomwe "KARAF HOME" amatanthauza chikwatu chomwe Karaf adakhazikitsidwa. Titha kugwiritsa ntchito lamulo ili kuti tikhazikitse mtolo pamene Karaf console ikuwonekera:
Kugwiritsa ntchito malo osungiramo Maven komweko ndimomwe Karaf amauzidwa kuti azikweza mtolo.
Pobweza ID ya manambala amtolo, Karaf amalemba. ID iyi ikhoza kukhala yosiyana kutengera kuchuluka kwa mitolo yomwe idayikidwapo kale. Mtolo tsopano wakhazikitsidwa bwino, ndipo lamulo loti muyambitse ndi motere:
Mukangoyambitsa phukusili, "Moni Dziko lolemba Jay" likuwonetsa. Tsopano titha kuyimitsa ndikuchotsa mtolowu pogwiritsa ntchito:
Konsoliyo ikuwonetsa "Goodbye World yolembedwa ndi Jay."
Kutsiliza
Madivelopa amatha kuwonjezera magwiridwe atsopano ku pulogalamu yomwe ilipo pomwe akuisunga yotetezeka komanso yotalikirana ndi zigawo zina za pulogalamu yayikulu pogwiritsa ntchito OSGi.
Taphunzira za OSGi mu positi iyi, kuphatikiza momwe imagwirira ntchito, zabwino zake, ndi pulogalamu yowongoka. Sizovuta kuphatikiza OSGi mu pulogalamu yanu.
Wodala kukod!
Siyani Mumakonda