U se u ntse u e-na le software ea hau, empa u ntse u hloka mokhoa o sebetsang haholoanyane oa ho nolofalletsa basebelisi ba hau ba tekheniki ho holisa sethala.
Leha OSGi e tsebahala haholo ho baetsi ba Java ba bangata, ho e kopanya sehlahisoa sa hau ho ka utloahala e le mosebetsi o boima. Ho hloka ho hlaka mabapi le ts'ebetso e nepahetseng ea OSGi ho boetse ho ferekanya tsela e eang pele.
Ho fapana le eng kapa eng eo ba ka ratang ho e leka, OSGi e ikutloa joalo ka ho leka ho sesa leoatle le pharaletseng ho ea ho baetsi ba Java ba bangata.
Sengoliloeng sena se tla u tsebisa thutong ea selemo ea OSGi Felix e sebelisang lenaneo le otlolohileng le ho feta, melemo ea eona, le lintlha tse ling tsa bohlokoa.
Joale OSGi ke eng?
Ho theha le ho aba li-module le likarolo ho khoneha ka moralo oa Java o tsejoang e le OSGi (Open Service Gateway Initiative).
E totobatsa ts'ebetso ea encapsulation le loose coupling, e fanang ka melemo e mengata ho bahlahisi, ho kenyelletsa le ts'ebetso ea modular e fetisetsoang habonolo lipakeng tsa likhoutu tsa mohloli le liteko tse sa hlokeng ho its'etleha ho sa feleng.
OSGi e sebetsa joang?
Sistimi e matla ea likarolo tsa Java e hlalosoa ke sete ea litlhaloso tse bitsoang OSGi. Litlhaloso tsena li thusa mokhoa oa nts'etsopele moo kopo e hahoang ho tsoa likarolong tse 'maloa ebe e kenngoa ka bongata.
Litšebeletso tsa lehae le tsa marang-rang li sebelisoa ke likarolo tsena ho buisana. Ho etsa hore khoutu ea mantlha ea lenaneo e kopane kamoo ho ka khonehang ke sepheo. Ho kopanya ho phahameng pakeng tsa khoutu ena le likarolo tse 'maloa ho ka khoneha.
Lisebelisoa tsa moaho tse ka sebelisoang hape li bitsoa likarolo. Nahana ka likarolo tse kang kariki ea mabenkele bakeng sa sebaka sa hau sa marang-rang sa e-commerce kapa kopo ea moputso bakeng sa sistimi ea taolo ea basebetsi.
Likarolo li ka sebelisa OSGi ho pata ts'ebetsong ea tsona ho tsoa ho likarolo tse ling mme li fana ka lintlha tse hlokahalang feela ka lits'ebeletso.
Sena se thibela likarolo hore li se ke tsa fetola boitsebiso boo ba sa lokelang ho bo fumana le ho laola lintho tse itšetlehileng ka tsona.
Likamano tsohle lipakeng tsa likarolo tsa ts'ebeliso ea OSGi li etsoa ka lits'ebeletso lefatšeng le letle. Sephutheloana sa Java se na le API e boletsoeng bakeng sa lits'ebeletso.
Tšebelisano pakeng tsa bafani ba litšebeletso le bareki e hloka tšebeliso ea lihlopha le / kapa li-interfaces, tse etsang API.
Likarolo tsohle tsa OSGi li phuthetsoe hammoho ka bongata, e 'ngoe le e' ngoe e kenyelletsa lisebelisoa tseo li li hlokang ho sebetsa. Mangata a hlakile ka seo a se hlokang tikolohong le seo a khonang ho se etsa.
melemo e
- Lisebelisoa tsa OSGi li na le phihlello ea polokelo ea liphutheloana tsa kantle.
- Moralo o lumella moralo o shebaneng le lits'ebeletso boemong ba mojule.
- E etsa hore ho khonehe ho laola liphetolelo le tse itšetlehileng ka liphutheloana tsa ts'ebeliso ho phaella tabeng ea ho tsitsa le ho etsa hore ho be bonolo ho kopanya lilaebrari tsa mekhatlo ea boraro.
- Lisebelisoa li khona ho ikamahanya le litlhoko tse fetohang, li nkeha habonolo, 'me li potlakile ho ntlafatsoa.
- A ts'ebeliso ea webo e ka sebelisoa e le sehlopha sa liphutheloana tsa OSGi tse nang le bophelo bo botle ka lebaka la ho kopanngoa ha moralo le mofuta oa lenaneo la Java EE.
- Sebakeng sa ho kengoa joalo ka laebrari ea mokha oa boraro e le karolo ea kopo, moralo o fana ka kopano e phatlalatsang le tlhahlobo e ntlafalitsoeng ea yuniti ea Moralo oa Selemo ka mokhoa o tloaelehileng o fanoeng e le karolo ea nako ea ts'ebetso ea seva ea kopo.
- Bakeng sa lits'ebetso tsa koporasi tse entsoeng ka mekotla e mengata e fetoletsoeng e nang le li-lifecycle tse matla, moralo o fana ka ho itšehla thajana.
- E na le pokello e kopaneng ea polokelo e ka bolokang mekotla e arolelanoang e sebelisoang ke lits'ebetso tse 'maloa, ho thibela ts'ebeliso e' ngoe le e 'ngoe ho tsamaisa kopi e arohaneng ea laeborari e' ngoe le e 'ngoe e arolelanoang.
Ho qala ka OSGi Felix selemo
Ho Fumana Lisebelisoa
Ka ho khoasolla mofuta oa morao-rao oa Apache Karaf ho tsoa ho sebaka sena, re ka qala papali ea rona ea OSGi.
E ipapisitse le Apache Felix, ts'ebetsong ea Apache ea litlhaloso tsa OSGi, Apache Karaf e fana ka sethala sa lits'ebetso tse thehiloeng ho OSGi.
Karaf e fana ka likarolo tse fapaneng tse thusang ka holim'a Felix tse tla re thusa ho tloaelana le OSGi, joalo ka sebopeho sa mola oa taelo se tla re nolofalletsa ho buisana le sethala.
Sebaka sa ho Kena Bakeng sa Mengata
Kopo e tlameha ho pakoa joalo ka bongata ba OSGi pele e ka tsamaisoa tikolohong ea OSGi. Ho phaella moo, ntlha ea ho kena ha kopo e tlameha ho boleloa; ha se tšebetso e tloaelehileng ea public static void main(String[] args).
Kahoo ha re qaleng ka ho theha "Lefatše la Lumela” sesebelisoa se thehiloeng ho OSGi.
Re qala ka ho theha motheo oa motheo oa OSGi API:
Nako ea ho sebetsa ea OSGi e tla ba le phihlello ea ho its'etleha, ka hona sephutheloana ha se hloke ho ba le eona. Ka hona, e tšoailoe e le e fanoeng.
Joale ha re theheng sehlopha sa HelloWorld se otlolohileng:
Litlelase tse sebetsang e le lintlha tsa ho kena bakeng sa mekotla li tlameha ho kenya tšebetsong sebopeho sa OSGi-e fanoeng BundleActivator.
Ha sephutheloana se nang le sehlopha sena se qalisoa, sethala sa OSGi se bitsa mosebetsi oa ho qala (). Ka lehlakoreng le leng, nakoana pele sephutheloana se emisoa, mosebetsi stop() o bitsoa.
Ha re lebale hore sephutheloana se seng le se seng se ka ba le BundleActivator e le 'ngoe feela. Litsela tsena ka bobeli li ka buisana le nako ea ho sebetsa ea OSGi u sebelisa ntho ea BundleContext e fanoeng.
Ho theha Sephutheloana
Etsa hore pom.xml e be ngata ea 'nete ea OSGi ka ho etsa liphetoho tse hlokahalang.
Re tlameha ho qala ka ho hlalosa ka ho hlaka hore sepheo sa rona ke ho hlahisa bongata.
Ebe, re sebelisa maven-bundle-plugin ho paka sehlopha sa HelloWorld joalo ka sephutheloana sa OSGi, ka tlhompho ea sechaba sa Apache Felix:
Litekanyetso tsa lihlooho tsa OSGi tseo re lakatsang ho li kenyelletsa faeleng ea MANIFEST ea bongata li boletsoe karolong ea litaelo.
Bundle-Activator ehlile ke lebitso le tšoanelehang hantle la tharollo ea BundleActivator e tla sebelisoa ho qala le ho emisa bongata. E lumellana le sehlopha se sa tsoa bōptjoa.
Le ha e se hlooho ea OSGi, hlooho ea Private-Package e laela plugin hore e kenye sephutheloana empa e se etse hore e fumanehe ho li-plugins tse ling. Taelo ea ho kenya mvn e lokela ho sebelisoa ho theha bongata.
Ho kenya le ho tsamaisa Bundle
Ha re qaleng Karaf ka ho tsamaisa taelo ena:
moo "KARAF HOME" e bolelang foldara moo Karaf e neng e hlophisoa teng. Re ka sebelisa taelo e latelang ho kenya sephutheloana ha ho hlaha molaetsa oa Karaf console:
Ho sebelisa polokelo ea lehae ea Maven ke mokhoa oo Karaf a bolelloang hore a laole bongata.
Ha a khutlisa ID ea linomoro tsa bongata, Karaf oa e ngola. ID ena e ka fapana ho latela hore na ho kentsoe liphutheloana tse kae pele. Hona joale bundle e kentsoe ka katleho, 'me taelo ea ho e qala e tjena:
Ha u qala sephutheloana, "Hello World by Jay" e bonts'a. Hona joale re ka emisa le ho tlosa bongata re sebelisa:
Khokahano e bonts'a "Goodbye World ka Jay."
fihlela qeto e
Bahlahisi ba ka eketsa ts'ebetso e ncha habonolo ts'ebelisong e teng ea webo ha ba ntse ba e boloka e sireletsehile ebile e le thoko ho likarolo tse ling tsa lenaneo la mantlha ka ho sebelisa OSGi.
Re ithutile ka OSGi posong ena, ho kenyelletsa hore na e sebetsa joang, melemo ea eona, le lenaneo le otlolohileng. Ha ho thata ho kenyelletsa OSGi ts'ebelisong ea hau.
Thabela khouto!
Leave a Reply