Trid torbot l-app tiegħek ma' Facebook sabiex tkun tista' tiġġenera posts awtomatikament, jew ma' Instagram sabiex tkun tista' terġa' tpoġġi ritratti b'ċerti hashtags?
Tista' wkoll tixtieq tinkludi vidjows ta' YouTube fuq il-websajt tiegħek. L-interfaces tal-ipprogrammar tal-applikazzjoni jippermettulek twettaq dawn il-kompiti kollha u aktar (APIs).
Applikazzjonijiet differenti jistgħu "jitkellmu" lil xulxin b'mod sigur u standardizzat grazzi għal APIs bħall-API Instagram, Facebook API, u YouTube API.
Fi kliem ieħor, programm jista 'jieħu karatteristiċi jew data minn biċċa oħra ta' softwer u jutilizzahom biex itejjeb il-karatteristiċi tiegħu stess jew l-esperjenza tal-utent. Imma kif jistgħu l-apps jagħmlu dawn it-talbiet, jipproċessawhom, u jwieġbuhom b'mod li oħrajn jistgħu jifhmu?
Dan jiddependi fuq kif inħoloq l-API. Meta niddiskutu d-disinji tal-API (interface tal-programmazzjoni tal-applikazzjoni), huwa normali li tqabbel SAPUN vs REST, tnejn mill-aktar paradigmi prominenti tal-API.
Hekk kif SOAP APIs (Simple Object Access Protocol) saru l-istandard tad-deheb għal ditti bħal Oracle, Sun u PayPal, kien hemm rispons ugwali u oppost sena jew aktar tard lejn REST APIs minn Google, Amazon, u eBay.
F'din il-kariga, aħna ser inqabblu u nikkuntrastaw l-API SAPUN ma' l-API REST sabiex tkun tista' tiddeċiedi liema hija l-aħjar għall-iskopijiet tiegħek.
Se nibdew billi niddefinixxu l-API.
X'inhu l-API?
Applikazzjoni Programming Interface hija msemmija bħala API. L-APIs huma essenzjalment ġabra ta' metodi u funzjonijiet li jippermettu l-iżvilupp ta' apps. Huma jiksbu aċċess għall-informazzjoni u l-funzjonijiet ta 'programmi, servizzi, jew sistemi operattivi differenti.
Huma jservu bħala speċi ta 'pitkala bejn diversi sistemi ta' softwer. Jippermettu "titkellem" bejn żewġ programmi mhux konnessi.
Ejja nieħdu l-eżempju ta 'stockbroker li huwa involut b'mod attiv fil-kummerċ u s-swieq finanzjarji. Kollezzjoni ta' awtomatizzati algoritmi tal-kummerċ jista 'jiġi konness mal-pjattaforma tal-broker tal-kummerċ favorit tan-negozjant permezz ta' API. Dan jippermettilek, in-negozjant, li tesegwixxi tranżazzjonijiet elettroniċi jew tara kwotazzjonijiet u data tal-prezzijiet f'ħin reali.
X'inhu REST?
L-APIs veri ta' "servizzi tal-web" jinkludu REST (Trasferiment tal-Istat Rappreżentattiv). L-API REST huma mibnija fuq URIs (Identifikaturi tar-Riżorsi Uniformi, li URL tagħhom huwa tip speċjali), il-protokoll HTTP, u l-format tad-dejta JSON oerhört kompatibbli mal-browser.
Il-protokoll SAPUN, kif diġà ddikjarajna, jista 'possibilment jintuża wkoll. REST APIs jistgħu jkunu faċli biex jinħolqu u jikbru, iżda jistgħu wkoll ikunu enormi u diffiċli—dan kollu jiddependi fuq kif jinħolqu, estiżi, u dak li huma maħsuba li jagħmlu.
Limitazzjonijiet tar-riżorsi, rekwiżiti ta’ sigurtà mnaqqsa, kompatibilità tal-klijent tal-browser, skoperta, saħħa tad-dejta u skalabbiltà huma xi raġunijiet li tixtieq tiżviluppa API biex tkun RESTful—affarijiet li fil-fatt japplikaw għas-servizzi tal-web.
REST joffri għażla aktar ħafifa. SAPUN kien diffiċli biex jintuża u ta 'piż għal ħafna żviluppaturi. Pereżempju, l-użu ta' SOAP b'JavaScript jeħtieġ il-kitba ta' ħafna kodiċi biex jitlestew operazzjonijiet sempliċi peress li kull darba trid tinħoloq l-istruttura XML meħtieġa.
REST (tipikament) juża URL sempliċi minflok talba XML. Għalkemm hemm ċirkostanzi rari meta trid toffri aktar dettalji, il-maġġoranza tas-servizzi tal-web RESTful jużaw biss it-teknika tal-URL.
L-erba 'verbi HTTP 1.1 GET, POST, PUT, u DELETE jistgħu jintużaw minn REST biex iwettqu operazzjonijiet. B'differenza SAPUN, REST m'għandux bżonn li t-tweġiba tkun fl-XML.
Is-servizzi tal-web ibbażati fuq REST li joħorġu dejta f'formati ta' Valur Separat tal-Kmand (CSV), JavaScript Object Notation (JSON), u Really Simple Syndication (RSS) huma disponibbli (RSS).
L-għan huwa li tista' tikseb ir-riżultati li għandek bżonn f'format faċli biex teżamina fil-lingwa li qed tuża għall-applikazzjoni tiegħek.
Karatteristiċi
- REST jenfasizza s-sempliċità fuq kollox, minħabba protokolli HTTP.
- Il-web hija l-aktar adattata għall-REST. Huwa kompatibbli mal-browsers minħabba li JSON jintuża bħala l-format tad-dejta.
- REST hija magħrufa għall-iskalabbiltà u l-veloċità eċċellenti tagħha.
- Il-konnessjonijiet u l-arkitetturi klijent-server isiru aktar aċċessibbli mill-API REST. Jekk ikun RESTful, huwa mibni bl-użu ta 'dan il-mudell klijent-server, bi vjaġġi bir-ritorn bejn iż-żewġ partijiet li jgħaddu data payloads.
- REST APIs jimpjegaw interface standard solitarju. L-iżgurar li l-apps kollha jgħaqqdu b'mod uniformi u permezz tal-istess portal, jissimplifika kif l-applikazzjonijiet jikkomunikaw mal-API.
X'inhu SAPUN?
Il-protokoll tiegħu stess, imsejjaħ SOAP (Simple Object Access Protocol), huwa ftit aktar ikkumplikat minn REST peress li jispeċifika aktar standards, inklużi dawk relatati mas-sigurtà u l-kunsinna tal-messaġġi.
Dawn in-normi inerenti jiġu bi ftit overhead żejda. Madankollu, jistgħu jkunu fattur deċiżiv għan-negozji li jeħtieġu kapaċitajiet ta 'konformità aktar estensivi ta' sigurtà, transazzjoni u ACID (Atomiċità, Konsistenza, Iżolament, Durabilità).
Għall-fini ta 'dan il-paragun, huwa importanti li wieħed jinnota li ħafna mill-benefiċċji ta' SOAP ma spiss japplikaw għall-applikazzjonijiet tas-servizzi tal-web, li jagħmluhom aktar adattati għal xenarji tat-tip ta 'intrapriża.
Gradi ogħla ta’ sigurtà (bħal meta a app mobbli jinteraġixxi ma' bank), apps ta' messaġġi li jeħtieġu komunikazzjoni affidabbli, interazzjoni ma' sistemi ta' legacy, jew konformità ACID huma ftit raġunijiet li tixtieq tfassal applikazzjoni bl-użu ta' SOAP API.
Il-kapaċitajiet tal-messaġġi offruti minn SOAP huma kompletament ibbażati fuq XML. Teknoloġiji eqdem inkompatibbli mal-internet bħall-Distributed Component Object Model (DCOM) u l-Common Object Request Broker Architecture ġew sostitwiti minn SOAP meta nħoloq għall-ewwel darba minn Microsoft (CORBA).
Id-dipendenza fuq komunikazzjonijiet binarji tikkawża li dawn is-sistemi jfallu. Fuq l-internet, messaġġi XML bħal dawk użati minn SOAP jiffunzjonaw aħjar.
Karatteristiċi
- Is-sigurtà tas-SAPUN hija aktar stretta b'mod sinifikanti. WS-Security huwa standard inkorporat li joffri kapaċitajiet ta 'sigurtà addizzjonali fil-livell ta' intrapriża SOAP jekk meħtieġ flimkien ma 'appoġġ SSL.
- Raġunar b'suċċess/erġa' pprova għal prestazzjoni ta' messaġġi affidabbli. Minħabba li REST m'għandux mekkaniżmu ta 'messaġġ standardizzat, jista' jerġa 'jipprova biss meta l-komunikazzjoni tfalli. Anke meta tuża s-SOAP intermedji, SOAP joffri affidabbiltà minn tarf sa tarf minħabba l-loġika inkorporata ta 'suċċess/retry.
- SAPUN diġà jikkonforma mal-istandards tal-aċidu. Billi tiddetta kif it-tranżazzjonijiet jistgħu jinteraġixxu mad-database, il-konformità ACID timminimizza l-anomaliji u tissalvagwardja l-konsistenza ta 'database. Minħabba li ACID huwa aktar kawt minn mudelli oħra ta 'konsistenza tad-dejta, huwa spiss użat meta jiġu mmaniġġjati tranżazzjonijiet sensittivi, kemm jekk finanzjarji jew mod ieħor.
- Huwa sempliċi għall-programmaturi biex jifhmu peress li SOAP huwa komunikazzjoni totalment ibbażata fuq XML.
- Il-protokoll tal-messaġġi XML huwa żieda mal-protokoll HTTP.
- Komunikazzjonijiet minn kompjuter għal kompjuters oħra jistgħu jiġu mxerrda permezz ta 'messaġġi SOAP.
- L-arkitettura tal-klijent-server tista' tiġi implimentata wkoll. Messaġġ ta' protokoll SAPUN jista' jintuża mill-klijent biex isejjaħ sejħa ta' proċedura remota li tinsab fuq in-naħa tas-server.
SERĦ Vs-SAPUN Differenzi
1. arkitettura
API hija maħsuba biex primarjament turi komponenti speċifiċi tal-loġika tan-negozju ta' applikazzjoni fuq server. Filwaqt li REST jagħmel użu minn URIs għall-istess skop, SOAP jimpjega Service Interface għal dan.
L-API REST huma maħluqa wara d-dejta, filwaqt li l-APIs SOAP huma żviluppati wara l-funzjonalitajiet li turi l-API. Meta mqabbel mas-SAPUN, li huwa aktar immexxi mill-funzjoni, REST huwa disinn aktar immexxi mid-data.
2. Caching
Data li ġiet immarkata bħala cacheable tista' terġa' tiġi utilizzata mill-browsers mingħajr ma jkunu jeħtieġu li jagħmlu talba ġdida lis-server. L-iffrankar ta 'ħin u sforz huwa benefiċċju ta' dan.
It-tweġibiet mhux se jiġu miżmuma fil-cache fil-livell HTTP peress li l-mistoqsijiet SOAP huma sottomessi permezz ta’ talbiet POST, li l-istandard HTTP iqis li mhumiex idempotenti. Jekk trid tuża caching, xorta trid tibni t-tekniki meħtieġa peress li l-API REST ma jinkludux din l-implimentazzjoni.
3. Riżorsi & Bandwidth
Minħabba t-trasferiment tat-tagħbija ta 'stil ta' envelope użat minn SOAP, hemm żieda modesta fl-overhead, li teħtieġ bandwidth żejda. In-natura ħafifa ta' REST hija ta' benefiċċju f'dawn is-sitwazzjonijiet minħabba li ġeneralment tintuża għal servizzi tal-web.
4. Sigurtà
Is-sigurtà WS, li s-SOAP jappoġġja u hija kemmxejn aktar bir-reqqa minn SSL fil-livell tat-trasport, hija mixtieqa. L-inkorporazzjoni ta 'miżuri ta' sigurtà fil-livell ta 'intrapriża magħha hija wkoll perfettament.
Encryption end-to-end bl-użu ta 'SSL huwa appoġġjat kemm minn SOAP kif ukoll minn REST, u REST jista' juża HTTPS, il-varjant sikur tal-protokoll HTTP.
5. Immaniġġjar ta 'Tagħbiji
Id-dejta trażmessa permezz tal-Internet tissejjaħ payload. Tagħbija li titqies bħala "tqil" teħtieġ riżorsi addizzjonali. Meta mqabbel mas-SOAP, li juża XML, REST ħafna drabi juża JSON u HTTP biex jgħin biex jitnaqqas it-tagħbija.
Librerija speċjalizzata tal-Klijent b'kodiċi ġġenerat għandha tipikament tintuża mill-Klijent biex jaċċessa l-APIs tas-SOAP minħabba l-kuntratt ta 'komunikazzjoni estremament strett tagħhom.
Bħala riżultat, SOAP joffri livell inqas ta 'estrazzjoni minn REST u huwa konness aktar mill-qrib mas-server.
Meta tuża REST?
- Il-ħolqien ta' APIs pubbliċi: REST APIs huma ppreferuti għall-bini ta' servizzi tal-web pubbliċi minħabba li huma meqjusa li huma aktar sempliċi biex jintużaw u jiġu adottati minn SOAP APIs. Barra minn hekk, SOAP joffri diversi miżuri ta 'sigurtà integrati li REST m'għandux, għalkemm dawn il-karatteristiċi mhumiex meħtieġa meta taħdem ma' data u servizzi miftuħa.
- Bini ta' apps mobbli: REST huwa perfett għall-bini ta 'applikazzjonijiet mobbli peress li huwa żgħir, effettiv, mingħajr stat, u jista' jiġi cache.
- Jutilizzaw riżorsi skarsi tas-server u bandwidth: It-talbiet kollha lil API REST għandhom ikunu mingħajr stat, li jfisser li kull interazzjoni hija separata u kull talba u tweġiba fiha d-dejta kollha meħtieġa biex titlesta dik l-interazzjoni. Is-server ma jiffrankax rekords ta 'talbiet preċedenti peress li jittratta kull waħda bħala talba ġdida. Bħala riżultat, is-server jeħtieġ ferm inqas memorja u jopera aktar malajr minħabba li talba ma teħtieġx azzjoni ulterjuri jew l-irkupru ta 'data storika.
Meta tuża SAPUN?
- Il-ħolqien ta' APIs privati, partikolarment għal negozji kbar: SOAP huwa perfett għal applikazzjonijiet korporattivi peress li jippermetti l-fluss tad-dejta f'ambjent deċentralizzat u distribwit u fih diversi karatteristiċi ta' sigurtà onlajn.
- L-użu ta' protokoll tat-trasport minbarra HTTP bħala s-saff sottostanti: SAPUN mhuwiex dipendenti fuq HTTP bħala s-saff sottostanti. Skont l-applikazzjoni tiegħek, tista' tutilizza SMTP (Simple Mail Transfer Protocol), JMS (Java Messaging Service), jew protokoll ieħor tat-trasport.
- Ħidma ma 'operazzjonijiet stateful: B'kuntrast mat-talbiet lil REST APIs, it-talbiet lil SOAP APIs huma stateful, jiġifieri s-server jiffranka l-informazzjoni dwar il-klijent u jużaha tul katina ta' talbiet jew operazzjonijiet. Anke filwaqt li dan juża aktar bandwidth u riżorsi tas-server, huwa kruċjali biex jitwettqu azzjonijiet ta' rutina jew konnessi, bħal trasferimenti bankarji.
konklużjoni
It-tqabbil bejn REST u SOAP APIs jagħmilha pjuttost evidenti li REST huwa preferibbli għal SAPUN. Anke s'issa, hemm sitwazzjonijiet fejn l-API SOAP hija meħtieġa. F'ċerti każijiet, is-servizzi tal-web jinħolqu billi jiġu kkombinati REST u SOAP APIs.
Għalhekk, il-każ ta 'użu se jiddetermina liema stil API se jaħdem l-aħjar.
Ħalli Irrispondi