Направите клијента за веб услуге у Јави

Нови формати преноса информација приморавају нас да променимо начин на који размишљамо о својим апликацијама, сваким даном све више зависимо од интернета, а са њим и од преноса података између удаљених места и различитих технологија.

Интегрисање различитих технологија у прошлости је увек био изазов, али са новим стандардима и снагом коју протокол узима ХТТП сада је много лакше, јер не зависимо од интеграције апликација, већ свака апликација има веб интерфејс за диктирање својих података.

Ин Јава много пута ћемо морати да приступимо информацијама које друге апликације имају или генеришу и стога не можемо занемарити аспект знања о томе како успоставити везе из апликације Јава на мрежу. Али не само према мрежама, морамо знати и како то учинити клијенти веб услуга чак и ако је то на базичан начин јер ћемо се овим побринути да не будемо изоловани у свом окружењу.

Шта су веб услуге?Тхе веб сервиси То су апликације које се налазе на серверима који имају приступ мрежи, могу бити на било ком језику или технологији, међутим сва комуникација са "спољним светом" се управља путем ХТТП и његове методе, ГЕТ, ПОСТ, ПУТ, ДЕЛЕТЕ итд.

ЦоннецтионсЗанимљивост ове врсте апликације је могућност повезивања између потпуно различитих технологија, на пример можемо имати веб услугу написану на Питхон да нам однесе инвентар једне фабрике, а затим у нашој пријави у Јава повезујемо се са њим да бисмо знали количине производа.

Таква лакоћа је оно што је катапултирало њихово брзо усвајање последњих година и учинило стандардним понуду таквих алата када су у питању пословни системи и апликације. Чак се нуде и личне апликације попут блогова или форума веб сервиси како би се олакшало генерисање мобилних апликација и да све остане у истом екосистему.

Пошто смо већ видели нешто о теми веб услуга, хајде да видимо како су оне класификоване.

РЕСТ услуге


Ове врсте услуга омогућавају пренос података путем ХТТП, само користећи методе овог протокола, опћенито комуникација захтијева само слање података путем образаца или ЈСОН, неки чак примају и до КСМЛ.

Тренутно је најпопуларнији јер је изградња клијената за потрошњу врло једноставна и не захтијева много додатних припрема. Једноставно како би наш клијент могао да покрене захтев ДОБИТИ до једног Урл услуге коју можемо почети користити или конзумирати јер је позната и радња прибављања података.

СОАП услуге


Сервис СОАП је много старији од РЕСТ, а до пре неколико година то је био стандардни начин остваривања апликација веб сервиси, његова конструкција захтева посебно придржавање неких протокола и потребно је генерисати датотеку КСМЛ позвао ВСДЛ, где су дефинисане методе којима клијент може приступити.

Због велике сложености припреме купаца за коришћење ове врсте услуга, његова популарност опада, због чега већина нових технологија то не узима у обзир. Међутим, у технолошком свету још увек постоје многе услуге којима се управља у складу са овим модалитетом, па иако се више не користи, потребно је знати како их користити.

Сложеност ове врсте услуга лежи у припреми различитих КСМЛи поштују стандарде према платформама до краја, ова врста разлога је оно што га чини гломазним и стога су програмери прешли на РЕСТ.

Направите програм који се повезује помоћу ТЦП -а


Пошто смо мало детаљније прочитали и прегледали шта представља теоретски део онога што они јесу веб сервиси, започећемо практични део овог водича извођењем врло основне вежбе која ће нам помоћи да разумемо ток ствари.

Остварићемо једноставну везу из наше апликације преко мреже помоћу ТЦП са тимом који је доступан и доступан у њему, за то ћемо морати знати вашу адресу ИП и порт који је доступан и изван ограничења различитих заштитних зидова.

ЗахтевиПре свега, захтеваћемо пакет јава.нет.Соцкет то нам даје низ алата који ће нам олакшати живот успостављањем веза, очигледно је да је пример који приказујемо врло једноставан, али нам даје основу да можемо стварати ствари које зависе од наших захтева.

Направићемо програм који покушава да се повеже са машином преко одређеног порта, међутим овај програм ће такође проценити да ли је дошло до грешке или било које компликације током процеса повезивања, с тим можемо марљиво деловати и не чекати фаталну смрт неуспех Погледајмо код за овај пример:

 импорт јава.нет.Соцкет; импорт јава.нет.УнкновнХостЕкцептион; импорт јава.нет.НоРоутеТоХостЕкцептион; импорт јава.нет.ЦоннецтЕкцептион; јавни разред ЦоннецтионТест {публиц статиц воид маин (Стринг [] аргв) {Стринг сервер = аргв.ленгтх = = 1? аргв [0]: "лоцалхост"; инт порт = 80; три (Соцкет соцк = нев Соцкет (сервер, порт)) {Систем.оут.принтлн ("- Успешна веза са:" + сервер + "-"); } цатцх (УнкновнХостЕкцептион е) {Систем.ерр.принтлн (сервер + "Непознат сервер"); ретурн; } цатцх (НоРоутеТоХостЕкцептион е) {Систем.ерр.принтлн (сервер + "Ван опсега"); ретурн; } цатцх (ЦоннецтЕкцептион е) {Систем.ерр.принтлн (сервер + "Веза одбијена"); ретурн; } цатцх (јава.ио.ИОЕкцептион е) {Систем.ерр.принтлн (сервер + '' + е.гетМессаге ()); ретурн; }}}
Почињемо увозом пакета јава.нет.Соцкет са овим ћемо имати класу Соцкет који ћемо касније користити за успостављање везе, ако му приликом извршавања програма не проследимо аргумент, он ће се повезати директно са нашим рачунаром, у овом случају означавамо порт 80, али може бити и други.

Стављамо стварање инстанце Соцкет у блоку покушај да ухватиш ово нам омогућава да проценимо изузетке ако веза није успешна уместо да нагло прекинемо програм. Коначно, имамо различите блокове хватања, сваки са другачијим изузетком који нам дају идеју шта је пошло по злу.

Да би изузеци радили, видели смо да смо на почетку увозили пакет јава.нет које ћемо користити у овом примеру, сада да видимо како све ово изгледа када покренемо наш програм. Када извршавамо наш програм, да видимо на следећој слици како смо успели да приступимо нашем рутеру Ви-фи и наше локални домаћин:

Клијент за услугу РЕСТ


У овом примеру ћемо створити мали клијент веб услуге који ће се повезати са сервером РЕСТ, за ово нам је потребан само сервер који нам може дати одговор на методу ДОБИТИ оф ХТТП, зато можемо користити фреегеоип.нет који, у зависности од тога шта прођемо кроз УРЛ, може вратити а ЈСОН са подацима са било које веб странице коју желимо.

Погледајмо код који смо направили:

 импорт јава.нет.УРЛ; импорт јава.нет.УРЛЦоннецтион; импорт јава.ио.БуффередРеадер; импорт јава.ио.ИнпутСтреамРеадер; јавна класа ЦлиентРест {публиц статиц воид маин (Стринг [] аргс) тхровс Екцептион {УРЛЦоннецтион цонн = нев УРЛ ("хттп://фреегеоип.нет/јсон/ввв.еспнф1.цом") .опенЦоннецтион (); три (БуффередРеадер ис = нев БуффередРеадер (нев ИнпутСтреамРеадер (цонн.гетИнпутСтреам ()))) {Стринг лине; вхиле ((линија = ис.реадЛине ())! = нулл) {Систем.оут.принтлн (линија); }}}}
Прво што урадимо је увоз класа Урл И УРЛЦоннецтион, они нам омогућавају да прво конвертујемо низ у УРЛ који може да тумачи Јава и друго, успоставите праву везу. Затим увозимо две библиотеке класа које нам омогућавају да манипулишемо подацима које ћемо добити као одговор од веб услуге.

Коначно, повезујемо се са веб услугом фреегеоип.нетУ овом случају прослеђујемо му било коју страницу за коју знамо да постоји, на овај начин можемо добити неки резултат, затим одговор складиштимо у баферу, а затим га читамо и проследимо објекту Стринг, на крају штампамо садржај и добиће нешто попут онога што видимо на следећој слици:

ЕНЛАРГЕ

Наравно, ово је једноставан приступ како бисте могли разумјети како функционирају веб услуге, јер не покрива слање параметара од нашег клијента, али за то се могу документирати на Апацхе ХттпЦлиент, који вам може дати врхунске алате у погледу потрошње ове врсте веб услуга, што остављамо као задатак.

Овим смо завршили овај водич, изградили смо неколико програма који нам помажу да кренемо на пут како бисмо могли савладати веб сервисиОвим већ видимо како ће наш ум засигурно почети замишљати најбољу употребу ових алата у нашим апликацијама и тиме учинити ствари много већим.

Да ли вам се допао и помогао овај водич?Можете наградити аутора притиском на ово дугме да бисте му дали позитиван поен

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave