Већ имате свој софтвер, али вам је и даље потребан ефикаснији метод који ће вашим техничким корисницима омогућити да прошире платформу.
Иако је ОСГи добро познат већини Јава програмера, његова интеграција у ваш производ може изгледати као застрашујући задатак. Недостатак јасноће о прецизном раду ОСГи-а додатно замућује пут напред.
За разлику од свега са чиме би желели да експериментишу, ОСГи се више осећа као покушај да плови широким морем за многе Јава програмере.
Овај чланак ће вас упознати са пролећним водичем за ОСГи Фелик користећи једноставан програм и проћи кроз, његове предности и друге важне детаље.
Дакле, шта је ОСГи?
Креирање и дистрибуција модула и компоненти омогућено је Јава фрамеворком познатим као ОСГи (Опен Сервице Гатеваи Инитиативе).
Наглашава инкапсулацију функција и лабаво повезивање, што нуди неколико предности програмерима, укључујући модуларну функционалност која се лако преноси између изворних кодова и тестирања којима нису потребне бескрајне зависности.
Како ради ОСГи?
Систем динамичких компоненти за Јаву је дефинисан скупом спецификација званим ОСГи. Ове спецификације омогућавају развојни приступ где се апликација гради из више делова, а затим пакује у пакете.
Ове компоненте користе локалне и мрежне услуге за комуникацију. Циљ је да се основни код програма учини што компактнијим. Могућа је велика спрега између овог кода и неколико компоненти.
Грађевински елементи апликације за вишекратну употребу називају се компонентама. Размислите о функцијама као што су колица за куповину за вашу веб локацију за е-трговину или апликацију за обрачун зарада за ваш систем управљања особљем.
Компоненте могу да користе ОСГи да сакрију своје имплементације од других компоненти и само им обезбеде неопходне податке путем услуга.
Ово спречава компоненте да ненамерно мењају податке којима не би требало да имају приступ и управља зависностима.
Све везе између компоненти у ОСГи апликацији су направљене преко услуга у идеалном свету. Јава пакет садржи АПИ који је одређен за услуге.
Сарадња између провајдера услуга и купаца захтева коришћење класа и/или интерфејса који чине АПИ.
Све ОСГи компоненте су упаковане заједно у пакете, од којих свака укључује ресурсе који су им потребни за функционисање. Пакети су сасвим јасни о томе шта им треба од околине и за шта су способни.
Предности
- ОСГи апликације имају приступ спољним репозиторијумима пакета.
- Оквир омогућава дизајн оријентисан на услуге на нивоу модула.
- Омогућава управљање верзијама и зависностима пакета апликација поред стандардизације и олакшавања интеграције библиотека независних произвођача.
- Апликације су прилагодљивије променљивим захтевима, преносиве су и брже се реинжењеринг.
- A веб апликација може се применити као група верзионисаних ОСГи пакета са динамичким животним веком захваљујући интеграцији оквира са моделом програмирања Јава ЕЕ.
- Уместо да се инсталира као библиотека треће стране као део апликације, оквир обезбеђује декларативно састављање и поједностављено тестирање јединица Спринг Фрамеворк-а у стандардизованом облику који је обезбеђен као део времена извршавања сервера апликација.
- За корпоративне апликације састављене од неколико верзионисаних пакета са динамичким животним циклусом, оквир нуди изолацију.
- Садржи интегрисано спремиште пакета које може да складишти заједничке заједничке и верзионисане пакете које користи неколико апликација, спречавајући сваку апликацију да примени засебну копију сваке дељене библиотеке.
Почетак рада са ОСГи Фелик опругом
Добијање ресурса
Преузимањем најновије верзије Апацхе Карафа са овај сајт, можемо започети нашу ОСГи авантуру.
Заснован на Апацхе Фелик-у, Апацхе имплементацији ОСГи спецификације, Апацхе Караф пружа платформу за апликације засноване на ОСГи-у.
Караф пружа разне корисне функције на врху Фелик-а које ће нам помоћи да се упознамо са ОСГи-јем, као што је интерфејс командне линије који ће нам омогућити да комуницирамо са платформом.
Улазна тачка за пакете
Апликација мора бити упакована као ОСГи пакет пре него што се може покренути у ОСГи окружењу. Додатно, мора се специфицирати улазна тачка апликације; то није стандардна јавна статичка воид маин(Стринг[] аргс) функција.
Дакле, хајде да почнемо стварањем „Хелло Ворлд” апликација заснована на ОСГи.
Почињемо успостављањем основне зависности од ОСГи АПИ-ја:
ОСГи рунтиме ће имати приступ зависности, стога пакет не мора да га садржи. Стога је означено као испоручено.
Сада направимо једноставну класу ХеллоВорлд:
Класе које делују као улазне тачке за пакете морају да имплементирају интерфејс БундлеАцтиватор који обезбеђује ОСГи.
Када се пакет који садржи ову класу покрене, платформа ОСГи позива функцију старт(). Са друге стране, непосредно пре него што се пакет заустави, позива се функција стоп().
Не заборавимо да сваки пакет може имати само један БундлеАцтиватор. Оба начина могу да комуницирају са ОСГи рунтиме-ом користећи БундлеЦонтект објекат који је дат.
Креирање пакета
Учините пом.кмл прави ОСГи пакет тако што ћете направити потребне измене.
Прво морамо јасно изразити да је наш циљ да произведемо сноп.
Затим користимо мавен-бундле-плугин да спакујемо класу ХеллоВорлд као ОСГи пакет, захваљујући заједници Апацхе Фелик:
Вредности ОСГи заглавља које желимо да укључимо у датотеку МАНИФЕСТ пакета наведене су у одељку са упутствима.
Бундле-Ацтиватор је заиста исправно квалификовано име БундлеАцтиватор решења које ће се користити за покретање и заустављање пакета. Компатибилан је са управо креираном класом.
Иако није заглавље ОСГи-а, заглавље Привате-Пацкаге налаже додатку да дода пакет у пакет, али га једноставно не учини доступним другим додацима. За креирање пакета треба користити команду мвн инсталл.
Инсталирање и покретање пакета
Почнимо Караф покретањем ове команде:
где се „КАРАФ ХОМЕ“ односи на фасциклу у којој је Караф постављен. Можемо користити следећу команду да инсталирамо пакет када се појави промпт на конзоли Караф:
Коришћење локалног Мавен спремишта је начин на који се Карафу каже да учита пакет.
Враћајући бројчани ИД пакета, Караф га исписује. Овај ИД се може разликовати у зависности од тога колико је пакета претходно инсталирано. Пакет је сада успешно инсталиран, а команда за његово покретање је следећа:
У тренутку када покренете пакет, приказује се „Хелло Ворлд би Јаи“. Сада можемо зауставити и уклонити пакет користећи:
Конзола приказује „Збогом свете од Џеја“.
Zakljucak
Програмери могу лако да додају нову функционалност постојећој веб апликацији док је држе безбедном и изолованом од других компоненти главног програма помоћу ОСГи-а.
Научили смо о ОСГи-у у овом посту, укључујући како функционише, његове предности и једноставан програм. Није тешко уградити ОСГи у своју апликацију.
Срећно кодирање!
Ostavite komentar