Ṣe o fẹ sopọ app rẹ si Facebook ki o le ṣe agbekalẹ awọn ifiweranṣẹ laifọwọyi, tabi si Instagram ki o le tun awọn fọto ranṣẹ pẹlu awọn hashtags kan?
O tun le fẹ lati ṣafikun awọn fidio YouTube lori oju opo wẹẹbu rẹ. Awọn atọkun siseto ohun elo gba ọ laaye lati ṣe gbogbo awọn iṣẹ ṣiṣe wọnyi ati diẹ sii (APIs).
Awọn ohun elo oriṣiriṣi le “sọ” si ara wọn ni aabo ati iwọntunwọnsi ọpẹ si awọn API bii Instagram API, Facebook API, ati YouTube API.
Ni awọn ọrọ miiran, eto le gba awọn ẹya tabi data lati ẹyọ sọfitiwia miiran ki o lo wọn lati ni ilọsiwaju awọn ẹya tirẹ tabi iriri olumulo. Ṣugbọn bawo ni awọn ohun elo ṣe le ṣe awọn ibeere wọnyi, ṣe ilana wọn, ati dahun si wọn ni aṣa ti awọn miiran le loye?
Iyẹn da lori bii API ṣe ṣẹda. Nigbati o ba n jiroro lori awọn apẹrẹ API (ni wiwo siseto ohun elo), o jẹ igbagbogbo lati ṣe afiwe ỌṢẸ vs. REST, meji ninu awọn apẹrẹ API olokiki julọ.
Ni kete ti awọn API SOAP (Ilana Wiwọle Nkan ti o rọrun) di boṣewa goolu fun awọn ile-iṣẹ bii Oracle, Sun, ati PayPal, idahun dogba ati idakeji wa ni ọdun kan tabi bẹ nigbamii si REST APIs lati Google, Amazon, ati eBay.
Ninu ifiweranṣẹ yii, a yoo ṣe afiwe ati ṣe iyatọ awọn API ỌṢẸ pẹlu Awọn API REST ki o le pinnu eyiti o dara julọ fun awọn idi rẹ.
A yoo bẹrẹ nipa asọye API.
Kini API?
Ni wiwo siseto Ohun elo ni tọka si bi API. Awọn API jẹ pataki akojọpọ awọn ọna ati awọn iṣẹ ti o jẹ ki idagbasoke awọn ohun elo ṣiṣẹ. Wọn ni iraye si alaye ati awọn iṣẹ ti awọn oriṣiriṣi awọn eto, awọn iṣẹ, tabi awọn ọna ṣiṣe.
Wọn ṣiṣẹ bi too ti agbedemeji laarin ọpọlọpọ awọn eto sọfitiwia. Wọn jẹki “sọrọ” laarin awọn eto aisopọ meji.
Jẹ ki a mu apẹẹrẹ ti onijaja ọja ti o ni ipa ninu iṣowo ati awọn ọja inawo. A gbigba ti awọn aládàáṣiṣẹ iṣowo aligoridimu le ti wa ni ti sopọ si awọn onisowo ká ayanfẹ iṣowo Syeed nipasẹ ohun API. Eyi n gba ọ laaye, oluṣowo, lati ṣiṣẹ awọn iṣowo itanna tabi wo awọn agbasọ akoko gidi ati data idiyele.
Kini REST?
Otitọ “awọn iṣẹ wẹẹbu” API pẹlu REST (Gbigbe lọ si ipinlẹ Aṣoju). Awọn API REST ni a kọ sori awọn URI (Awọn idanimọ orisun orisun Aṣọkan, eyiti URL kan jẹ iru pataki), ilana HTTP, ati ọna kika data aṣawakiri-ibaramu ti iyalẹnu JSON.
Ilana SOAP, gẹgẹbi a ti sọ tẹlẹ, le ṣee tun lo. Awọn API REST le rọrun lati ṣẹda ati dagba, ṣugbọn wọn tun le jẹ nla ati nira — gbogbo rẹ da lori bii wọn ṣe ṣẹda wọn, faagun, ati ohun ti wọn pinnu lati ṣe.
Awọn idiwọ orisun, awọn ibeere aabo ti o dinku, ibaramu alabara aṣawakiri, wiwa, ilera data, ati iwọn jẹ diẹ ninu awọn idi ti iwọ yoo fẹ lati ṣe agbekalẹ API kan lati jẹ RESTful-awọn nkan ti o kan awọn iṣẹ wẹẹbu nitootọ.
REST nfunni ni aṣayan iwuwo fẹẹrẹ diẹ sii. ỌṢẸ soro lati lo o si wuwo si ọpọlọpọ awọn olupilẹṣẹ. Fun apẹẹrẹ, lilo SOAP pẹlu JavaScript nilo kikọ koodu pupọ lati pari awọn iṣẹ ṣiṣe ti o rọrun nitori eto XML pataki gbọdọ ṣẹda ni igba kọọkan.
REST (ni deede) nlo URL titọ ni aaye ibeere XML kan. Botilẹjẹpe awọn ayidayida to ṣọwọn wa nigbati o gbọdọ pese awọn alaye diẹ sii, pupọ julọ awọn iṣẹ wẹẹbu RESTful nikan lo ilana URL.
Awọn ọrọ-ọrọ HTTP 1.1 mẹrin naa GET, POST, PUT, ati DELETE le ṣee lo nipasẹ REST lati ṣe awọn iṣẹ ṣiṣe. Ko dabi ỌṢẸ, REST ko nilo idahun lati wa ni XML.
Awọn iṣẹ wẹẹbu ti o da lori REST ti o mu data jade ni Iye Iyapa Pipaṣẹ (CSV), Akọsilẹ Nkan JavaScript (JSON), ati awọn ọna kika Irọrun Irọrun Gangan (RSS) wa (RSS).
Idi ni pe o le gba awọn abajade ti o nilo ni ọna kika rọrun-lati-tumọ laarin ede ti o nlo fun ohun elo rẹ.
Awọn ẹya ara ẹrọ
- REST tẹnumọ ayedero ju gbogbo ohun miiran lọ, nitori awọn ilana HTTP.
- Oju opo wẹẹbu dara julọ fun REST. O ni ibamu pẹlu awọn aṣawakiri nitori JSON ti lo bi ọna kika data.
- REST jẹ olokiki fun iwọn iwọn ati iyara rẹ.
- Awọn asopọ olupin-olupin ati awọn ile ayaworan jẹ ni iraye si nipasẹ awọn API REST. Ti o ba jẹ RESTful, o ti kọ ni lilo awoṣe olupin alabara yii, pẹlu awọn irin-ajo yika laarin awọn ẹgbẹ mejeeji ti n kọja awọn ẹru isanwo data.
- Awọn API REST gba wiwo boṣewa adashe kan. Ni idaniloju pe gbogbo awọn ohun elo sopọ ni iṣọkan ati nipasẹ ẹnu-ọna kanna, ṣe ṣiṣan bi awọn ohun elo ṣe n ṣe ibasọrọ pẹlu API.
Kini SOAP?
Ilana tirẹ, ti a pe ni SOAP (Ilana Iwọle Nkan ti o rọrun), jẹ diẹ idiju diẹ sii ju REST nitori pe o ṣalaye awọn iṣedede diẹ sii, pẹlu awọn ti o ni ibatan si aabo ati ifijiṣẹ ifiranṣẹ.
Awọn ilana atorunwa wọnyi wa pẹlu afikun diẹ diẹ. Bibẹẹkọ, wọn le jẹ ipin ipinnu fun awọn iṣowo ti o nilo aabo lọpọlọpọ, idunadura, ati ACID (Atomicity, Consistency, Isolation, Durability) awọn agbara ibamu.
Fun idi ti lafiwe yii, o ṣe pataki lati ṣe akiyesi pe ọpọlọpọ awọn anfani ti SOAP ko nigbagbogbo lo si awọn ohun elo iṣẹ wẹẹbu, ṣiṣe wọn dara julọ fun awọn oju iṣẹlẹ iru ile-iṣẹ.
Awọn iwọn aabo ti o ga julọ (gẹgẹbi nigbati a mobile app ṣe ajọṣepọ pẹlu banki kan), awọn ohun elo fifiranṣẹ ti o nilo ibaraẹnisọrọ ti o gbẹkẹle, ibaraenisepo pẹlu awọn eto-ọrọ, tabi ibamu ACID jẹ awọn idi diẹ ti iwọ yoo fẹ lati ṣe apẹrẹ ohun elo kan nipa lilo API SOAP.
Awọn agbara fifiranṣẹ ti a funni nipasẹ SOAP da lori XML patapata. Awọn imọ-ẹrọ intanẹẹti ti ko ni ibaramu ti atijọ bii Awoṣe Ohun elo Ohun elo Pinpin (DCOM) ati Ohun-elo Ohun-elo Ohun-elo Ohun-ọṣọ ti o wọpọ ni a rọpo nipasẹ SOAP nigbati Microsoft (CORBA) ṣẹda akọkọ.
Igbẹkẹle lori awọn ibaraẹnisọrọ alakomeji fa awọn eto wọnyi lati kuna. Lori intanẹẹti, fifiranṣẹ XML bii eyi ti o lo nipasẹ awọn iṣẹ SOAP dara julọ.
Awọn ẹya ara ẹrọ
- Aabo ti SOAP jẹ pataki tighter. WS-Aabo jẹ boṣewa ti a ṣe sinu ti o funni ni afikun awọn agbara aabo ipele ile-iṣẹ SOAP ti o ba nilo ni afikun si atilẹyin SSL.
- Aṣeyọri/tun gbidanwo ero fun iṣẹ fifiranṣẹ igbẹkẹle. Nitori REST ko ni ẹrọ ifiranṣẹ idiwon, o le tun gbiyanju nikan nigbati ibaraẹnisọrọ ba kuna. Paapaa nigba lilo awọn agbedemeji SOAP, SOAP nfunni ni igbẹkẹle-igbẹkẹle ipari-si-opin nitori itumọ-itumọ ti aṣeyọri / atunṣayẹwo imọ-jinlẹ.
- ỌṢẸ tẹlẹ ni ibamu pẹlu awọn ajohunše ACID. Nipa sisọ bi awọn iṣowo ṣe le ṣe ibaraenisepo pẹlu ibi ipamọ data, ibamu ACID dinku awọn aiṣedeede ati aabo fun aitasera data kan. Nitori ACID jẹ iṣọra diẹ sii ju awọn awoṣe aitasera data miiran, a maa n lo nigbagbogbo nigbati o n ṣakoso awọn iṣowo ifura, boya owo tabi bibẹẹkọ.
- O rọrun fun awọn olupilẹṣẹ lati loye nitori SOAP jẹ ibaraẹnisọrọ ti o da lori XML patapata.
- Ilana fifiranṣẹ XML jẹ afikun si ilana HTTP.
- Awọn ibaraẹnisọrọ lati kọnputa kan si awọn kọnputa miiran le tan kaakiri nipasẹ fifiranṣẹ ỌṢẸ.
- Onibara-server faaji le tun ti wa ni imuse. Ifiranṣẹ Ilana SOAP le ṣee lo nipasẹ alabara lati pe ipe ilana isakoṣo latọna jijin ti o wa ni ẹgbẹ olupin.
REST Vs Ọṣẹ Iyato
1. Faaji
API kan ni ipinnu lati ṣafihan awọn paati kan pato ti oye iṣowo ti ohun elo lori olupin kan. Lakoko ti REST n lo awọn URI fun idi kanna, SOAP n gba Interface Iṣẹ kan fun eyi.
Awọn API REST ni a ṣẹda lẹhin data naa, lakoko ti awọn API SOAP ti ni idagbasoke lẹhin awọn iṣẹ ṣiṣe ti API ṣapejuwe. Ti a ṣe afiwe si ỌṢẸ, eyiti o jẹ iṣẹ-iwakọ diẹ sii, REST jẹ apẹrẹ ti o ni idari data diẹ sii.
2. Wiwaja
Awọn data ti o ti samisi bi cacheable le ṣee lo nipasẹ awọn aṣawakiri lẹẹkansi lai nilo wọn lati ṣe ibeere tuntun si olupin naa. Fifipamọ akoko ati igbiyanju jẹ anfani ti eyi.
Awọn idahun kii yoo ni ipamọ ni ipele HTTP nitori awọn ibeere SOAP ti wa ni ifisilẹ nipasẹ awọn ibeere POST, eyiti boṣewa HTTP ro pe kii ṣe agbara. Ti o ba fẹ gba caching, o tun gbọdọ kọ awọn ilana pataki bi awọn API REST ko pẹlu imuse yii.
3. Oro & Bandiwidi
Nitori gbigbe gbigbe isanwo-ara apoowe ti a lo nipasẹ SOAP, ilosoke iwọntunwọnsi wa ni oke, eyiti o nilo afikun bandiwidi. Iseda iwuwo iwuwo REST jẹ anfani ni awọn ipo wọnyi nitori o jẹ lilo gbogbogbo fun awọn iṣẹ wẹẹbu.
4. aabo
WS-aabo, eyiti SOAP ṣe atilẹyin ati pe o jẹ diẹ sii ni kikun ju SSL ni ipele gbigbe, jẹ iwunilori. Ṣafikun awọn igbese aabo ipele-ile-iṣẹ pẹlu rẹ tun jẹ ibamu pipe.
Ìsekóòdù Ipari-si-opin nipa lilo SSL jẹ atilẹyin nipasẹ ỌṢẸ ati REST mejeeji, ati REST le lo HTTPS, iyatọ to ni aabo ti ilana HTTP.
5. Mimu Payloads
Awọn data ti o tan kaakiri nipasẹ Intanẹẹti ni a tọka si bi fifuye isanwo. Ẹru isanwo ti o jẹ “eru” nilo awọn orisun afikun. Ti a ṣe afiwe si SOAP, eyiti o nlo XML, REST nigbagbogbo nlo JSON ati HTTP lati ṣe iranlọwọ lati dinku fifuye isanwo naa.
Ile-ikawe Onibara pataki kan pẹlu koodu ti ipilẹṣẹ gbọdọ jẹ igbagbogbo lo nipasẹ Onibara lati wọle si awọn API SOAP nitori adehun ibaraẹnisọrọ to lagbara pupọ.
Bi abajade, SOAP nfunni ni ipele ti o kere ju ti REST ati pe o ni asopọ ni pẹkipẹki pẹlu olupin naa.
Nigbawo lati lo REST?
- Ṣiṣẹda awọn API ti gbogbo eniyan: Awọn API REST jẹ ayanfẹ fun kikọ awọn iṣẹ wẹẹbu ti gbogbo eniyan nitori pe wọn rii pe o rọrun lati lo ati gba ju awọn API SOAP lọ. Ni afikun, SOAP nfunni ni ọpọlọpọ awọn ọna aabo ti a ṣe sinu ti REST ko ni, botilẹjẹpe awọn abuda wọnyi ko nilo nigbati o n ṣiṣẹ pẹlu data ṣiṣi ati awọn iṣẹ.
- Ṣiṣe awọn ohun elo alagbeka: REST jẹ pipe fun kikọ awọn ohun elo alagbeka niwọn igba ti o kere, doko, aisi ipinlẹ, ati cacheable.
- Lilo awọn orisun olupin ti o ṣọwọn ati bandiwidi: Gbogbo awọn ibeere si API REST gbọdọ jẹ alaini orilẹ-ede, eyiti o tumọ si pe ibaraenisepo kọọkan jẹ lọtọ ati ibeere ati idahun kọọkan ni gbogbo data pataki lati pari ibaraenisepo yẹn. Olupin naa ko ṣafipamọ awọn igbasilẹ ti awọn ibeere iṣaaju nitori o tọju ọkọọkan bi ibeere tuntun. Bi abajade, olupin naa nilo iranti ti o kere pupọ ati pe o ṣiṣẹ ni yarayara nitori ibeere kan ko ṣe dandan awọn iṣe siwaju tabi gbigba data itan pada.
Nigbawo lati lo ỌṢẸ?
- Ṣiṣẹda awọn API aladani, pataki fun awọn iṣowo nla: SOAP jẹ pipe fun awọn ohun elo ile-iṣẹ niwon o jẹ ki sisan data ni agbegbe ti a ti pin, ti o pin ati pe o ni awọn ẹya aabo lori ayelujara pupọ.
- Lilo ilana gbigbe miiran yatọ si HTTP bi Layer ti o wa labẹ: SOAP ko dale lori HTTP bi Layer ti o wa ni abẹlẹ. Ti o da lori ohun elo rẹ, o le lo SMTP (Ilana Gbigbe Mail Rọrun), JMS (Iṣẹ Ifiranṣẹ Java), tabi Ilana gbigbe miiran.
- Nṣiṣẹ pẹlu awọn iṣẹ ṣiṣe ti ipinlẹ: Ni idakeji si awọn ibeere si awọn API REST, awọn ibeere si awọn API ỌṢẸ jẹ alaye, afipamo pe olupin n fipamọ alaye nipa alabara ati lo o kọja pq awọn ibeere tabi awọn iṣẹ ṣiṣe. Paapaa lakoko ti eyi nlo bandiwidi olupin diẹ sii ati awọn orisun, o ṣe pataki fun ṣiṣe ṣiṣe ṣiṣe tabi awọn iṣe ti o sopọ mọ, bii awọn gbigbe banki.
ipari
Ifiwera laarin REST ati awọn API ọṣẹ jẹ ki o han gbangba pe REST jẹ ayanfẹ si Ọṣẹ. Paapaa sibẹsibẹ, awọn ipo wa nibiti o nilo API SOAP. Ni awọn iṣẹlẹ kan, awọn iṣẹ wẹẹbu ni a ṣẹda nipasẹ apapọ REST ati awọn API ọṣẹ.
Nitorinaa, ọran lilo yoo pinnu iru ara API yoo ṣiṣẹ dara julọ.
Fi a Reply