Izveidojiet tīmekļa pakalpojumu klientu Java

Jauni informācijas pārsūtīšanas formāti liek mums mainīt veidu, kā mēs domājam par savām lietojumprogrammām, katru dienu mēs esam vairāk atkarīgi no interneta un līdz ar to arī datu pārraides starp attālām vietām un dažādām tehnoloģijām.

Iepriekš dažādu tehnoloģiju integrēšana vienmēr bija izaicinājums, taču ar jaunajiem standartiem un protokola spēku HTTP tagad tas ir daudz vieglāk, jo mēs neesam atkarīgi no lietojumprogrammu integrēšanas, bet katrai lietojumprogrammai ir tīmekļa saskarne, lai diktētu savus datus.

In Java daudzas reizes mums būs jāpiekļūst citai lietojumprogrammai piederošai vai ģenerētai informācijai, un tāpēc mēs nevaram atstāt novārtā zināšanu aspektu par to, kā izveidot savienojumus no lietojumprogrammas Java tīklam. Bet ne tikai tīkliem, mums arī jāzina, kā rīkoties tīmekļa pakalpojumu klientiem pat ja tas ir vienkāršā veidā, jo ar to mēs nodrošināsim, ka mūsu vidē nebūsim izolēti.

Kas ir tīmekļa pakalpojumi? Tīmekļa pakalpojumi Tās ir lietojumprogrammas, kas atrodamas serveros, kuriem ir piekļuve tīklam, tās var būt jebkurā valodā vai tehnoloģijā, tomēr visa saziņa ar “ārpasauli” tiek pārvaldīta, izmantojot HTTP un tās metodes, GET, POST, PUT, DELETE utt.

SavienojumiInteresanta lieta šāda veida lietojumprogrammās ir iespēja izveidot savienojumus starp pilnīgi atšķirīgām tehnoloģijām, piemēram, mums var būt tīmekļa pakalpojums, kas rakstīts Python lai mēs ņemtu mums rūpnīcas inventāru un pēc tam mūsu pieteikumā Java mēs izveidojam savienojumu ar to, lai uzzinātu produkta daudzumu.

Šāds vieglums ir izraisījis to straujo pieņemšanu pēdējos gados, un ir kļuvis par standarta piedāvāt šādus rīkus attiecībā uz biznesa sistēmām un lietojumprogrammām. Tiek piedāvātas pat tādas personiskas lietojumprogrammas kā emuāri vai forumi Tīmekļa pakalpojumi lai atvieglotu mobilo lietotņu ģenerēšanu un lai viss paliktu tajā pašā ekosistēmā.

Nedaudz jau redzējuši par tīmekļa pakalpojumu tēmu, redzēsim, kā tie tiek klasificēti.

REST pakalpojumi


Šāda veida pakalpojumi ļauj pārsūtīt datus, izmantojot HTTP, tikai izmantojot šī protokola metodes, parasti saziņai ir nepieciešama tikai datu sūtīšana, izmantojot veidlapas vai JSON, daži pat saņem līdz XML.

Tas ir šī brīža populārākais, jo klientu izveide patēriņam ir ļoti vienkārša un neprasa daudz papildu sagatavošanās darbu. Vienkārši tāpēc, lai mūsu klients varētu iesniegt pieprasījumu GŪT vienam URL no pakalpojuma mēs varam sākt to lietot vai patērēt, jo ir zināma arī datu iegūšanas darbība.

SOAP pakalpojumi


Serviss ZIEPES ir daudz vecāks par ATPŪTA, un vēl pirms dažiem gadiem tas bija standarta veids, kā realizēt lietojumprogrammas Tīmekļa pakalpojumi, tā konstrukcijai ir īpaši jāievēro daži protokoli, un ir jāģenerē fails XML sauca WSDL, kur tiek definētas metodes, kurām klients var piekļūt.

Tā kā klienti ir ļoti sarežģīti sagatavot šāda veida pakalpojumus, to popularitāte ir samazinājusies, tāpēc lielākā daļa jauno tehnoloģiju to neņem vērā. Tomēr tehnoloģiskajā pasaulē joprojām ir daudz pakalpojumu, kas tiek pārvaldīti saskaņā ar šo modalitāti, tāpēc, lai gan tas vairs netiek izmantots, tomēr ir jāzina, kā to izmantot.

Šāda veida pakalpojumu sarežģītība ir dažādu pakalpojumu sagatavošana XML, un ievērojiet standartus atbilstoši platformām atbilstoši burtam, šāda veida iemesli padara to apgrūtinošu, un tāpēc izstrādātāji migrē uz ATPŪTA.

Izveidojiet programmu, kas savieno, izmantojot TCP


Tā kā mēs esam nedaudz rūpīgāk izlasījuši un pārskatījuši, kas atspoguļo to teorētisko daļu Tīmekļa pakalpojumi, mēs sāksim šīs apmācības praktisko daļu, veicot ļoti vienkāršu uzdevumu, kas palīdzēs mums izprast lietu plūsmu.

Mēs izveidosim vienkāršu savienojumu no mūsu lietojumprogrammas, izmantojot tīklu, izmantojot TCP ar komandu, kas tajā ir pieejama un pieejama, tāpēc mums būs jāzina jūsu adrese IP un osta, kas ir pieejama un neatbilst dažādu ugunsmūru ierobežojumiem.

PrasībasPirmkārt, mums būs nepieciešama pakete java.net.Socket Tas dod mums virkni rīku, kas atvieglos mūsu dzīvi, izveidojot savienojumus, protams, mūsu parādītais piemērs ir ļoti vienkāršs, taču tas dod mums pamatu, lai mēs varētu radīt lietas, kas nav atkarīgas no mūsu prasībām.

Mēs izveidosim programmu, kas mēģinās izveidot savienojumu ar mašīnu, izmantojot noteiktu portu, taču šī programma arī novērtēs, vai savienojuma procesā nav radusies kļūda vai kādas komplikācijas, ar to mēs varam rīkoties rūpīgi un negaidīt liktenīgu neveiksme Apskatīsim šī piemēra kodu:

 importēt java.net.Socket; importēt java.net.UnknownHostException; importēt java.net.NoRouteToHostException; importēt java.net.ConnectException; public class ConnectionTest {public static void main (String [] argv) {String server = argv.length = = 1? argv [0]: "vietējais saimnieks"; int osta = 80; try (Socket sock = new Socket (server, port)) {System.out.println ("- Veiksmīgs savienojums ar:" + server + "-"); } catch (UnknownHostException e) {System.err.println (serveris + "Nezināms serveris"); atgriešanās; } catch (NoRouteToHostException e) {System.err.println (serveris + "Ārpus darbības jomas"); atgriešanās; } catch (ConnectException e) {System.err.println (serveris + "Savienojums atteikts"); atgriešanās; } catch (java.io.IOException e) {System.err.println (serveris + '' + e.getMessage ()); atgriešanās; }}}
Mēs sākam ar iepakojuma importēšanu java.net.Socket ar to mums būs klase Kontaktligzda kuru mēs izmantosim vēlāk, lai izveidotu savienojumu, ja, izpildot programmu, nenodosim tam argumentu, tas izveidos savienojumu tieši ar mūsu datoru, šajā gadījumā mēs norādām 80. portu, bet tas var būt cits.

Mēs ievietojam instances izveidi Kontaktligzda blokā mēģināt - noķert tas ļauj mums novērtēt izņēmumus, ja savienojums nav veiksmīgs, nevis pēkšņi pārtraukt programmu. Visbeidzot, mums ir dažādi nozvejas bloki ar atšķirīgu izņēmumu, lai sniegtu mums priekšstatu par to, kas notika nepareizi.

Lai izņēmumi darbotos, mēs redzējām, ka sākumā mēs importējām iepakojumu java.net ko mēs izmantosim šajā piemērā, tagad redzēsim, kā tas viss izskatās, palaižot mūsu programmu. Izpildot mūsu programmu, redzēsim nākamajā attēlā, kā mums izdevās veiksmīgi piekļūt mūsu maršrutētājam bezvadu internets un mūsu vietējais saimnieks:

REST pakalpojuma klients


Šajā piemērā mēs izveidosim nelielu tīmekļa pakalpojumu klientu, kas izveidos savienojumu ar serveri ATPŪTA, šim nolūkam mums ir nepieciešams tikai serveris, kas var sniegt atbildi uz šo metodi GŪT no HTTP, tāpēc mēs varam izmantot freegeoip.net, kas atkarībā no tā, ko izlaižam caur URL, var atgriezt a JSON ar datiem no jebkuras vēlamās tīmekļa lapas.

Apskatīsim mūsu izveidoto kodu:

 importēt java.net.URL; importēt java.net.URLConnection; importēt java.io.BufferedReader; importēt java.io.InputStreamReader; publiskās klases ClientRest {public static void main (String [] args) met Izņēmums {URLConnection conn = jauns URL ("http://freegeoip.net/json/www.espnf1.com") .openConnection (); mēģināt (BufferedReader is = new BufferedReader (new InputStreamReader (conn.getInputStream ())))) {String line; while ((line = is.readLine ())! = null) {System.out.println (line); }}}}
Pirmā lieta, ko mēs darām, ir importēt klases URL Y URL savienojums, tie ļauj mums vispirms pārveidot virkni par URL, kuru var interpretēt Java un, otrkārt, izveidojiet pareizo savienojumu. Tad mēs importējam divas klases bibliotēkas, kas ļauj mums manipulēt ar datiem, kurus mēs saņemsim kā atbildi no tīmekļa pakalpojuma.

Visbeidzot, mēs izveidojam savienojumu ar tīmekļa pakalpojumu freegeoip.netŠajā gadījumā mēs nododam tai jebkuru lapu, par kuru mēs zinām, ka tā pastāv, tādā veidā mēs varam iegūt kādu rezultātu, pēc tam mēs uzglabājam atbildi buferī un pēc tam to nolasām un nododam String objektam, beidzot mēs izdrukājam saturu un iegūsim kaut ko līdzīgu tam, ko redzam šajā attēlā:

PALIELINĀT

Protams, šī ir vienkārša pieeja, lai saprastu, kā darbojas tīmekļa pakalpojumi, jo tā neattiecas uz parametru nosūtīšanu no mūsu klienta, taču to var dokumentēt vietnē Apache HttpClient, kas var sniegt jums izcilus rīkus saistībā ar šāda veida tīmekļa pakalpojumu patēriņu, ko mēs atstājam kā uzdevumu.

Ar šo mēs esam pabeiguši šo apmācību, esam izveidojuši pāris programmas, kas palīdz mums virzīties uz priekšu, lai varētu apgūt Tīmekļa pakalpojumiAr to mēs jau redzam, kā mūsu prāts noteikti sāks iedomāties šo rīku labāko pielietojumu mūsu lietojumprogrammās un tādējādi padarīs lietas daudz lielākas.

Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave