Èske w vle konekte aplikasyon w lan ak Facebook pou li ka jenere post otomatikman, oswa sou Instagram pou w ka repost foto ak sèten hashtags?
Ou ta ka vle tou mete videyo YouTube sou sit entènèt ou an. Entèfas pwogramasyon aplikasyon pèmèt ou fè tout travay sa yo ak plis ankò (APIs).
Aplikasyon diferan ka "pale" youn ak lòt nan yon fason ki an sekirite ak estanda gras a API tankou Instagram API, Facebook API, ak YouTube API.
Nan lòt mo, yon pwogram ka pran karakteristik oswa done ki soti nan yon lòt moso nan lojisyèl epi itilize yo amelyore karakteristik pwòp li yo oswa eksperyans itilizatè. Men, ki jan aplikasyon yo ka fè demann sa yo, trete yo, epi reponn yo yon fason ke lòt moun ka konprann?
Sa depann de ki jan API a te kreye. Lè w ap diskite sou konsepsyon API (koòdone pwogramasyon aplikasyon), li nòmal pou konpare SOAP ak REST, de nan paradigm API ki pi enpòtan yo.
Le pli vit ke API SOAP (Simple Object Access Protocol) te vin estanda lò pou konpayi tankou Oracle, Sun, ak PayPal, te gen yon repons egal ak opoze yon ane oswa konsa pita nan direksyon REST API soti nan Google, Amazon, ak eBay.
Nan pòs sa a, nou pral konpare ak diferansye API SOAP ak API REST pou ou ka deside kiyès ki pi bon pou objektif ou.
Nou pral kòmanse pa defini API a.
Ki sa ki API?
Entèfas Programming Aplikasyon yo refere yo kòm API. API yo se esansyèlman yon koleksyon metòd ak fonksyon ki pèmèt devlopman aplikasyon yo. Yo jwenn aksè a enfòmasyon ak fonksyon diferan pwogram, sèvis, oswa sistèm opere.
Yo sèvi kòm yon sòt de entèmedyè ant divès sistèm lojisyèl. Yo pèmèt "pale" ant de pwogram ki pa konekte.
Ann pran egzanp yon ajan bous ki patisipe aktivman nan komès ak mache finansye yo. Yon koleksyon otomatik algoritm komès ka konekte ak platfòm komès pi renmen komèsan koutye a atravè yon API. Sa a pèmèt ou, machann vann, egzekite tranzaksyon elektwonik oswa wè sityasyon an tan reyèl ak done pri.
ki sa ki REST?
Vrè API "sèvis entènèt" gen ladan REST (Representational State Transfer). API REST yo bati sou URI (Idantifikatè Resous Inifòm, kote yon URL se yon kalite espesyal), pwotokòl HTTP a, ak fòma done JSON ki trè konpatib ak navigatè a.
Pwotokòl SOAP la, jan nou te deja deklare, petèt ka itilize tou. API REST yo ka fasil pou kreye ak grandi, men yo ka menmen ak difisil tou—li tout depann de fason yo kreye, elaji, ak sa yo gen entansyon fè.
Kontrent resous, kondisyon sekirite redwi, konpatibilite kliyan navigatè, dekouvèt, sante done, ak évolutivité se kèk rezon ou ta vle devlope yon API yo dwe RESTful - bagay ki aktyèlman aplike nan sèvis entènèt.
REST ofri yon opsyon ki pi lejè. SOAP te difisil pou itilize ak lou pou anpil devlopè. Pou egzanp, lè l sèvi avèk SOAP ak JavaScript mande pou ekri yon anpil nan kòd pou konplete operasyon senp paske estrikti XML nesesè yo dwe kreye chak fwa.
REST (tipikman) sèvi ak yon URL senp nan plas yon demann XML. Malgre ke gen sikonstans ki ra lè ou dwe ofri plis detay, majorite sèvis entènèt RESTful sèlman itilize teknik URL la.
Kat vèb HTTP 1.1 GET, POST, PUT, ak DELETE ka itilize pa REST pou fè operasyon. Kontrèman ak SOAP, REST pa bezwen repons lan nan XML.
Sèvis entènèt ki baze sou REST ki bay done nan fòma Command Separated Value (CSV), JavaScript Object Notation (JSON), ak fòma Really Simple Syndication (RSS) ki disponib (RSS).
Objektif la se ke ou ka jwenn rezilta ou bezwen yo nan yon fòma fasil pou analize nan lang w ap itilize pou aplikasyon w lan.
karakteristik
- REST mete aksan sou senplisite pi wo a tout lòt bagay, akòz pwotokòl HTTP.
- Entènèt la pi byen adapte pou REST. Li konpatib ak navigatè paske yo itilize JSON kòm fòma done yo.
- REST se renome pou évolutivité eksepsyonèl li yo ak vitès.
- Koneksyon kliyan-sèvè ak achitekti yo vin pi aksesib pa API REST. Si li se RESTful, li konstwi lè l sèvi avèk modèl kliyan-sèvè sa a, ak vwayaj wonn ant de pati yo pase chaj done.
- REST APIs anplwaye yon koòdone estanda solitè. Asire ke tout aplikasyon yo konekte inifòm ak atravè menm pòtay la, rasyonalize fason aplikasyon yo kominike ak API a.
ki sa ki SAVON?
Pwotokòl pwòp li yo, ki rele SOAP (Simple Object Access Protocol), se yon ti kras pi konplike pase REST paske li presize plis estanda, enkli sa ki gen rapò ak sekirite ak livrezon mesaj.
Nòm nannan sa yo vini ak yon ti kras anplis sou tèt yo. Sepandan, yo kapab yon faktè desizif pou biznis ki bezwen plis sekirite, tranzaksyon, ak kapasite konfòmite ACID (Atomisite, Konsistans, Izolasyon, Durability).
Pou dedomajman pou konparezon sa a, li enpòtan sonje ke anpil nan benefis SOAP yo pa souvan aplike nan aplikasyon sèvis entènèt, ki fè yo pi apwopriye pou senaryo kalite antrepriz.
Pi wo degre sekirite (tankou lè a mobil app kominike avèk yon bank), aplikasyon pou messagerie ki mande kominikasyon serye, kominike avèk sistèm eritaj, oswa konfòmite ACID se kèk rezon ou ta vle konsepsyon yon aplikasyon ki itilize yon API SOAP.
Kapasite mesaj SOAP ofri yo antyèman baze sou XML. Teknoloji ki pi ansyen ki pa konpatib ak Entènèt tankou Modèl Objè Konpozan Distribiye (DCOM) ak Achitekti Common Object Request Broker te ranplase pa SOAP lè Microsoft (CORBA) te kreye l.
Depandans sou kominikasyon binè lakòz sistèm sa yo echwe. Sou entènèt la, mesaj XML tankou sa ki itilize pa SOAP fonksyone pi byen.
karakteristik
- Sekirite SOAP siyifikativman pi sere. WS-Security se yon estanda entegre ki ofri SOAP plis kapasite sekirite nan nivo antrepriz si sa nesesè anplis sipò SSL.
- Siksè/reesye rezònman pou pèfòmans mesaj konfyans. Paske REST manke yon mekanis mesaj estanda, li ka sèlman reeseye lè kominikasyon echwe. Menm lè w ap itilize entèmedyè SOAP, SOAP ofri fyabilite bout-a-fen akòz lojik entegre siksè/reesye.
- SAVON deja konfòm ak estanda ACID. Lè yo dikte fason tranzaksyon yo ka kominike avèk baz done a, konfòmite ACID minimize anomali yo epi pwoteje konsistans yon baz done. Paske ACID pi pridan pase lòt modèl konsistans done yo, li souvan itilize lè jere tranzaksyon sansib, si finansye oswa otreman.
- Li senp pou pwogramè yo konprann depi SOAP se yon kominikasyon totalman ki baze sou XML.
- Pwotokòl la messagerie XML se yon adisyon nan pwotokòl la HTTP.
- Kominikasyon soti nan yon òdinatè nan yon lòt òdinatè yo ka gaye atravè mesaj SOAP.
- Achitekti kliyan-sèvè kapab tou aplike. Yon mesaj pwotokòl SOAP ka itilize pa kliyan an pou rele yon apèl pwosedi aleka ki sitiye bò sèvè.
Diferans REST vs SOAP
1. Achitèk
Yon API gen entansyon prensipalman montre eleman espesifik nan lojik biznis nan yon aplikasyon sou yon sèvè. Pandan ke REST sèvi ak URI pou menm objektif la, SOAP anplwaye yon koòdone sèvis pou sa.
API REST yo kreye apre done yo, tandiske API SOAP yo devlope apre fonksyonalite API a montre. Konpare ak SOAP, ki se plis fonksyon-kondwi, REST se yon konsepsyon plis done-kondwi.
NAN. Caching
Done ki te make kòm kachèt ka itilize pa navigatè ankò san yo pa mande yo fè yon nouvo demann nan sèvè a. Ekonomize tan ak efò se yon benefis nan sa a.
Repons yo p ap kache nan nivo HTTP paske demann SOAP yo soumèt atravè demann POST, ki estanda HTTP a jije ki pa idempotan. Si ou vle anplwaye kachèt, ou dwe toujou bati teknik ki nesesè yo paske API REST pa enkli aplikasyon sa a.
3. Resous & Bandwidth
Akòz transfè charj anvlòp la itilize pa SOAP, gen yon ogmantasyon modès nan tèt yo, ki bezwen plis Pleasant. Nati ki lejè REST a se yon benefis nan sitiyasyon sa yo paske li jeneralman itilize pou sèvis entènèt.
4. Sekirite
WS-security, ki SOAP sipòte epi li yon ti kras pi bon pase SSL nan nivo transpò, se dezirab. Enkòpore mezi sekirite nan nivo antrepriz ak li se tou yon anfòm pafè.
Tou de SOAP ak REST sipòte chifreman fen-a-fen lè l sèvi avèk SSL, epi REST ka itilize HTTPS, variant an sekirite nan pwotokòl HTTP a.
5. Manyen Chaj yo
Done ki transmèt atravè entènèt la refere yo kòm yon chaj. Yon chaj ki konsidere kòm "lou" bezwen resous adisyonèl. Konpare ak SOAP, ki itilize XML, REST souvan itilize JSON ak HTTP pou ede diminye chaj la.
Gen yon bibliyotèk Kliyan espesyalize ki gen kòd jenere dwe itilize pa Kliyan an tipikman jwenn aksè nan API SOAP akòz kontra kominikasyon ki trè sevè yo.
Kòm yon rezilta, SOAP ofri yon pi piti nivo abstraksyon pase REST epi li pi byen konekte ak sèvè a.
Ki lè pou itilize REST?
- Kreye API piblik yo: API REST yo pi pito pou bati sèvis entènèt piblik paske yo wè yo pi senp pou itilize ak adopte pase API SOAP. Anplis de sa, SOAP ofri plizyè mezi sekirite entegre ke REST pa genyen, byenke karakteristik sa yo pa obligatwa lè w ap travay ak done ak sèvis ouvè.
- Konstwi aplikasyon mobil: REST pafè pou bati aplikasyon mobil paske li piti, efikas, apatrid, ak kach.
- Sèvi ak resous sèvè ra ak Pleasant: Tout demann pou yon API REST dwe apatrid, sa vle di chak entèraksyon separe epi chak demann ak repons genyen tout done ki nesesè pou konplete entèraksyon sa a. Sèvè a pa sove dosye sou demann anvan yo paske li trete chak yo kòm yon demann fre. Kòm yon rezilta, sèvè a mande mwens memwa epi li fonksyone pi vit paske yon demann pa bezwen plis aksyon oswa rekipere done istorik yo.
Kilè pou itilize SAVON?
- Kreye API prive, sitou pou gwo biznis: SOAP se pafè pou aplikasyon antrepriz paske li pèmèt done koule nan yon anviwònman desantralize, distribye epi li gen plizyè karakteristik sekirite sou entènèt.
- Sèvi ak yon pwotokòl transpò ki pa HTTP kòm kouch ki kache: SOAP pa depann sou HTTP kòm kouch ki kache. Tou depan de aplikasyon w lan, ou ka itilize SMTP (Simple Mail Transfer Protocol), JMS (Java Messaging Service), oswa yon lòt pwotokòl transpò.
- Travay ak operasyon leta yo: Kontrèman ak demann pou API REST, demann pou API SOAP yo se eta, sa vle di sèvè a sove enfòmasyon sou kliyan an epi itilize li atravè yon chèn demann oswa operasyon. Menm lè sa a sèvi ak plis lajè sèvè ak resous, li enpòtan anpil pou fè woutin oswa aksyon lye, tankou transfè labank.
konklizyon
Konparezon ant REST ak SOAP API fè li byen evidan ke REST pi bon pase SOAP. Menm ankò, gen sitiyasyon kote SOAP API obligatwa. Nan sèten ka, yo kreye sèvis entènèt lè yo konbine REST ak API SOAP.
Se poutèt sa, ka itilize a pral detèmine ki style API ki pral travay pi byen.
Kite yon Reply