Table of Contents[Veşartin][Rêdan]
Ma hûn dixwazin sepana xwe bi Facebookê ve girêdin da ku ew bixweber postan çêbike, an jî bi Instagram re da ku hûn bi hin hashtag wêneyan ji nû ve bişînin?
Her weha hûn dikarin bixwazin ku vîdyoyên YouTube-ê li ser malpera xwe bicîh bikin. Têkiliyên bernamesaziya serîlêdanê dihêle hûn van hemî karan û bêtir (API) pêk bînin.
Serlêdanên cihêreng bi saya API-yên mîna Instagram API, Facebook API, û API-ya YouTube-ê dikarin bi rengek ewledar û standardkirî bi hev re "biaxivin".
Bi gotinek din, bernameyek dikare taybetmendî an daneyan ji nermalava din bigire û wan bikar bîne da ku taybetmendiyên xwe an ezmûna bikarhêner çêtir bike. Lê sepan çawa dikarin van daxwazan bikin, wan bişopînin û bi şêwazek ku yên din fêm bikin bersivê bidin?
Ew girêdayî ye ka API çawa hate afirandin. Dema ku li ser sêwiranên API (navbera bernamesaziya serîlêdanê) nîqaş tê kirin, bi gelemperî meriv SOAP û REST, du ji paradîgmayên herî berbiçav ên API-yê didin ber hev.
Gava ku SOAP APIs (Protokola Gihîştina Tiştên Hêsan) bû standarda zêrîn ji bo pargîdaniyên mîna Oracle, Sun, û PayPal, salek şûnda bersivek wekhev û berevajî li hember API-yên REST ji Google, Amazon, û eBay peyda bû.
Di vê postê de, em ê API-yên SOAP-ê bi API-yên REST re bidin ber hev û berevajî bikin da ku hûn biryar bidin ka kîjan ji bo armancên we çêtirîn e.
Em ê bi destnîşankirina API-ê dest pê bikin.
API çi ye?
Navbera Bernamesaziya Serlêdanê wekî API tê binav kirin. API bi bingehîn berhevokek rêbaz û fonksiyonan in ku pêşkeftina sepanan pêk tîne. Ew digihîjin agahdarî û fonksiyonên bername, karûbar, an pergalên xebitandinê yên cihêreng.
Ew di navbera pergalên nermalava cihêreng de wekî celebek navbeynkar kar dikin. Ew "axaftin" di navbera du bernameyên negirêdayî de çalak dikin.
Werin em mînaka borsazanek ku bi awayekî aktîf di bazirganiyê û bazarên darayî de cih digire, bigirin. A collection of automated algorîtmayên bazirganî dikare bi navgîniya API-ê ve bi platforma brokera bazirganiya bijare ya bazirgan ve were girêdan. Ev dihêle hûn, bazirgan, danûstendinên elektronîkî pêk bînin an jî danûstendinên rast û daneyên bihayê bibînin.
REST çi ye?
API-yên "karûbarên malperê" yên rastîn REST (Veguhestina Dewleta Nûnertiyê) vedigirin. API-yên REST li ser URI-yan (Nasnameyên Çavkaniyê yên Yekgirtî, ku URL celebek taybetî ye), protokola HTTP, û formata daneya JSON-a ku bi gerok-hevahenga bêhempa ye têne çêkirin.
Protokola SOAP, wekî ku me berê jî diyar kir, dibe ku were bikar anîn. API-yên REST dikarin hêsan bin ku werin afirandin û mezin kirin, lê ew di heman demê de dikarin pir mezin û dijwar bin - ew hemî bi wê ve girêdayî ye ka ew çawa têne afirandin, berfireh kirin, û mebesta wan çi ye ku bikin.
Astengiyên çavkaniyê, kêmbûna hewcedariyên ewlehiyê, lihevhatina xerîdar a gerokê, vedîtin, tenduristiya daneyê, û berbelavbûn hin sedem in ku hûn dixwazin API-yek pêşve bibin ku RESTful be - tiştên ku bi rastî li ser karûbarên malperê têne sepandin.
REST vebijarkek siviktir pêşkêşî dike. SOAP ji bo gelek pêşdebiran karanîna dijwar û giran bû. Mînakî, karanîna SOAP-ê bi JavaScript-ê re hewce dike ku gelek kod binivîsîne da ku karûbarên hêsan temam bike ji ber ku divê her carê strukturek XML-ya pêwîst were afirandin.
REST (bi gelemperî) li şûna daxwazek XML URLek rasterast bikar tîne. Her çend rewşên kêm hene ku hûn hewce ne ku bêtir hûrguliyan pêşkêş bikin, piraniya karûbarên webê yên RESTful tenê teknîka URL-ê bikar tînin.
Çar lêkerên HTTP 1.1 GET, POST, PUT, û DELETE dikare ji hêla REST ve were bikar anîn da ku operasyonan pêk bîne. Berevajî SOAP, REST ne hewce ye ku bersiv di XML de be.
Karûbarên webê yên li ser REST-ê yên ku daneyan di Formatên Nirxa Veqetandî ya Fermandar (CSV), Nîşana Nesneya JavaScript (JSON) û Formên Rastî Simple Syndication (RSS) de derdixin hene (RSS).
Armanc ev e ku hûn di nav zimanê ku hûn ji bo serîlêdana xwe bikar tînin de encamên ku hûn hewce ne bi rengek hêsan-parçekirinê bistînin.
Features
- REST ji ber protokolên HTTP, berî her tiştî li ser sadebûnê tekez dike.
- Malper ji bo REST-ê çêtirîn e. Ew bi gerokan re hevaheng e ji ber ku JSON wekî formata daneyê tê bikar anîn.
- REST bi pîvan û leza xwe ya berbiçav navdar e.
- Girêdanên xerîdar-server û mîmarî ji hêla API-yên REST ve bêtir têne çêkirin. Ger ew RESTful be, ew bi karanîna vê modela xerîdar-server ve hatî çêkirin, digel rêwîtiyên dor di navbera her du aliyan de ku barên daneyê derbas dikin.
- REST API-ên navgînek standardek yekane bikar tînin. Piştrastkirina ku hemî serîlêdan bi yekdeng û bi heman dergehê ve girêdidin, çawa sepanan bi API-yê re têkilî daynin rêve dike.
SOAP çi ye?
Protokola wê ya bi navê SOAP (Simple Object Access Protocol), ji REST hinekî tevlihevtir e ji ber ku ew bêtir standardan diyar dike, tevî yên ku bi ewlehî û gihandina peyamê ve girêdayî ne.
Van normên xwerû bi piçek zêde zêde tê. Lêbelê, ew dikarin bibin faktorek diyarker ji bo karsaziyên ku hewceyê ewlehiya berfirehtir, danûstendin, û ACID (Atomicity, Consistency, Isolation, Durability) kapasîteyên lihevhatinê ne.
Ji bo vê berhevdanê, girîng e ku bala xwe bidinê ku gelek feydeyên SOAP-ê bi gelemperî li ser sepanên karûbarên malperê nayên sepandin, ku wan ji bo senaryoyên celeb-karsaziyê maqûltir dike.
Dereceyên bilind ên ewlehiyê (wek mînak dema ku a app mobîl bi bankekê re têkilî daynin), sepanên mesajê yên ku pêwendiya pêbawer hewce dikin, pêwendiya bi pergalên mîras, an lihevhatina ACID re çend sedem in ku hûn dixwazin serîlêdanek bi karanîna API-ya SOAP-ê sêwirînin.
Kapasîteyên mesajê yên ku ji hêla SOAP ve têne pêşkêş kirin bi tevahî li ser XML-ê ne. Teknolojiyên kevntir ên ku bi înternetê re nehevaheng in, mîna Modela Hêmana Berhevkirî ya Dabeşkirî (DCOM) û Mîmariya Brokera Daxwaza Common Object dema ku ew yekem car ji hêla Microsoft (CORBA) ve hate afirandin, ji hêla SOAP-ê ve hate guheztin.
Pabendbûna bi danûstendinên binary dibe sedema têkçûna van pergalan. Li ser înternetê, mesajên XML yên mîna ya ku ji hêla SOAP ve hatî bikar anîn çêtir dike.
Features
- Ewlehiya SOAPê bi girîngî tundtir e. WS-Security standardek çêkirî ye ku heke hewce bike ji bilî piştgiriya SSL-ê, SOAP-ê kapasîteyên ewlehiyê yên asta pargîdaniyê yên din jî pêşkêşî dike.
- Ji bo performansa peyama pêbawer aqilkirina serketî / ji nû ve biceribîne. Ji ber ku REST nebûna mekanîzmayek peyamek standardkirî ye, ew tenê dema ku têkilî têk diçe dikare ji nû ve biceribîne. Tewra dema ku navbeynkarên SOAP-ê bikar tînin, SOAP ji ber mantiqa xweya serketî/vegere ya çêkirî pêbaweriya dawî-bi-dawî pêşkêşî dike.
- SOAP jixwe bi standardên ACID re tevdigere. Bi dîktatoriya ku danûstendin çawa dikarin bi databasê re têkilî daynin, lihevhatina ACID anomaliyan kêm dike û hevgirtina databasekê diparêze. Ji ber ku ACID ji modelên din ên hevgirtina daneyê hişyartir e, ew bi gelemperî dema ku danûstendinên hesas birêve dibe, çi darayî an wekî din tê bikar anîn.
- Fêmkirina bernamenûsan hêsan e ji ber ku SOAP pêwendiyek bi tevahî XML-based e.
- Protokola mesajên XML pêvekek protokola HTTP ye.
- Danûstandinên ji komputerek ji bo komputerek din dikare bi riya peyamên SOAP ve bêne belav kirin.
- Mîmariya Client-server jî dikare were bicîh kirin. Peyamek protokola SOAP-ê dikare ji hêla xerîdar ve were bikar anîn da ku bangek pêvajoyek dûr a ku li kêleka serverê ye were bikar anîn.
Cûdahiyên REST Vs SOAP
1. Mîmarî
API tê armanc kirin ku di serî de hêmanên taybetî yên mantiqa karsaziya serîlêdanek li ser serverek nîşan bide. Dema ku REST ji bo heman armancê URI-yan bikar tîne, SOAP ji bo vê yekê Navberek Karûbar bikar tîne.
API-yên REST piştî daneyan têne afirandin, lê SOAP API-yên piştî fonksiyonên ku API destnîşan dike têne pêşve xistin. Li gorî SOAP-ê, ku bêtir fonksiyonê-rêveber e, REST sêwiranek dane-rêvebirtir e.
2. Veşartin
Daneyên ku wekî cacheable hatine nîşankirin dikarin dîsa ji hêla gerokan ve werin bikar anîn bêyî ku ew hewce bikin ku daxwazek nû ji serverê re bikin. Teserûfkirina dem û hewldan feydeya vê ye.
Bersiv dê di asta HTTP-ê de neyên girtin ji ber ku pirsên SOAP-ê bi daxwazên POST-ê têne şandin, ku standarda HTTP ne-idempotent dibîne. Ger hûn dixwazin cachkirinê bi kar bînin, divê hûn hîn jî teknîkên pêwîst ava bikin ji ber ku API-yên REST vê pêkanînê nagirin.
3. Çavkanî & Bandwidth
Ji ber veguheztina bargiraniya zerfê ya ku ji hêla SOAP-ê ve hatî bikar anîn, zêdebûnek hûrgelî heye, ku pêdiviya pêvek zêde hewce dike. Xwezaya sivik a REST di van rewşan de feydeyek e ji ber ku ew bi gelemperî ji bo karûbarên malperê tê bikar anîn.
4. Ewlekarî
Ewlekariya WS, ya ku SOAP piştgirî dike û di asta veguheztinê de ji SSL-ê piçek hûrtir e, tê xwestin. Tevlîhevkirina tedbîrên ewlehiyê yên di asta pargîdaniyê de bi wê re jî guncanek bêkêmasî ye.
Şîfrekirina dawî-bi-dawî ya bi karanîna SSL-ê hem ji hêla SOAP û hem jî REST ve tê piştgirî kirin, û REST dikare HTTPS, guhertoya ewledar a protokola HTTP bikar bîne.
5. Handling Payloads
Daneyên ku bi riya Înternetê têne şandin wekî bargiran têne binav kirin. Bargiraniyek ku "giran" tête hesibandin hewceyê çavkaniyên zêde hene. Li gorî SOAP, ku XML bikar tîne, REST pir caran JSON û HTTP bikar tîne da ku alîkariya kêmkirina bargiraniyê bike.
Pirtûkxaneyek Xerîdar a pispor a bi koda hilberandî divê bi gelemperî ji hêla Xerîdar ve were bikar anîn da ku bigihîje API-yên SOAP ji ber peymana pêwendiya wan a zehf hişk.
Wekî encamek, SOAP ji REST-ê astek piçûktir a abstrakasyonê pêşkêşî dike û ji nêz ve bi serverê ve girêdayî ye.
Kengî REST bikar bînin?
- API-ên gelemperî çêbikin: API-yên REST ji bo avakirina karûbarên webê yên gelemperî têne tercîh kirin ji ber ku ew ji API-yên SOAP-ê hêsan têne bikar anîn û pejirandin. Wekî din, SOAP gelek tedbîrên ewlehiyê yên çêkirî yên ku REST ne xwedan pêşkêşî dike, her çend ev taybetmendî ne hewce ne dema ku bi dane û karûbarên vekirî re dixebitin.
- Çêkirina sepanên mobîl: REST ji bo avakirina sepanên mobîl bêkêmasî ye ji ber ku ew piçûk, bandorker, bêdewlet û cacheable e.
- Karanîna çavkaniyên kêm server û bandwidth: Pêdivî ye ku hemî daxwazên ji API-ya REST re bê dewlet bin, ev tê vê wateyê ku her danûstendin ji hev cihê ye û her daxwaz û bersiv hemî daneyên ku ji bo temamkirina wê pêwendiyê hewce ne dihewîne. Pêşkêşker tomarên daxwazên berê tomar nake ji ber ku ew her yekê wekî daxwazek nû digire. Wekî encamek, server ji bîrek pir hindiktir hewce dike û bi leztir tevdigere ji ber ku daxwazek pêdivî bi çalakiyek din an vegerandina daneyên dîrokî nake.
Kengê SOAP bikar bînin?
- Çêkirina API-yên taybet, nemaze ji bo karsaziyên mezin: SOAP ji bo serîlêdanên pargîdanî bêkêmasî ye ji ber ku ew di hawîrdorek nenavendî, belavbûyî de herikîna daneyê çalak dike û gelek taybetmendiyên ewlehiya serhêl dihewîne.
- Bikaranîna protokolek veguheztinê ji bilî HTTP wekî qata bingehîn: SOAP ne girêdayî HTTP-ê wekî qata bingehîn e. Bi serîlêdana we ve girêdayî, hûn dikarin SMTP (Protokola Veguheztina Mail a Hêsan), JMS (Xizmeta Peyama Java), an protokolek din a veguhastinê bikar bînin.
- Bi operasyonên dewletê re dixebitin: Berevajî daxwazên ji API-yên REST re, daxwazên ji API-yên SOAP re dewletdar in, tê vê wateyê ku server agahdariya li ser xerîdar tomar dike û wê di nav zincîrek daxwaz an operasyonan de bikar tîne. Tewra dema ku ev bêtir band û çavkaniya serverê bikar tîne, ew ji bo pêkanîna çalakiyên rûtîn an girêdayî, mîna veguheztina bankê, pir girîng e.
Xelasî
Berhevdana di navbera REST û API-yên SOAP de pir eşkere dike ku REST ji SOAP bijartir e. Dîsa jî, rewş hene ku SOAP API hewce ye. Di hin rewşan de, karûbarên malperê bi berhevkirina API-yên REST û SOAP têne afirandin.
Ji ber vê yekê, doza karanîna dê diyar bike ka kîjan şêwaza API dê çêtirîn bixebite.
Leave a Reply