Usuvele unayo isofthiwe yakho endaweni, kodwa usadinga indlela esebenza ngempumelelo kakhulu yokuvumela abasebenzisi bakho bobuchwepheshe ukuze banwebe inkundla.
Noma i-OSGi yaziwa ngabathuthukisi be-Java abaningi, ukuyihlanganisa kumkhiqizo wakho kungase kubonakale kuwumsebenzi onzima. Ukushoda kokucaca mayelana nokusebenza okunembayo kwe-OSGi kuqhubeza nokudida indlela eya phambili.
Ngokuphambene nanoma yini abangathanda ukuyihlola, i-OSGi izizwa ifana nokuzama ukuhamba ngolwandle olubanzi iye konjiniyela abaningi be-Java.
Lesi sihloko sizokwethula isifundo sentwasahlobo se-OSGi Felix sisebenzisa uhlelo oluqondile futhi sidlule, izinzuzo zalo, neminye imininingwane ebalulekile.
Ngakho-ke yini i-OSGi?
Ukudala nokusabalalisa amamojula nezingxenye kwenziwa kwenzeke ngohlaka lwe-Java olwaziwa nge-OSGi (Open Service Gateway Initiative).
Igcizelela i-encapsulation yokusebenza kanye nokuhlanganisa okuxekethile, okunikeza izinzuzo ezimbalwa konjiniyela, okuhlanganisa ukusebenza kwemodular okudluliseka kalula phakathi kwamakhodi omthombo nokuhlola okungadingi ukuncika okungapheli.
Isebenza kanjani i-OSGi?
Isistimu yengxenye eguqukayo ye-Java ichazwa isethi yezicaciso ebizwa ngokuthi i-OSGi. Lezi zici zinika amandla indlela yokuthuthukisa lapho uhlelo lokusebenza lwakhiwe ngenani lezingxenye bese lupakishwa lube yinqwaba.
Amasevisi asendaweni nawenethiwekhi asetshenziswa yilezi zingxenye ukuxhumana. Ukwenza ikhodi ewumnyombo yohlelo ihlanganiswe ngangokunokwenzeka kuyinhloso. Ukuhlangana okuphezulu phakathi kwale khodi nezingxenye eziningana kungenzeka.
Izakhi zokwakha ezisebenzisekayo zohlelo zibizwa ngezingxenye. Cabanga ngezici ezifana nenqola yokuthenga yewebhusayithi yakho ye-e-commerce noma isicelo sokukhokhelwa sohlelo lwakho lokuphatha abasebenzi.
Izingxenye zingasebenzisa i-OSGi ukufihla ukusetshenziswa kwazo kwezinye izingxenye futhi zinikeze idatha edingekayo kuzo kuphela ngamasevisi.
Lokhu kuvimbela izingxenye ekuguquleni ngokungenhloso idatha okungafanele ziyifinyelele futhi ilawule ukuncika.
Konke ukuxhumana phakathi kwezingxenye kuhlelo lokusebenza lwe-OSGi kwenziwa ngezinkonzo emhlabeni okahle. Iphakheji ye-Java iqukethe i-API eshiwo kumasevisi.
Ukusebenzisana phakathi kwabahlinzeki besevisi namakhasimende kudinga ukusetshenziswa kwamakilasi kanye/noma izixhumanisi, ezakha i-API.
Zonke izingxenye ze-OSGi zihlanganiswe ndawonye zibe yizinqwaba, ngayinye yazo ehlanganisa izinsiza ezizidingayo ukuze zisebenze. Izinqwaba zicace bha mayelana nokuthi zidingani endaweni kanye nalokho ezikwaziyo ukukwenza.
Izinzuzo
- Izinhlelo zokusebenza ze-OSGi zinokufinyelela kumakhosombe enqwaba angaphandle.
- Uhlaka luvumela idizayini egxile kusevisi ezingeni lemojuli.
- Kwenza kube nokwenzeka ukuphatha izinguqulo nokuncika kwezinqwaba zohlelo lokusebenza ngaphezu kokulinganisa nokwenza kube lula ukuhlanganisa amalabhulali ezinkampani zangaphandle.
- Izinhlelo zokusebenza zivumelana kangcono nezimfuneko ezishintshayo, ziyaphatheka kakhudlwana, futhi ziyashesha ukwenziwa kabusha.
- A uhlelo lokusebenza lewebhu ingafakwa njengeqembu lezinqwaba ze-OSGi ezinenguqulo enempilo yonke ngenxa yokuhlanganiswa kohlaka nemodeli yokuhlela ye-Java EE.
- Esikhundleni sokufakwa njengomtapo wolwazi wenkampani yangaphandle njengengxenye yohlelo lokusebenza, uhlaka luhlinzeka ngokuhlanganisa okumemezelayo kanye nokuhlola kweyunithi okwenziwa lula koHlaka Lwentwasahlobo ngendlela evamile elinikezwa njengengxenye yesikhathi sokusebenza seseva yohlelo lokusebenza.
- Kuzinhlelo zokusebenza zezinkampani ezakhiwe izinqwaba ezinenguqulo ezinemijikelezo yokuphila eguquguqukayo, uhlaka lunikeza ukuhlukaniswa.
- Iqukethe inqolobane yenqwaba ehlanganisiwe engagcina izinyanda ezabiwe ezivamile nezinguqulo ezisetshenziswa izinhlelo zokusebenza ezimbalwa, ukuvimbela uhlelo lokusebenza ngalunye ekukhipheni ikhophi ehlukile yomtapo wolwazi ngamunye owabiwe.
Ukuqalisa nge-OSGi Felix spring
Ukuthola Izinsiza
Ngokulanda inguqulo yakamuva ye-Apache Karaf kusuka leli sayithi, singaqala uhambo lwethu lwe-OSGi.
Ngokusekelwe ku-Apache Felix, ukuqaliswa kwe-Apache kokucaciswa kwe-OSGi, i-Apache Karaf inikeza inkundla yezinhlelo zokusebenza ezisekelwe ku-OSGi.
I-Karaf ihlinzeka ngezici eziwusizo ezihlukahlukene phezu kukaFeliksi ezizosisiza ekuzaziseni nge-OSGi, njengesixhumi esibonakalayo somugqa womyalo esizosenza sikwazi ukuxhumana neplatifomu.
Indawo Yokungena Yezinqwaba
Uhlelo lokusebenza kufanele lupakishwe njengenqwaba ye-OSGi ngaphambi kokuthi lusetshenziswe endaweni ye-OSGi. Ukwengeza, indawo yokufaka isicelo kufanele icaciswe; akuwona umsebenzi ojwayelekile ojwayelekile we-static void main(String[] args).
Ngakho-ke ake siqale ngokwakha “Sawubona Umhlaba” uhlelo lokusebenza olusekelwe ku-OSGi.
Siqala ngokusungula ukuncika okuyisisekelo kwe-OSGi API:
Isikhathi sokusebenza se-OSGi sizokwazi ukufinyelela kokuncika, ngakho-ke inqwaba ayidingi ukukuqukatha. Ngakho-ke, imakwa njengenikeziwe.
Manje ake sakhe ikilasi le-HelloWorld eliqondile:
Amakilasi asebenza njengamaphoyinti okungena ezinqwaba kufanele asebenzise isixhumi esibonakalayo se-OSGi-Provided BundleActivator.
Lapho inqwaba equkethe leli klasi yethulwa, inkundla ye-OSGi ibiza umsebenzi wokuqala (). Ngakolunye uhlangothi, ngaphambi nje kokuba inqwaba imiswe, umsebenzi stop() ubizwa.
Singakhohlwa ukuthi inqwaba ngayinye ingaba ne-BundleActivator eyodwa. Zombili izindlela zingaxhumana nesikhathi sokusebenza se-OSGi kusetshenziswa into ye-BundleContext enikeziwe.
Ukudala Inqwaba
Yenza i-pom.xml ibe inqwaba ye-OSGi yangempela ngokwenza izinguquko ezidingekayo.
Kumele siqale siveze ngokusobala ukuthi inhloso yethu wukukhiqiza inqwaba.
Bese, sisebenzisa i-maven-bundle-plugin ukupakisha ikilasi le-HelloWorld njengenqwaba ye-OSGi, ngezilokotho zomphakathi we-Apache Felix:
Amanani wezihloko ze-OSGi esifisa ukuzifaka kufayela lenqwaba elithi MANIFEST acaciswe esigabeni semiyalelo.
I-Bundle-Activator iyigama elifaneleke kahle lesixazululo se-BundleActivator esizosetshenziswa ukuqalisa nokumisa inqwaba. Ihambisana nesigaba esisanda kwakhiwa.
Yize kungeyona inhlokweni ye-OSGi, inhlokweni ye-Private-Package iyalela i-plugin ukuthi yengeze iphakheji kunqwaba kodwa ingalenzi ifinyeleleke kwamanye ama-plugin. Umyalo wokufaka we-mvn kufanele usetshenziselwe ukudala inqwaba.
Ukufaka kanye nokusebenzisa inqwaba
Ake siqale uKaraf ngokusebenzisa lo myalo:
lapho “IKHAYA LE-KARAF” libhekisela kufolda lapho uKaraf amiswa khona. Singasebenzisa umyalo olandelayo ukufaka inqwaba lapho kuvela umyalo we-Karaf console:
Ukusebenzisa inqolobane yasendaweni yaseMaven yindlela uKaraf atshelwa ngayo ukuthi alayishe inqwaba.
Ibuyisela i-ID yenombolo yenqwaba, u-Karaf uyayibhala. Le ID ingase yehluke kuye ngokuthi zingaki izinqwaba ezifakwe ngaphambilini. Inqwaba manje isifakwe ngempumelelo, futhi umyalo wokuyiqalisa umi kanje:
Ngesikhathi uqala iphakheji, kuboniswa "Sawubona Umhlaba kaJay". Manje singamisa futhi sisuse inqwaba sisebenzisa:
I-console ibonisa "I-Goodbye World by Jay."
Isiphetho
Onjiniyela bangangeza kalula ukusebenza okusha kuhlelo lokusebenza lwewebhu olukhona ngenkathi belugcina luvikelekile futhi luhlukanisiwe kwezinye izingxenye zohlelo oluyinhloko ngokusebenzisa i-OSGi.
Sifundile nge-OSGi kulokhu okuthunyelwe, okubandakanya ukuthi isebenza kanjani, izinzuzo zayo, nohlelo oluqondile. Akunzima ukufaka i-OSGi kuhlelo lwakho lokusebenza.
Jabulela ukubhala ngekhodi!
shiya impendulo