Atšķirība starp REST un SOAP

Ievads

Šajā rakstā apskatīti divi tīmekļa pakalpojumu piekļuves protokoli, SOAP (“Vienkāršs objekta piekļuves protokols”) un ATJAUNOT (“Pārstāvības valsts nodošana”).

Web pakalpojumi

Web pakalpojumi ir definēti, lai aktīvi ielādētu, lasītu vai pārsūtītu datus no noteikta avota, lai iegūtu noteiktu rezultātu - rezultātu.

Šis rudimentārais piemērs parāda Web pakalpojumu pamata izmantošanu pirms izpratnes par to, kā dati tiek pārsūtīti uz Web pakalpojumu un no tā, izmantojot SOAP vai REST.

Ja izstrādātājs raksta lietojumprogrammu, kurai nepieciešami daži datu aprēķini vienuviet, aprēķināšanas metodi tajā pašā vietā ierakstīs kodā. Tomēr, ja datu aprēķins ir nepieciešams citās lietojumprogrammas daļās, tas būtu neefektīvi un nepraktiski uzturēt, ja izstrādātājs aprēķina metodi ievietotu katrā nepieciešamajā jomā..

Lai veiktu vienu šīs metodes izmaiņu, būs jāatrod katrs rediģējamais (un atkārtoti pārbaudāmais) gadījums. Šim scenārijam būtu noderīgi, ja tīmekļa pakalpojums darbotos optimāli un uzlabotu biznesa veiklību.

Izveidojot vienu tīmekļa pakalpojumu ar pieejamām metodēm, lai saskaitītu, atņemtu, dalītu un reizinātu, lietojumprogramma iesaistīsies šajā tīmekļa pakalpojumā ikreiz, kad būs nepieciešami datu aprēķini; tas aicina tīmekļa pakalpojumu veikt aprēķinus un uzrādīt rezultātu. Tātad izstrādātājam ir tikai viena vieta datu aprēķināšanas metodes uzturēšanai.

To, kā dati tiek apstrādāti tīmekļa pakalpojumos, nosaka tas, vai tiek ieviests SOAP vai REST.

SOA un BPMN

Uz izpildāmiem procesiem balstīta lietojumprogramma ir balstīta uz: Uz pakalpojumiem orientēta arhitektūra (“SOA”). Tā ir pieeja pakalpojumu izmantošanai, kas pārsūta, rada, apstiprina vai aprēķina datus.

SOA kļūst arvien labvēlīgāk, lai uzlabotu izstrādes kvalitāti un laiku, kā arī uzlabotu lietojumprogrammu veiktspēju un mērogojamību.

Biznesa procesu modelēšanas notācija (“BPMN”) ir pakalpojuma vai biznesa procesa modelēšana, ko var veikt cilvēki, kas nav tehniski darbinieki, t.i., biznesa analītiķis. Izmantojot BPMN, biznesa modeļus (pakalpojumiem) izstrādātāji, kuri modeli ievieš kā izpildāmu procesu, viegli interpretē, un šiem procesiem var būt nepieciešama vai nav nepieciešama cilvēku mijiedarbība.

Vienkāršs objekta piekļuves protokols (SOAP)

SOAP ir datu pārsūtīšanas metode internetā.

Sākotnēji Microsoft izstrādāja interneta parādīšanās dēļ, SOAP aizstāja veco DCOM un CORBA tehnoloģijas, un tas ir pastāvējis daudz ilgāk nekā REST.

SOAP tiek uzskatīts par smagāku nekā REST, t.i., datu pārsūtīšanai ir nepieciešama lielāka bagāža, kas nozīmē, ka katram ziņojuma pieprasījumam ir nepieciešams lielāks joslas platums, un datu avotam un mērķiem ir jāpaveic vairāk, iesaiņojot un saņemot datus.

Izmanto tikai SOAP XML ziņojumapmaiņas pakalpojumiem internetā un XML ziņojumu pieprasījumi var būt ļoti sarežģīti, un, ja tie tiek izstrādāti manuāli, ir nepieciešama rūpīga uzmanība, jo SOAP ir neelastīgs ar kļūdām.

Ir iespējams automatizēt SOAP ziņojumu pieprasījumus, izmantojot .NET valodas (kā piemēru), kur izstrādātājiem nav jādarbojas ar XML, jo tas tiek automātiski ģenerēts fonā.

Ja ziņojuma pieprasījumā rodas kādas problēmas, ziņojuma atbildē tiek atgriezta detalizēta informācija par kļūdu, un šo procesu var arī automatizēt, atsaucoties uz standarta kļūdas kodiem, kas norādīti ziņojuma atbildē..

Tāpēc izmantotā programmēšanas valoda ir noteicošais faktors, cik grūti būs ieviest SOAP.

Viena no bagāžas vienībām, kas pievienota SOAP ziņojumam, ir Tīmekļa pakalpojumu apraksts Valoda (“WSDL”), lai izskaidrotu, kā darbojas tīmekļa pakalpojums. Kad lietojumprogramma atsaucas uz tīmekļa pakalpojumu, tā nolasa un saprot, ko darīt ar tīmekļa pakalpojumu.

SOAP nav obligāti jāizmanto HTTP (HyperText Transfer Protocol) vienīgi; to var izmantot, izmantojot SMTP un citus transporta protokolus.

Tā kā SOAP tika standartizēts, tas ir stingrāks nekā REST, lai gan abi ir atkarīgi no izveidotajiem noteikumiem.

ATJAUNOT

REST ir jaunāks un gludāks SOAP māsīca, un tas ātri kļūst par izvēli lielākajai daļai tīmekļa un mobilo lietojumprogrammu.

Vairāk nekā desmit gadus pēc tā ieviešanas REST ir vieglāks, uzturamāks un pielāgojamāks veids, kā mijiedarboties ar tīmekļa pakalpojumiem..

Atšķirībā no SOAP, REST neizmanto XML vienīgi; vienkāršs teksts, CSV, un RSS var izmantot, kā arī JSON AJAX zvaniem; ja vien avots un mērķi var saprast izmantotos formātus.

REST ir mazāk sarežģīta un tiek uzskatīta par mazāku mācīšanās līkni nekā salīdzinājumā ar SOAP. Lielākajai daļai mūsdienu programmēšanas valodu ir bibliotēkas un ietvari, kas atvieglo REST (RESTful) pakalpojumus, piemēram, C #, Python, Java un Perl..

REST ir ātrāks, pateicoties minimālai apstrādei, un tas ir efektīvāks, izmantojot dažādus ziņojumu formātus.

Abiem ir priekšrocības un trūkumi, tāpēc, apsverot, kuru piekļuves protokolu izmantot, apsveriet organizācijā lietotās programmēšanas valodas, lietojumprogrammu vidi un lietojumprogrammu prasības.