Ị nweelarị ngwanrọ gị, mana ị ka chọrọ usoro dị irè karị iji nyere ndị ọrụ aka gị aka ịgbasa ikpo okwu.
Ọ bụ ezie na ọtụtụ ndị mmepe Java maara OSGi nke ọma, itinye ya na ngwaahịa gị nwere ike ịdị ka ọrụ siri ike. Enweghị nkọwa doro anya gbasara ọrụ OSGi ziri ezi na-eme ka ụzọ ahụ na-aga n'ihu.
N'adịghị ka ihe ọ bụla ha ga-achọ ịnwale, OSGi na-enwe mmetụta dị ka ịnwa ịkwọ ụgbọ mmiri na ọtụtụ ndị mmepe Java.
Edemede a ga-ewebata gị na nkuzi mmiri OSGi Felix site na iji mmemme kwụ ọtọ wee gafere, uru ya na nkọwa ndị ọzọ dị mkpa.
Kedu ihe bụ OSGi?
Ịmepụta na ikesa modul na akụrụngwa mere ka o kwe omume site na usoro Java mara dị ka OSGi (Open Service Gateway Initiative).
Ọ na-ekwusi ike n'ịkwado ọrụ yana njikọta rụrụ arụ, nke na-enye ọtụtụ uru nye ndị mmepe, gụnyere arụmọrụ modular nke a na-ebufe ngwa ngwa n'etiti koodu isi iyi na nnwale na-achọghị ịdabere na-adịghị agwụ agwụ.
Kedu ka OSGi si arụ ọrụ?
A kọwapụtara sistemu akụrụngwa dị ike maka Java site na nhazi nkọwa akpọrọ OSGi. Nkọwapụta ndị a na-enyere usoro mmepe aka ebe a na-ewu ngwa site n'ọtụtụ akụkụ wee tinye ya n'ime ngwugwu.
Ihe ndị a na-eji ọrụ mpaghara na netwọkụ emekọrịta ozi. Ime ka koodu isi nke mmemme ahụ bụrụ kọmpat ka enwere ike bụ ebumnuche. Njikọ dị elu n'etiti koodu a na ọtụtụ akụkụ ga-ekwe omume.
A na-akpọ ihe nrụpụta ụlọ nke ngwa a na-emegharị ọzọ. Chee echiche banyere atụmatụ dị ka ụgbọ ala ịzụ ahịa maka ebe nrụọrụ weebụ e-azụmahịa gị ma ọ bụ ngwa ịkwụ ụgwọ maka usoro njikwa ndị ọrụ gị.
Ngwa nwere ike iji OSGi zoo mmejuputa ha site na akụrụngwa ndị ọzọ wee nye ha naanị data dị mkpa site na ọrụ.
Nke a na-egbochi akụrụngwa ịgbanwe data na-amaghị ama na ha ekwesịghị ịnweta ma jikwaa ndabere.
A na-eme njikọ niile dị n'etiti ngwa OSGi site na ọrụ na ụwa zuru oke. Otu ngwungwu Java nwere API nke akọwapụtara maka ọrụ.
Mmekọrịta dị n'etiti ndị na-enye ọrụ na ndị ahịa chọrọ iji klaasị na/ma ọ bụ ihu, nke mebere API.
A na-achịkọta akụrụngwa OSGi niile ọnụ na ùkwù, nke ọ bụla n'ime ha gụnyere akụrụngwa ha chọrọ iji rụọ ọrụ. Ngwunye doro anya nke ọma gbasara ihe ha chọrọ site na gburugburu ebe obibi yana ihe ha nwere ike ime.
uru
- Ngwa OSGi nwere ohere ịnweta ebe nchekwa ngwugwu mpụta.
- Usoro a na-enye ohere imewe dabere na ọrụ na ọkwa modul.
- Ọ na-eme ka o kwe omume ijikwa ụdị na ndabere nke ngwugwu ngwa na mgbakwunye na ịhazi na ime ka ọ dị mfe ijikọ ọba akwụkwọ ndị ọzọ.
- Ngwa na-adabawanye n'ịgbanwe ihe achọrọ, enwere ike ibugharị karịa, yana ngwa ngwa imegharịgharị.
- A ngwa weebụ enwere ike ibuga ya dị ka otu ụdị OSGi mbipute nwere ogologo ndụ dị egwu maka njikọta nke usoro ahụ na ụdị mmemme Java EE.
- Kama etinyere ya dị ka ọba akwụkwọ nke ndị ọzọ dị ka akụkụ nke ngwa ahụ, usoro ahụ na-enye mgbakọ nkwupụta na nyocha nkeji nke usoro mmiri n'ụdị ahaziri ahazi nke enyere dịka akụkụ nke oge ihe nkesa ngwa.
- Maka ngwa ụlọ ọrụ mejupụtara ọtụtụ ngwugwu mbipute nwere usoro ndụ siri ike, usoro ahụ na-enye iche.
- Ọ nwere ebe nchekwa ngwugwu agbakwunyere nke nwere ike ịchekwa ngwugwu a na-ekekọrịta na ụdị nke ọtụtụ ngwa na-eji, na-egbochi ngwa ọ bụla ibuga akwụkwọ dị iche iche nke ọbá akwụkwọ ọ bụla ekekọrịtara.
Malite na OSGi Felix spring
Inweta akụrụngwa
Site na nbudata ụdị Apache Karaf kacha ọhụrụ sitere na saịtị a, anyị nwere ike ịmalite njem OSGi anyị.
Dabere na Apache Felix, mmejuputa Apache nke nkọwa OSGi, Apache Karaf na-enye ikpo okwu maka ngwa dabere na OSGi.
Karaf na-enye atụmatụ dị iche iche na-enyere aka n'elu Felix nke ga-enyere anyị aka ịmara onwe anyị na OSGi, dị ka akara ahịrị iwu ga-enyere anyị aka ịmekọrịta n'elu ikpo okwu.
Ebe ntinye maka ngwugwu
A ga-achịkọta ngwa dị ka ngwugwu OSGi tupu enwee ike ịme ya na gburugburu OSGi. Ọzọkwa, a ga-akọwarịrị ebe ntinye ngwa; ọ bụghị ọkọlọtọ ọha static void main(string[] args) ọrụ.
Ya mere, ka anyị malite site na ịmepụta "Ndewo Ụwa” ngwa dabere na OSGi.
Anyị na-amalite site n'ịkwado ndabere OSGi API:
Oge ojiri gaa OSGi ga-enwe ohere maka ịdabere, yabụ ngwugwu ahụ achọghị ịnwe ya. Ya mere, a na-akara ya akara ka ewepụtara ya.
Ugbu a, ka anyị mepụta klas HelloWorld kwụ ọtọ:
Klas ndị na-eme dị ka ebe ntinye maka ùkwù ga-emerịrị interface BundleActivator nyere OSGi.
Mgbe ewepụtara ngwugwu nwere klaasị a, ikpo okwu OSGi na-akpọ ọrụ mmalite(). N'akụkụ nke ọzọ, obere oge tupu akwụsị ùkwù, a na-akpọ nkwụsị ọrụ.
Ka anyị ghara ichefu na ngwugwu ọ bụla nwere ike ịnwe naanị otu BundleActivator. Ụzọ abụọ a nwere ike ịkọrọ oge ojiri oge OSGi site na iji ihe BundleContext enyere.
Ịmepụta ngwugwu
Mee pom.xml ka ọ bụrụ ezigbo ngwugwu OSGi site na ime mgbanwe ndị dị mkpa.
Anyị ga-ebu ụzọ kwupụta nke ọma na ebumnuche anyị bụ imepụta ngwugwu.
Mgbe ahụ, anyị na-eji maven-bundle-plugin na-achịkọta klas HelloWorld dị ka ngwugwu OSGi, site n'ikike nke obodo Apache Felix:
Ụkpụrụ OSGi nkụnye eji isi mee nke anyị chọrọ ịgụnye na faịlụ MANIFEST ngwugwu bụ akọwapụtara na ngalaba ntuziaka.
Bundle-Activator bụ n'ezie aha tozuru oke nke ngwọta BundleActivator nke a ga-arụ ọrụ ịmalite ma kwụsị ngwugwu ahụ. Ọ dabara na klaasị emepụtara naanị.
Ọ bụ ezie na ọ bụghị nkụnye eji isi mee OSGi, onye isi ngwugwu nkeonwe na-agwa ngwa mgbakwunye ka ịgbakwunye ngwugwu na ngwugwu mana ọ bụghị naanị mee ka ọ nweta ngwa mgbakwunye ndị ọzọ. Ekwesịrị iji iwu wụnye mvn iji mepụta ngwugwu.
Ịwụnye ma na-agba ọsọ ngwugwu
Ka anyị malite Karaf site n'ịgba iwu a:
ebe "KARAF HOME" na-ezo aka na nchekwa ebe edobere Karaf. Anyị nwere ike iji iwu na-esonụ iji wụnye ngwugwu mgbe ihe njikwa Karaf pụtara:
Iji ebe nchekwa Maven mpaghara bụ ka esi agwa Karaf ka ọ buru ngwugwu ahụ.
Na-eweghachi NJ ọnụọgụgụ ngwugwu ahụ, Karaf depụtara ya. NJ a nwere ike ịdị iche dabere n'ọtụtụ ngwugwu etinyere na mbụ. Awụnyela ngwugwu ahụ nke ọma, ma iwu ịmalite ya bụ nke a:
Oge ị malitere ngwugwu ahụ, "Hello World by Jay" na-egosiputa. Ugbu a, anyị nwere ike ịkwụsị ma wepụ ngwugwu ahụ site na iji:
Ihe njikwa ahụ gosipụtara "Goodbye World site Jay."
mmechi
Ndị nrụpụta nwere ike itinye ọrụ ọhụrụ na ngwa webụ dị adị n'ụzọ dị mfe ma na-echekwa ya ma kewapụ ya na akụkụ ndị ọzọ nke mmemme bụ isi site na iji OSGi.
Anyị amụtala maka OSGi na post a, gụnyere ka o si arụ ọrụ, uru ya na mmemme kwụ ọtọ. Ọ naghị esiri ike itinye OSGi n'ime ngwa nke gị.
Obi ụtọ na nzuzo!
Nkume a-aza