Sele unayo isoftware yakho endaweni, kodwa usafuna indlela esebenzayo yokwenza abasebenzisi bakho bobugcisa bandise iqonga.
Nangona i-OSGi isaziwa kakhulu kuninzi lwabaphuhlisi beJava, ukuyidibanisa kwimveliso yakho kunokubonakala kungumsebenzi onzima. Ukunqongophala kokucaca malunga nokusebenza okuchanekileyo kwe-OSGi kuyayidida ngakumbi indlela eya phambili.
Ngokwahlukileyo kuyo nantoni na abangathanda ukuyilinga, i-OSGi ivakalelwa ngakumbi njengokuzama ukuhamba ngolwandle olubanzi kubaphuhlisi abaninzi beJava.
Eli nqaku liza kukwazisa kwisifundo sentwasahlobo se-OSGi Felix usebenzisa inkqubo ethe ngqo kwaye uhambe, iingenelo zayo, kunye nezinye iinkcukacha ezibalulekileyo.
Ke yintoni i-OSGi?
Ukudala kunye nokusabalalisa iimodyuli kunye namacandelo enziwe ngesakhelo seJava eyaziwa ngokuba yi-OSGi (Inyathelo leSango leSango leNkonzo eVulekileyo).
Igxininisa umsebenzi ogqunyiweyo kunye nokudibanisa okukhululekileyo, okubonelela ngeenzuzo ezininzi kubaphuhlisi, kubandakanywa nokusebenza kweemodyuli ezikhutshelwa ngokulula phakathi kweekhowudi zemvelaphi kunye novavanyo olungadingi ukuxhomekeka okungapheliyo.
Isebenza njani i-OSGi?
Inkqubo yecandelo eliguqukayo yeJava ichazwa liqela leenkcukacha ezibizwa ngokuba yi-OSGi. Ezi nkcazo zenza indlela yophuhliso apho isicelo sakhiwe ukusuka kwinani leenxalenye kwaye emva koko zipakishwe kwiinqwaba.
Iinkonzo zasekuhlaleni kunye nezenethiwekhi zisetyenziswa ngala macandelo ukunxibelelana. Ukwenza ikhowudi engundoqo yeprogram ibe yimbumba njengoko kunokwenzeka yinjongo. Ukudibanisa okuphezulu phakathi kwale khowudi kunye namacandelo amaninzi kunokwenzeka.
Izinto zokwakha ezinokusetyenziswa kwakhona zibizwa ngokuba ngamacandelo. Cinga ngeempawu ezifana nenqwelo yokuthenga kwiwebhusayithi yakho ye-e-commerce okanye isicelo somvuzo wenkqubo yakho yolawulo lwabasebenzi.
Amacandelo angasebenzisa i-OSGi ukufihla ukuphunyezwa kwawo kwamanye amacandelo kwaye anike kuphela idatha efunekayo kubo ngeenkonzo.
Oku kuthintela amacandelo ekutshintsheni ngempazamo idatha ekungafanelanga ukuba bafikelele kuyo kwaye ilawule ukuxhomekeka.
Lonke unxibelelwano phakathi kwamacandelo kwisicelo se-OSGi lwenziwa ngeenkonzo kwihlabathi elifanelekileyo. Ipakethe yeJava iqulethe i-API echazwe kwiinkonzo.
Intsebenziswano phakathi kwabanikezeli benkonzo kunye nabathengi ifuna ukusetyenziswa kweeklasi kunye / okanye i-interfaces, eyenza i-API.
Onke amacandelo e-OSGi ahlanganiswe ndawonye kwiingxowa, nganye kuzo ibandakanya izixhobo ezifunekayo ukuze zisebenze. Iinyanda zicace gca malunga nokuba zifuna ntoni na kokusingqongileyo kunye nezinto ezikwaziyo ukuzenza.
benefits
- Usetyenziso lwe-OSGi lunokufikelela kwiindawo zokugcina iinyanda zangaphandle.
- Isakhelo sivumela uyilo olujolise kwinkonzo kwinqanaba lemodyuli.
- Ikwenza kube lula ukulawula iinguqulelo kunye nokuxhomekeka kweenyanda zesicelo ukongeza ekulinganiseni kunye nokwenza kube lula ukuhlanganisa amathala eencwadi angaphandle.
- Ii-aplikeshini ziyakwazi ukuziqhelanisa neemfuno ezitshintshayo, ziyaphatheka ngakumbi, kwaye zikhawuleza ukuhlaziywa ngokutsha.
- A Usetyenziso lwewebhu inokubekwa njengeqela leenyanda zeOSGi eziguqulelweyo ezinobomi obuguquguqukayo enkosi kwisakhelo sokudityaniswa kunye nemodeli yenkqubo yeJava EE.
- Endaweni yokufakwa njengethala leencwadi leqela lesithathu njengenxalenye yesicelo, isakhelo sibonelela ngendibano echazayo kunye novavanyo lweyunithi olulungelelanisiweyo lweSakhelo seSpring ngendlela esemgangathweni ebonelelwa njengenxalenye yexesha lokusebenza kweseva yesicelo.
- Kwizicelo zenkampani ezenziwe ngeebhandle ezininzi eziguqulelweyo ezinemijikelo yobomi eguqukayo, isakhelo sibonelela ngokuzihlukanisa.
- Iqulethe i-repository ehlanganisiweyo ye-bundle enokugcina i-bundle ekwabelwana ngayo kunye nenguqulelo esetyenziswa zizicelo ezininzi, ukuthintela isicelo ngasinye ekuthumeleni ikopi eyahlukileyo yelayibrari ekwabelwana ngayo.
Ukuqalisa nge-OSGi Felix entwasahlobo
Ukufumana iZibonelelo
Ngokukhuphela inguqulelo yamva nje ye-Apache Karaf ukusuka kule ndawo, sinokuqala i-adventure yethu ye-OSGi.
Ngokusekelwe kwi-Apache Felix, ukuphunyezwa kwe-Apache yenkcazo ye-OSGi, i-Apache Karaf inikeza iqonga lezicelo ezisekelwe kwi-OSGi.
UKaraf ubonelela ngezinto ezahlukeneyo eziluncedo ngaphezulu kweFeliksi eya kusinceda ukuba siziqhelanise ne-OSGi, njengojongano lomgca womyalelo oya kusenza sikwazi ukunxibelelana neqonga.
Indawo yokuNgena yeeNyanda
Isicelo kufuneka sipakishwe njengenqwaba ye-OSGi phambi kokuba iqhutywe kwindawo ye-OSGi. Ukongezelela, indawo yokungena yesicelo kufuneka icaciswe; ayingomgangatho osezantsi westati woluntu ongenanto (Umtya[] args) umsebenzi.
Ke masiqale ngokwenza "Ihlabathi eliMnandi” isicelo esekwe kwi-OSGi.
Siqala ngokuseka isiseko sokuxhomekeka kwe-OSGi API:
Ixesha lokuqhuba le-OSGi liya kuba nofikelelo kuxhomekeko, ngoko ke i-bundle ayifuni ukuyiqulatha. Ngoko ke, imakishwa njengenikiweyo.
Ngoku makhe iklasi ye-HelloWorld ethe ngqo:
Iiklasi ezisebenza njengendawo yokungena kwimiqulu kufuneka ziphumeze ujongano lwe-OSGi olunikezelweyo lweBundleActivator.
Xa inyanda equlathe olu didi isungulwa, iqonga le-OSGi libiza isiqalo () umsebenzi. Kwelinye icala, kamsinya phambi kokuba inyanda imiswe, umsebenzi stop() ubizwa.
Masingalibali ukuba inyanda nganye inokuba ne-BundleActivator enye kuphela. Zombini iindlela zinokunxibelelana kunye nexesha le-OSGi lokusebenza usebenzisa into ye-BundleContext enikiweyo.
Ukudala i-Bundle
Yenza i-pom.xml ibe yinyani ye-OSGi bundle ngokwenza utshintsho oluyimfuneko.
Kufuneka kuqala sivakalise ngokucacileyo ukuba injongo yethu kukuvelisa inyanda.
Ke, sisebenzisa iplagi ye-maven-bundle-plugin ukupakisha iklasi ye-HelloWorld njengenqwaba ye-OSGi, ngoncedo loluntu lwe-Apache Felix:
Amaxabiso eeheader zeOSGi esinqwenela ukuzifaka kwinqwaba yefayile MANIFEST ichaziwe kwicandelo lemiyalelo.
I-Bundle-Activator eneneni ligama elifaneleke ngokufanelekileyo lesisombululo se-BundleActivator esiza kusetyenziswa ukuqalisa nokumisa inyanda. Iyahambelana nodidi olusandula ukudalwa.
Ngelixa ingeyontloko ye-OSGi, i-Private-Package header iyalela iplagin ukuba yongeze iphakheji kwi-bundle kodwa ingayenzi ukuba ifikeleleke kwezinye iiplagi. Umyalelo wokuhlohla we mvn kufuneka usetyenziswe ukwenza inyanda.
Ukufakela kunye nokusebenzisa i-Bundle
Masiqale iKaraf ngokuqhuba lo myalelo:
apho i-“KARAF HOME” ibhekisa kwisiqulathi seefayili apho uKaraf wamiselwa khona. Singasebenzisa lo myalelo ulandelayo ukufakela inyanda xa kuvela i-karaf console prompt:
Ukusebenzisa indawo yokugcina iMaven yindlela uKaraf axelelwa ngayo ukuba alayishe inyanda.
Ubuyisela inombolo ye-ID yenqwaba, uKaraf uyibhala ngaphandle. Esi sazisi singohluka ngokuxhomekeke ekubeni zingaphi iinyanda ezifakwe ngaphambili. I-bundle ngoku ifakwe ngempumelelo, kwaye umyalelo wokuyisungula umi ngolu hlobo lulandelayo:
Umzuzu usungula iphakheji, "Molo World by Jay" ibonisa. Ngoku sinokumisa kwaye sisuse inyanda sisebenzisa:
Ikhonsoli ibonisa "Ilizwe elihle likaJay."
isiphelo
Abaphuhlisi banokongeza ngokulula ukusebenza okutsha kwisicelo sewebhu esele sikhona ngelixa beyigcina ikhuselekile kwaye ihlukaniswe kwamanye amacandelo eprogram ephambili ngokusebenzisa i-OSGi.
Sifundile malunga ne-OSGi kwesi sithuba, kubandakanya indlela esebenza ngayo, izibonelelo zayo, kunye nenkqubo ethe ngqo. Akunzima ukubandakanya i-OSGi kwisicelo sakho.
Ikhowudi yolonwabo!
Shiya iMpendulo