Tha am bathar-bog agad na àite mu thràth, ach tha feum agad fhathast air dòigh nas èifeachdaiche gus leigeil le do luchd-cleachdaidh teignigeach an àrd-ùrlar a leudachadh.
Eadhon ged a tha OSGi ainmeil don mhòr-chuid de luchd-leasachaidh Java, is dòcha gur e obair eagallach a th’ ann a bhith ga fhilleadh a-steach don toradh agad. Tha an dìth soilleireachd mu obair mhionaideach OSGi a’ cur tuilleadh dragh air an rathad air adhart.
Eu-coltach ri rud sam bith a bu toil leotha feuchainn, tha OSGi a’ faireachdainn nas coltaiche ri bhith a’ feuchainn ris a’ mhuir fharsaing a sheòladh gu mòran de luchd-leasachaidh Java.
Bheir an artaigil seo a-steach thu gu oideachadh earraich OSGi Felix a’ cleachdadh prògram neo-fhillte agus a dhol troimhe, na buannachdan aige, agus mion-fhiosrachadh cudromach eile.
Mar sin dè a th’ ann an OSGi?
Tha cruthachadh agus sgaoileadh mhodalan agus cho-phàirtean air a dhèanamh comasach leis an fhrèam Java ris an canar OSGi (Iomairt Gateway Seirbheis Fosgailte).
Tha e a’ cur cuideam air cuairteachadh gnìomh agus ceangal sgaoilte, a tha a’ tabhann grunn bhuannachdan do luchd-leasachaidh, a’ toirt a-steach gnìomhachd modular a tha furasta a ghluasad eadar còdan stòr agus deuchainn nach eil feumach air eisimeileachd gun chrìoch.
Ciamar a tha OSGi ag obair?
Tha siostam com-pàirt fiùghantach airson Java air a mhìneachadh le seata de shònrachaidhean ris an canar OSGi. Tha na specs sin a’ comasachadh dòigh-obrach leasachaidh far a bheil tagradh air a thogail bho ghrunn phàirtean agus an uairsin air a phacaigeadh ann am pasganan.
Bidh na co-phàirtean sin a’ cleachdadh seirbheisean ionadail agus lìonra airson conaltradh. Is e an amas a bhith a’ dèanamh prìomh chòd a’ phrògraim cho teann sa ghabhas. Tha e comasach ceangal àrd a dhèanamh eadar a 'chòd seo agus grunn phàirtean.
Canar co-phàirtean ri eileamaidean togail ath-chleachdadh an tagraidh. Smaoinich air feartan mar cairt bhùthan airson an làrach-lìn e-malairt agad no tagradh pàighidh airson an t-siostam riaghlaidh luchd-obrach agad.
Faodaidh co-phàirtean OSGi a chleachdadh gus na gnìomhan aca fhalach bho phàirtean eile agus dìreach an dàta riatanach a thoirt dhaibh tro sheirbheisean.
Tha seo a’ cur casg air co-phàirtean bho bhith ag atharrachadh dàta gun fhiosta air nach bu chòir cothrom a bhith aca air agus a’ riaghladh eisimeileachd.
Tha a h-uile ceangal eadar pàirtean ann an tagradh OSGi air a dhèanamh tro sheirbheisean ann an saoghal air leth. Ann am pasgan Java tha an API a tha air a shònrachadh airson seirbheisean.
Feumaidh an co-obrachadh eadar solaraichean seirbheis agus luchd-ceannach cleachdadh chlasaichean agus / no eadar-aghaidh, a tha a’ dèanamh suas an API.
Tha na pàirtean OSGi uile air am pacadh còmhla ann am pasganan, agus tha gach fear dhiubh a’ toirt a-steach na goireasan a dh’ fheumas iad airson a bhith ag obair. Tha pasganan gu math soilleir mu na tha a dhìth orra bhon àrainneachd agus dè as urrainn dhaibh.
buannachdan
- Tha cothrom aig tagraidhean OSGi air stòran pasgan taobh a-muigh.
- Tha am frèam a’ ceadachadh dealbhadh stèidhichte air seirbheis aig ìre a’ mhodal.
- Tha e ga dhèanamh comasach na dreachan agus eisimeileachd nam pasganan tagraidh a riaghladh a bharrachd air a bhith àbhaisteach agus ga dhèanamh nas fhasa leabharlannan treas-phàrtaidh fhilleadh a-steach.
- Tha tagraidhean nas freagarraiche a rèir iarrtasan a tha ag atharrachadh, nas so-ghiùlain, agus nas luaithe airson ath-eagrachadh.
- A -lìn iarrtais faodar a chleachdadh mar bhuidheann de phasganan OSGi dreach le beatha fiùghantach mar thoradh air amalachadh an fhrèam le modal prògramadh Java EE.
- An àite a bhith air a chuir a-steach mar leabharlann treas-phàrtaidh mar phàirt den tagradh, tha am frèam a’ toirt seachad co-chruinneachadh dearbhach agus deuchainn aonad sgiobalta air Frèam an Earraich ann an cruth àbhaisteach a tha air a thoirt seachad mar phàirt de ùine ruith frithealaiche an tagraidh.
- Airson tagraidhean corporra air an dèanamh suas de ghrunn phasganan dreach le cuairtean-beatha fiùghantach, tha am frèam a’ tabhann aonaranachd.
- Tha stòr pasgan amalaichte ann a dh’ fhaodas pasganan cumanta agus dreachan co-roinnte a chleachdadh le grunn thagraidhean, a’ cur casg air gach tagradh leth-bhreac fa leth de gach leabharlann co-roinnte a chleachdadh.
A’ tòiseachadh le earrach OSGi Felix
A' faighinn nan Goireasan
Le bhith a’ luchdachadh sìos an dreach as ùire de Apache Karaf bho an làrach seo, faodaidh sinn tòiseachadh air ar cuairt-dànachd OSGi.
Stèidhichte air Apache Felix, buileachadh Apache de shònrachadh OSGi, tha Apache Karaf a’ toirt seachad àrd-ùrlar airson tagraidhean stèidhichte air OSGi.
Tha Karaf a’ toirt seachad grunn fheartan cuideachail a bharrachd air Felix a chuidicheas sinn le bhith eòlach air OSGi, leithid eadar-aghaidh loidhne-àithne a leigeas leinn conaltradh leis an àrd-ùrlar.
Àite inntrigidh airson pasganan
Feumaidh tagradh a bhith air a phacaigeadh mar phasgan OSGi mus gabh a ruith ann an àrainneachd OSGi. A bharrachd air an sin, feumar àite inntrigidh an tagraidh a shònrachadh; chan e seo am prìomh ghnìomh falamh statach poblach àbhaisteach (String [] args).
Mar sin tòisichidh sinn le bhith a’ cruthachadh “Hàlo a Shaoghail” tagradh stèidhichte air OSGi.
Bidh sinn a’ tòiseachadh le bhith a’ stèidheachadh eisimeileachd bunaiteach OSGi API:
Bidh cothrom aig àm ruith an OSGi air an eisimeileachd, mar sin chan fheum am pasgan a chumail. Mar sin, tha e air a chomharrachadh mar a chaidh a thoirt seachad.
A-nis cruthaichidh sinn an clas HelloWorld dìreach:
Feumaidh clasaichean a bhios mar phuingean inntrigidh airson pasganan an eadar-aghaidh BundleActivator air a sholarachadh le OSGi a chuir an gnìomh.
Nuair a thèid am pasgan anns a bheil an clas seo a chuir air bhog, bidh an àrd-ùrlar OSGi a’ gairm an gnìomh tòiseachaidh (). Air an taobh eile, goirid mus tèid am pasgan a stad, canar stad-gnìomh ().
Na dìochuimhnich nach urrainn ach aon BundleActivator a bhith aig gach pasgan. Faodaidh an dà dhòigh conaltradh le ùine ruith OSGi a’ cleachdadh an nì BundleContext a tha air a thoirt seachad.
A 'cruthachadh bundle
Dèan am pom.xml na fhìor phasgan OSGi le bhith a’ dèanamh nan atharrachaidhean riatanach.
Feumaidh sinn an toiseach innse gu soilleir gur e ar n-amas pasgan a dhèanamh.
An uairsin, bidh sinn a’ cleachdadh am maven-bundle-plugin gus an clas HelloWorld a phacadh mar phasgan OSGi, le cead bho choimhearsnachd Apache Felix:
Tha luachan cinn-cinn OSGi a tha sinn airson a thoirt a-steach ann am faidhle MANIFEST a’ phasgan air an sònrachadh anns an roinn stiùiridh.
Is e Bundle-Activator gu dearbh an t-ainm le teisteanas iomchaidh den fhuasgladh BundleActivator a thèid a chleachdadh gus am pasgan a thòiseachadh agus stad. Tha e co-chòrdail ris a 'chlas a tha dìreach air a chruthachadh.
Ged nach e bann-cinn OSGi a th’ ann, tha bann-cinn Pasgan Prìobhaideach ag iarraidh air a’ plugan am pasgan a chuir ris a’ phasgan ach gun a bhith ga dhèanamh ruigsinneach dha plugins eile. Bu chòir an àithne mvn install a chleachdadh gus am pasgan a chruthachadh.
A 'stàladh agus a' ruith a 'bhundle
Tòisichidh sinn Karaf le bhith a’ ruith an àithne seo:
far a bheil “KARAF HOME” a’ toirt iomradh air a’ phasgan far an deach Karaf a stèidheachadh. Is urrainn dhuinn an àithne a leanas a chleachdadh gus am pasgan a chuir a-steach nuair a nochdas consoil Karaf gu sgiobalta:
Is e cleachdadh stòr ionadail Maven mar a thathar ag iarraidh air Karaf am pasgan a luchdachadh.
A’ tilleadh ID àireamhach a’ phasgan, bidh Karaf ga sgrìobhadh a-mach. Dh’ fhaodadh an ID seo a bhith eadar-dhealaichte a rèir cia mheud pasgan a chaidh a chuir a-steach roimhe seo. Tha am pasgan a-nis air a chuir a-steach gu soirbheachail, agus tha an àithne airson a chuir air bhog mar a leanas:
An àm a chuireas tu am pasgan air bhog, tha “Hello World by Jay” a’ taisbeanadh. Faodaidh sinn a-nis stad agus toirt air falbh am pasgan le bhith a’ cleachdadh:
Tha an consol a’ taisbeanadh “Goodbye World by Jay.”
Co-dhùnadh
Is urrainn do luchd-leasachaidh comas-gnìomh ùr a chur ri aplacaid lìn a th’ ann mar-thà fhad ‘s a chumas iad e tèarainte agus iomallach bho phàirtean eile den phrìomh phrògram le bhith a’ cleachdadh OSGi.
Tha sinn air ionnsachadh mu OSGi san dreuchd seo, a’ gabhail a-steach mar a tha e ag obair, na buannachdan a th’ ann, agus prògram neo-fhillte. Chan eil e duilich OSGi a thoirt a-steach don tagradh agad fhèin.
Còdadh sona!
Leave a Reply