Ingabe uyafuna ukuxhumanisa uhlelo lwakho lokusebenza ku-Facebook ukuze lukhiqize okuthunyelwe ngokuzenzakalelayo, noma ku-Instagram ukuze ukwazi ukuthumela kabusha izithombe ngama-hashtag athile?
Ungafisa nokufaka amavidiyo e-YouTube kuwebhusayithi yakho. Izixhumanisi zokuhlela izinhlelo zokusebenza zikuvumela ukuthi wenze yonke le misebenzi nokunye okwengeziwe (ama-API).
Izinhlelo zokusebenza ezahlukene “zingakhuluma” zodwa ngendlela evikelekile nemisiwe ngenxa yama-API afana ne-Instagram API, Facebook API, kanye ne-YouTube API.
Ngamanye amazwi, uhlelo lungathatha izici noma idatha kolunye ucezu lwesofthiwe futhi luyisebenzise ukuthuthukisa ezalo izici noma ulwazi lomsebenzisi. Kodwa izinhlelo zokusebenza zingenza kanjani lezi zicelo, zizicubungule, futhi ziziphendule ngendlela abanye abangayiqonda?
Lokho kuncike ekutheni i-API idalwe kanjani. Uma udingida imiklamo ye-API (isikhombimsebenzisi sohlelo lokusebenza), kuvamile ukuqhathanisa i-SOAP vs. REST, ama-paradigm amabili e-API agqama kakhulu.
Ngokushesha nje lapho ama-SOAP APIs (I-Simple Object Access Protocol) eba indinganiso yegolide yamafemu afana ne-Oracle, i-Sun, ne-PayPal, kwaba khona impendulo elinganayo nephambene esikhathini esingangonyaka noma kamuva kuma-REST APIs avela ku-Google, Amazon, kanye ne-eBay.
Kulokhu okuthunyelwe, sizoqhathanisa futhi siqhathanise ama-SOAP API nama-REST APIs ukuze ukwazi ukunquma ukuthi yikuphi okungcono kakhulu ngezinjongo zakho.
Sizoqala ngokuchaza i-API.
Yini i-API?
I-Application Programming Interface ibizwa ngokuthi i-API. Ama-API empeleni ayiqoqo lezindlela nemisebenzi evumela ukuthuthukiswa kwezinhlelo zokusebenza. Bathola ukufinyelela olwazini nemisebenzi yezinhlelo ezahlukene, izinsiza, noma amasistimu okusebenza.
Basebenza njengohlobo lwe-middleman phakathi kwezinhlelo ezahlukahlukene zesoftware. Bavumela "ukukhuluma" phakathi kwezinhlelo ezimbili ezingaxhumekile.
Ake sithathe isibonelo somthengisi wamasheya obambe iqhaza elikhulu ekuhwebeni nasezimakethe zezimali. Iqoqo lokuzenzakalelayo ama-algorithms okuhweba ingaxhunywa kunkundla yomthengisi oyintandokazi yomthengisi nge-API. Lokhu kwenza wena, umdayisi, ukwazi ukwenza imisebenzi ye-elekthronikhi noma ubone izingcaphuno zesikhathi sangempela kanye nedatha yentengo.
Yini i-REST?
Ama-API wangempela “amasevisi ewebhu” afaka i-REST (Representational State Transfer). Ama-REST API akhiwe kuma-URI (Izihlonzi Zensiza Efanayo, i-URL ewuhlobo olukhethekile), umthetho olandelwayo we-HTTP, kanye nefomethi yedatha ye-JSON ehambisana nesiphequluli ehambisana ngendlela emangalisayo.
Iphrothokholi ye-SOAP, njengoba sesishilo kakade, ingase isetshenziswe. Ama-REST API angaba lula ukuwakha nokukhula, kodwa futhi angaba mkhulu futhi abe nzima—konke kuncike ekutheni adalwa kanjani, anwetshwa kanjani, nokuthi ahloselwe ukwenzani.
Imikhawulo yensiza, izidingo zokuphepha ezincishisiwe, ukusebenzisana kweklayenti lesiphequluli, ukutholakala, impilo yedatha, kanye nokuqina ezinye zezizathu ongafisa ukuthuthukisa i-API ukuthi ibe RESTful—izinto ezisebenza kumasevisi ewebhu.
I-REST inikeza inketho engasindi kakhudlwana. INSIPHO bekunzima ukuyisebenzisa futhi iwumthwalo kubathuthukisi abaningi. Isibonelo, ukusebenzisa i-SOAP nge-JavaScript kudinga ukubhala ikhodi eningi ukuze uqedele imisebenzi elula njengoba ukwakheka okudingekayo kwe-XML kufanele kudalwe isikhathi ngasinye.
I-REST (imvamisa) isebenzisa i-URL eqondile esikhundleni sesicelo se-XML. Yize kunezimo ezingavamile lapho kufanele unikeze imininingwane eyengeziwe, iningi lezinsiza zewebhu ezi-RESTful zisebenzisa kuphela inqubo ye-URL.
Izenzo ezine ze-HTTP 1.1 GET, POST, PUT, and DELETE zingasetshenziswa yi-REST ukuze kwenziwe imisebenzi. Ngokungafani ne-SOAP, i-REST ayidingi impendulo ukuze ibe ku-XML.
Amasevisi ewebhu asekelwe ku-REST akhipha idatha ku-Command Separated Value (CSV), amafomethi we-JavaScript Object Notation (JSON), kanye namafomethi we-Really Simple Syndication (RSS) ayatholakala (RSS).
Inhloso ukuthi ungathola imiphumela oyidingayo ngefomethi elula ukuyihlaziya ngaphakathi kolimi olusebenzisela uhlelo lwakho lokusebenza.
Izici
- I-REST igcizelela ubulula ngaphezu kwakho konke okunye, ngenxa yezivumelwano ze-HTTP.
- Iwebhu iyifanele kakhulu i-REST. Isebenzisana neziphequluli ngoba i-JSON isetshenziswa njengefomethi yedatha.
- I-REST idume ngokuqina kwayo okuvelele nesivinini.
- Ukuxhumeka kweseva yeklayenti nezakhiwo kwenziwa kufinyeleleke kalula ngama-REST API. Uma INE-RESTful, yakhiwa kusetshenziswa le modeli yeseva yeklayenti, nohambo olujikelezayo phakathi kwezinhlangothi ezimbili ezidlulisa imithwalo yedatha ekhokhelwayo.
- I-REST APIs isebenzisa isixhumi esibonakalayo esivamile sodwa. Ukuqinisekisa ukuthi zonke izinhlelo zokusebenza zixhumeka ngokufanayo nangesango elifanayo, kuqondisa indlela izinhlelo zokusebenza ezixhumana ngayo ne-API.
Iyini INSIPHO?
Iphrothokholi yayo, ebizwa nge-SOAP (I-Simple Object Access Protocol), iyinkimbinkimbi kakhulu kune-REST njengoba icacisa izindinganiso eziningi, okuhlanganisa nalawo ahlobene nokuvikeleka nokulethwa kwemilayezo.
Lezi zinkambiso zemvelo ziza nokunye okungaphezulu kancane. Kodwa-ke, zingaba yisici esinqumayo kumabhizinisi adinga ukuvikeleka okubanzi, ukuthengiselana, kanye namandla okuthobela i-ACID (Atomicity, Consistency, Isolation, Durability).
Ngenxa yalesi siqhathaniso, kubalulekile ukuqaphela ukuthi izinzuzo eziningi ze-SOAP azivamisile ukusebenza ezinhlelweni zokusebenza zewebhu, okuzenza zifaneleke kakhulu izimo zohlobo lwebhizinisi.
Amazinga aphezulu okuphepha (njengalapho a uhlelo lokusebenza lweselula isebenzisana nebhange), izinhlelo zokusebenza zemiyalezo ezidinga ukuxhumana okuthembekile, ukuxhumana nezinhlelo zefa, noma ukuthobela i-ACID yizizathu ezimbalwa ongathanda ukuklama uhlelo lokusebenza usebenzisa i-SOAP API.
Amandla okuthumela imiyalezo ahlinzekwa yi-SOAP asekelwe ngokuphelele ku-XML. Ubuchwepheshe obudala obungahambelani ne-inthanethi obufana ne-Distributed Component Object Model (DCOM) kanye ne-Common Object Request Broker Architecture bathathelwe indawo yi-SOAP ngenkathi buqala ukudalwa yi-Microsoft (CORBA).
Ukuthembela ekuxhumaneni kanambambili kubangela ukuthi lezi zinhlelo zihluleke. Ku-inthanethi, imilayezo ye-XML efana naleyo esetshenziswa yi-SOAP isebenza kangcono.
Izici
- Ukuvikeleka kwe-SOAP kuqine kakhulu. I-WS-Security iyindinganiso eyakhelwe ngaphakathi enikeza i-SOAP amakhono engeziwe okuphepha ezinga lebhizinisi uma edingeka ngaphezu kosekelo lwe-SSL.
- Uphumelele/zama futhi ukucabanga ngokusebenza komlayezo othembekile. Ngenxa yokuthi i-REST ayinayo indlela yomlayezo ojwayelekile, ingazama futhi lapho ukuxhumana kwehluleka. Ngisho noma usebenzisa i-SOAP intermediates, i-SOAP inikeza ukwethembeka ekupheleni ukuya ekupheleni ngenxa yobuhlakani bayo okwakhelwe ngaphakathi okuyimpumelelo/okuphinda uzame.
- I-SOAP isivele ihambisana namazinga e-ACID. Ngokubeka ukuthi okwenziwayo kungasebenzisana kanjani nesizindalwazi, ukuthobela i-ACID kunciphisa okudidayo futhi kuvikela ukungaguquguquki kwesizindalwazi. Ngenxa yokuthi i-ACID iqaphe kakhulu kunamanye amamodeli afana nedatha, ivamise ukusetshenziswa lapho kulawulwa imisebenzi ebucayi, kungaba eyezezimali noma ngenye indlela.
- Kulula ukuthi abahleli bezinhlelo bakuqonde njengoba i-SOAP iwukuxhumana okusekelwe ngokuphelele ku-XML.
- Iphrothokholi yemiyalezo ye-XML iyisengezo kuphrothokholi ye-HTTP.
- Ukuxhumana kusuka kwenye ikhompuyutha kuya kwenye kungasakazwa ngemiyalezo ye-SOAP.
- Izakhiwo ze-Client-server nazo zingasetshenziswa. Umlayezo wephrothokholi we-SOAP ungasetshenziswa iklayenti ukushayela ucingo lwenqubo olukude olusohlangothini lweseva.
REST Vs Umehluko Wensipho
1. izakhiwo
I-API ihloselwe ukubonisa ngokuyinhloko izingxenye ezithile zomqondo webhizinisi wohlelo lokusebenza kuseva. Nakuba i-REST isebenzisa ama-URI ngenjongo efanayo, i-SOAP isebenzisa i-Service Interface kulokhu.
Ama-REST API adalwa ngemva kwedatha, kuyilapho ama-SOAP API akhiwa ngemva kokusebenza okuboniswa yi-API. Uma kuqhathaniswa ne-SOAP, eqhutshwa kakhulu umsebenzi, i-REST iwumklamo oqhutshwa idatha.
I-2. I-Caching
Idatha emakwe njengelondolozekayo ingasetshenziswa iziphequluli futhi ngaphandle kokuzidinga ukuthi zenze isicelo esisha kuseva. Ukonga isikhathi nomzamo kuyinzuzo yalokhu.
Izimpendulo ngeke zifakwe kunqolobane ileveli ye-HTTP njengoba imibuzo ye-SOAP ithunyelwa ngezicelo ze-POST, izinga le-HTTP elikubheka njengokungasho lutho. Uma ufuna ukusebenzisa ukulondoloza isikhashana, kusafanele wakhe amasu adingekayo njengoba ama-REST API awabandakanyi lokhu kuqaliswa.
3. Izinsiza & Nomkhawulokudonsa
Ngenxa yokudluliswa komthwalo wemvilophu osetshenziswa yi-SOAP, kunokwenyuka okulinganiselwe kwe-overhead, okudinga umkhawulokudonsa owengeziwe. Imvelo ye-REST engasindi iyinzuzo kulezi zimo ngoba ngokuvamile isetshenziselwa amasevisi ewebhu.
4. Security
Ukuphepha kwe-WS, okusekelwe yi-SOAP futhi okunemininingwane kancane kune-SSL ezingeni lezokuthutha, kuyafiseleka. Ukuhlanganisa nezinyathelo zokuphepha zezinga lebhizinisi nakho kuyalingana kahle.
Ukubethela ngasemaphethelweni kusetshenziswa i-SSL kusekelwa kokubili i-SOAP ne-REST, futhi i-REST ingasebenzisa i-HTTPS, okuhlukile okuvikelekile kwephrothokholi ye-HTTP.
5. Ukuphatha Inkokhelo
Idatha edluliswa nge-inthanethi ibizwa ngokuthi umthwalo okhokhelwayo. Umthwalo okhokhelwayo obhekwa “njengosindayo” udinga izinsiza ezengeziwe. Uma kuqhathaniswa ne-SOAP, esebenzisa i-XML, i-REST ivamise ukusebenzisa i-JSON ne-HTTP ukusiza ukwehlisa ukukhokhelwa.
Ilabhulali Yeklayenti ekhethekile enekhodi ekhiqiziwe kufanele ngokujwayelekile isetshenziswe Iklayenti ukuze lifinyelele ama-SOAP APIs ngenxa yenkontileka yalo yokuxhumana eqinile kakhulu.
Njengomphumela, i-SOAP inikeza ileveli encane yokukhipha kune-REST futhi ixhumeke kakhulu neseva.
Isetshenziswa nini i-REST?
- Ukudala ama-API asesidlangalaleni: Ama-REST API ancanyelwa ukwakha izinsiza zewebhu zomphakathi ngoba abonakala elula ukuwasebenzisa nokuwasebenzisa kunama-SOAP API. Ukwengeza, i-SOAP inikeza izinyathelo zokuphepha ezimbalwa ezakhelwe ngaphakathi i-REST engenazo, nakuba lezi zici zingadingeki lapho usebenza nedatha evulekile namasevisi.
- Ukwakha izinhlelo zokusebenza zeselula: I-REST ilungele ukwakha izinhlelo zokusebenza zeselula njengoba incane, iyasebenza, ayinasimo, futhi iyagcinwa.
- Ukusebenzisa izinsiza zeseva eziyivelakancane kanye nomkhawulokudonsa: Zonke izicelo ze-REST API akumele zingabi nasimo, okusho ukuthi ukusebenzisana ngakunye kuhlukene futhi isicelo ngasinye nempendulo iqukethe yonke idatha edingekayo ukuze kuqedelwe lokho kuxhumana. Iseva ayilondolozi amarekhodi ezicelo zangaphambilini njengoba iphatha ngayinye njengesicelo esisha. Njengomphumela, iseva idinga inkumbulo encane kakhulu futhi isebenza ngokushesha kakhulu ngoba isicelo asidingi sinyathelo esengeziwe noma ukubuyisa idatha yomlando.
Isetshenziswa nini INSIPHO?
- Ukudala ama-API ayimfihlo, ikakhulukazi amabhizinisi amakhulu: I-SOAP ilungele izinhlelo zokusebenza zezinkampani njengoba ivumela ukugeleza kwedatha endaweni ehlukaniswe, esabalalisiwe futhi iqukethe izici zokuphepha ezimbalwa ze-inthanethi.
- Ukusebenzisa iphrothokholi yezokuthutha ngaphandle kwe-HTTP njengesendlalelo esingaphansi: I-SOAP ayincikile ku-HTTP njengesendlalelo esingaphansi. Kuye ngohlelo lwakho lokusebenza, ungasebenzisa i-SMTP (I-Simple Mail Transfer Protocol), i-JMS (i-Java Messaging Service), noma enye iphrothokholi yezokuthutha.
- Ukusebenza nezinhlelo ezijwayelekile: Ngokungafani nezicelo zokuthi REST APIs, izicelo kuma-SOAP APIs zinhle, okusho ukuthi iseva igcina ulwazi mayelana neklayenti futhi ilusebenzise kulo lonke uchungechunge lwezicelo noma imisebenzi. Noma lokhu kusebenzisa umkhawulokudonsa weseva nezinsiza eziningi, kubalulekile ukwenza izenzo ezijwayelekile noma ezixhumene, njengokudlulisa imali ebhange.
Isiphetho
Ukuqhathanisa phakathi kwe-REST kanye ne-SOAP APIs kwenza kube sobala ukuthi i-REST ikhethwa kune-SOAP. Noma kunjalo, kunezimo lapho i-SOAP API idingeka khona. Kwezinye izimo, izinsiza zewebhu zidalwa ngokuhlanganisa i-REST kanye ne-SOAP API.
Ngakho-ke, icala lokusebenzisa lizonquma ukuthi yisiphi isitayela se-API esizosebenza kangcono kakhulu.
shiya impendulo