Ngaba uyafuna ukuqhagamshela usetyenziso lwakho kuFacebook ukuze luvelise izithuba ngokuzenzekelayo, okanye kwi-Instagram ukuze uphinde uthumele iifoto ngeehashtag ezithile?
Unokunqwenela ukubandakanya iividiyo zeYouTube kwiwebhusayithi yakho. Ujongano lwenkqubo yesicelo lukuvumela ukuba wenze yonke le misebenzi kunye nokunye (APIs).
Izicelo ezahlukeneyo “zinokuthetha” enye kwenye ngendlela ekhuselekileyo nesemgangathweni enkosi kwii-APIs ezifana ne-Instagram API, Facebook API, kunye neYouTube API.
Ngamanye amagama, inkqubo inokuthatha iimpawu okanye idatha kwenye icandelo lesoftware kwaye iyisebenzise ukuphucula iimpawu zayo okanye amava omsebenzisi. Kodwa ii-apps zinokuzenza njani ezi zicelo, zizenze, kwaye ziphendule ngendlela eqondwa ngabanye?
Oko kuxhomekeke kwindlela eyenziwe ngayo i-API. Xa uxoxa nge-API (ujongano lwenkqubo yesicelo) uyilo, kuqhelekile ukuthelekisa i-SOAP vs. REST, ezimbini zeeparadigms ze-API ezibalaseleyo.
Nje ukuba ii-SOAP APIs (iProtocol yeSimple Object Access) ibe ngumgangatho wegolide kwiifemu ezifana ne-Oracle, iLanga, kunye ne-PayPal, kwabakho impendulo elinganayo nechasayo kunyaka okanye kamva ukuya kwi-REST APIs evela kuGoogle, Amazon, kunye ne-eBay.
Kule posi, siza kuthelekisa kwaye sithelekise ii-SOAP APIs kunye ne-REST APIs ukuze uthathe isigqibo sokuba yeyiphi eyona ilungileyo ngeenjongo zakho.
Siza kuqala ngokuchaza i-API.
Yintoni i-API?
I-Application Programming Interface ibizwa ngokuba yi-API. Ii-APIs ziyingqokelela yeendlela kunye nemisebenzi eyenza uphuhliso lweapps. Bafumana ukufikelela kulwazi kunye nemisebenzi yeenkqubo ezahlukeneyo, iinkonzo, okanye iinkqubo zokusebenza.
Basebenza njengohlobo oluphakathi phakathi kweenkqubo ezahlukeneyo zesoftware. Benza "ukuthetha" phakathi kweenkqubo ezimbini ezingaxhunywanga.
Masithathe umzekelo womthengisi wamasheya obandakanyeka ngokubonakalayo kurhwebo kunye neemarike zemali. Ingqokelela yezinto ezizenzekelayo ii-algorithms zokurhweba inokudityaniswa kwiqonga le-broker eliyintandokazi yomthengisi nge-API. Oku kwenza ukuba wena, umrhwebi, wenze iintengiselwano ze-elektroniki okanye ubone iikowuteshini zexesha langempela kunye nedatha yexabiso.
Yintoni REST?
Inyani "iinkonzo zewebhu" APIs ziquka i-REST (iRepresentational State Transfer). I-REST APIs zakhelwe kwii-URIs (Ii-Uniform Resource Identifiers, apho i-URL iluhlobo oluthile), i-HTTP protocol, kunye nefomathi yedatha ye-JSON ehambelana nesikhangeli ngokumangalisayo.
Iprothokholi ye-SEAP, njengoko besesitshilo, isenokuthi isetyenziswe. I-REST APIs inokuba lula ukuyila kwaye ikhule, kodwa inokuba nkulu kwaye ibenzima-konke kuxhomekeke kwindlela ezidalwe ngayo, zandiswe, kunye nokuba zenzelwe ntoni na.
Izithintelo zemithombo, iimfuno ezincitshisiweyo zokhuseleko, ukuhambelana nomxumi wesikhangeli, ukufunyanwa, impilo yedatha, kunye nokunciphisa ezinye zezizathu onokunqwenela ukuphuhlisa i-API ukuba i-RESTful-izinto ezisebenza ngokwenene kwiinkonzo zewebhu.
I-REST inikezela ngokhetho olulula ngakumbi. ISEPHA bekunzima ukuyisebenzisa kwaye ingumthwalo kubaphuhlisi abaninzi. Ngokomzekelo, ukusebenzisa i-SOAP ngeJavaScript kufuna ukubhala ikhowudi eninzi ukugqiba imisebenzi elula ukususela ekubeni ulwakhiwo oluyimfuneko lwe-XML kufuneka lwenziwe rhoqo.
REST (ngokuqhelekileyo) isebenzisa i-URL ethe ngqo endaweni yesicelo se-XML. Nangona kukho iimeko ezinqabileyo xa kufuneka unikeze iinkcukacha ezininzi, uninzi lweenkonzo zewebhu ezi-RESTful zisebenzisa kuphela ubuchule be-URL.
Izenzi ezine zeHTTP 1.1 GET, POST, PUT, and DELETE zingasetyenziswa ngu-REST ukwenza imisebenzi. Ngokungafaniyo neSEPHA, i-REST ayifuni mpendulo ukuba ibekwi-XML.
Iinkonzo zewebhu ezisekelwe kwi-REST ezikhupha idatha kwiXabiso eLuhluliweyo loMyalelo (CSV), iJavaScript Object Notation (JSON), kunye neefomathi zeReally Simple Syndication (RSS) ziyafumaneka (RSS).
Injongo kukuba ufumane iziphumo ozifunayo ngendlela ekulula ukuyicazulula ngaphakathi kolwimi olusebenzisela isicelo sakho.
Iimbonakalo
- I-REST igxininisa ubulula ngaphezu kwayo yonke enye into, ngenxa yemigaqo yeHTTP.
- Iwebhu iyifanele kakhulu i-REST. Iyahambelana neziphequluli kuba i-JSON isetyenziswa njengefomathi yedatha.
- I-REST idume ngokukaleka kwayo okubalaseleyo kunye nesantya.
- Umdibaniso womncedisi wabathengi kunye nezakhiwo zenziwa ukuba zifikeleleke ngakumbi nge-REST APIs. Ukuba i-RESTful, yakhiwe kusetyenziswa le modeli yomncedisi womxhasi, kunye nohambo olujikelezayo phakathi kwamaqela amabini agqithisa imithwalo yedatha.
- I-REST APIs isebenzisa ujongano olusemgangathweni olulodwa. Ukuqinisekisa ukuba zonke ii-apps ziqhagamshelana ngokufanayo nangesango elifanayo, lilungelelanisa indlela izicelo ezinxibelelana ngayo ne-API.
Yintoni isepha?
Iprothokholi yayo, ebizwa ngokuba yi-SOAP (I-Protocol ye-Object Access eyi-Simple), intsonkothe ngakumbi kune-REST kuba ichaza imigangatho emininzi, kuquka leyo inxulumene nokhuseleko kunye nokuhanjiswa komyalezo.
Le migaqo yendalo iza nentwana engaphezulu. Nangona kunjalo, banokuba yinto ethatha isigqibo kumashishini afuna ukhuseleko olubanzi ngakumbi, ukuthengiselana, kunye ne-ACID (i-Atomicity, Consistency, Isolation, Durability) ukuthobela amandla.
Ngenxa yolu thelekiso, kubalulekile ukuqaphela ukuba uninzi lwezibonelelo zeSEPHA azisoloko zisebenza kwizicelo zeenkonzo zewebhu, zizenza zifaneleke ngakumbi iimeko zohlobo lweshishini.
Amanqanaba aphezulu okhuseleko (afana naxa a usetyenziso lweselula isebenzisana nebhanki), imiyalezo ye-apps efuna unxibelelwano oluthembekileyo, ukusebenzisana neenkqubo zelifa, okanye ukuthotyelwa kwe-ACID zizizathu ezimbalwa onokunqwenela ukuyila isicelo usebenzisa i-SOAP API.
Amandla okuthumela imiyalezo anikezelwa yi-SOAP asekelwe ngokupheleleyo kwi-XML. Ubuchwephesha obudala obungahambelaniyo ne-intanethi obufana neModeli yeNto eSasaziweyo (i-DCOM) kunye neSakhiwo se-Common Object Application Broker yathatyathelwa indawo yi-SOAP xa yayiqala ukuyilwa nguMicrosoft (CORBA).
Ukuxhomekeka kunxibelelwano lokubini kubangela ukuba ezi nkqubo zisilele. Kwi-intanethi, imiyalezo ye-XML efana naleyo isetyenziswa yi-SOAP isebenza ngcono.
Iimbonakalo
- Ukhuseleko lweSEPHA luqina kakhulu. I-WS-Security ngumgangatho owakhelwe-ngaphakathi onika i-SEAP ezongezelelweyo izakhono zokhuseleko kwinqanaba loshishino ukuba luyimfuneko ngaphezu kwenkxaso ye-SSL.
- Uphumelele/uphinde uzame ukuqiqa ngokusebenza komyalezo othembekileyo. Kuba i-REST iswele indlela yomyalezo osemgangathweni, inokuphinda izame kwakhona xa unxibelelwano lusilele. Naxa usebenzisa i-SOAP intermediates, i-SOAP inikezela ngokuxhomekeka kokuphela-ukuya-ekupheleni ngenxa yolwakhiwo-ngaphakathi oluphumeleleyo/uphinde uzame ingqiqo.
- ISEPHA sele ihambelana nemigangatho ye-ACID. Ngokuyalela ukuba iintengiselwano zinokusebenzisana njani nesiseko sedatha, ukuthotyelwa kwe-ACID kunciphisa i-anomalies kunye nokukhusela ukuhambelana kwedatha. Ngenxa yokuba i-ACID ilumke ngakumbi kunezinye iimodeli zokuhambelana kwedatha, isetyenziswa rhoqo xa kulawulwa iintengiselwano ezinovakalelo, nokuba yimali okanye ngenye indlela.
- Kulula ukuba abadwelisi benkqubo baqonde kuba i-SOAP lunxibelelwano olusekwe kwi-XML ngokupheleleyo.
- Iprotocol yemiyalezo yeXML yongezwa kwiprotocol yeHTTP.
- Unxibelelwano olusuka kwenye ikhompyuter luye kwenye lunokusasazwa ngokuthumela imiyalezo nge-SOAP.
- Ulwakhiwo lomncedisi womxhasi lunokuphunyezwa. Umyalezo weprothokholi yeSEPHA unokusetyenziswa ngumxhasi ukufowunela umnxeba wenkqubo ekude ome kwicala leseva.
REST Vs Umahluko wesepha
1. Uyilo loyilo
I-API yenzelwe ukubonisa ngokukodwa amacandelo athile engqiqo yoshishino yesicelo kwiseva. Ngelixa i-REST isebenzisa ii-URIs ngeenjongo ezifanayo, i-SOAP isebenzisa i-Service Interface kule nto.
I-REST APIs idalwe emva kwedatha, kanti ii-SOAP APIs ziphuhliswa emva kwemisebenzi eyenziwa yi-API. Xa kuthelekiswa neSEPHA, eyona nto iqhutywa ngumsebenzi, i-REST luyilo oluqhutywa yidatha.
2. Caching
Idatha ephawulwe njenge-cacheable ingasetyenziswa ngabakhangeli kwakhona ngaphandle kokufuna ukuba benze isicelo esitsha kumncedisi. Ukonga ixesha kunye nomgudu kuyinzuzo yoku.
Iimpendulo aziyi kugcinwa kwinqanaba le-HTTP ekubeni imibuzo ye-SOAP ithunyelwe ngezicelo ze-POST, umgangatho we-HTTP owubona ungeyongqondo. Ukuba ufuna ukusebenzisa i-caching, kusafuneka wakhe ubuchule obuyimfuneko njengoko i-REST APIs ingabandakanyi oku kuphunyezwa.
3. Izixhobo kunye nobubanzi bomthamo
Ngenxa yokudluliselwa komthwalo wokuhlawula isimbo semvulophu esetyenziswa yi-SOAP, kukho ukunyuka okuthobekileyo kwi-overhead, efuna i-bandwidth eyongezelelweyo. Indalo ye-REST ekhaphukhaphu luncedo kwezi meko kuba isetyenziswa ngokubanzi kwiinkonzo zewebhu.
4. Khu seleko
Ukhuseleko lwe-WS, oluxhaswa yi-SOAP kwaye lucokiseke ngakumbi kune-SSL kwinqanaba lezothutho, lunqweneleka. Ukubandakanya imilinganiselo yokhuseleko lwenqanaba loshishino kunye nayo ifanelekile.
Ukubethela ekupheleni ukuya ekupheleni usebenzisa i-SSL ixhaswa yi-SOAP kunye ne-REST, kwaye i-REST inokusebenzisa i-HTTPS, i-variant ekhuselekileyo ye-HTTP protocol.
5. Ukuphatha Intlawulo
Idatha ethunyelwa nge-Intanethi ibizwa ngokuba ngumthwalo ohlawulwayo. Umvuzo othathwa ngokuba "unzima" udinga izibonelelo ezongezelelweyo. Xa kuthelekiswa neSEPHA, esebenzisa i-XML, i-REST ihlala isebenzisa i-JSON kunye ne-HTTP ukunceda ukunciphisa umthwalo.
Ithala leencwadi elikhethekileyo loMxumi elinekhowudi evelisiweyo kufuneka lisetyenziswe ngokwesiqhelo nguMthengi ukufikelela kwii-SOAP APIs ngenxa yekhontrakthi yabo yonxibelelwano engqongqo.
Ngenxa yoko, i-SOAP inikezela ngenqanaba elincinci lokukhupha kune-REST kwaye liqhagamshelwe ngokusondeleyo nomncedisi.
Kusetyenziswa nini i-REST?
- Ukudala ii-APIs zoluntu: I-REST APIs zikhethwa ukwakha iinkonzo zewebhu zoluntu kuba zibonwa zilula ukuzisebenzisa kunye nokwamkelwa kune-SOAP APIs. Ukongeza, i-SOAP inikezela ngamanyathelo okhuseleko olwakhelwe ngaphakathi angenayo i-REST, nangona ezi mpawu zingafunwa xa usebenza ngedatha evulekileyo kunye neenkonzo.
- Ukwakha ii-apps eziphathwayo: I-REST ilungile ekwakheni usetyenziso lweselfowuni kuba incinci, iyasebenza, ayinammiselo, kwaye iyagcinwa.
- Ukusebenzisa izixhobo ezinqabileyo zeseva kunye ne-bandwidth: Zonke izicelo kwi-REST API kufuneka zingabikho, oku kuthetha ukuba intsebenziswano nganye ihluke kwaye isicelo ngasinye kunye nempendulo iqulethe yonke idatha efunekayo ukugqiba loo ntsebenziswano. Umncedisi akazigcini iirekhodi zezicelo zangaphambili njengoko ephatha nganye njengesicelo esitsha. Ngenxa yoko, umncedisi ufuna imemori encinci kakhulu kwaye isebenza ngokukhawuleza kuba isicelo asifuni nyathelo elingaphezulu okanye ukufunyanwa kwedatha yembali.
Kusetyenziswa nini iSEPHA?
- Ukwenza ii-API zabucala, ngakumbi kumashishini amakhulu: I-SEPA ilungile kwizicelo zenkampani kuba yenza ukuba idatha ihambe kwindawo enatyisiweyo, isasazwe kwaye iqulethe izinto ezininzi zokhuseleko kwi-intanethi.
- Ukusebenzisa iprotocol yezothutho ngaphandle kweHTTP njengomaleko ongaphantsi: ISEPHA ayixhomekeke kwi-HTTP njengomaleko ongaphantsi. Kuxhomekeka kwisicelo sakho, ungasebenzisa i-SMTP (iProtokholi yokuGqithisela ngemeyile elula), iJMS (iNkonzo yoThutho lweJava), okanye enye iprotocol yezothutho.
- Ukusebenza kunye nemisebenzi ephantsi: Ngokuchaseneyo nezicelo ze-REST APIs, izicelo kwi-SOAP APIs zinyani, oku kuthetha ukuba umncedisi ugcina ulwazi malunga nomxhasi kwaye uyisebenzise kuluhlu lwezicelo okanye imisebenzi. Nangona oku kusebenzisa i-bandwidth engaphezulu yeseva kunye nezibonelelo, kubalulekile ukwenza isiqhelo okanye izenzo ezinxibelelanayo, njengodluliselo lwebhanki.
isiphelo
Ukuthelekisa phakathi kwe-REST kunye ne-SOAP APIs kwenza kucace ukuba i-REST ikhethwa kwi-SEPHA. Nangona kunjalo, kukho iimeko apho i-SOAP API iyafuneka. Kwiimeko ezithile, iinkonzo zewebhu zenziwe ngokudibanisa i-REST kunye ne-SOAP APIs.
Ke ngoko, imeko yokusetyenziswa iya kugqiba ukuba yeyiphi isitayile se-API esiya kusebenza ngcono.
Shiya iMpendulo