Gusto ba nimong i-link ang imong app sa Facebook aron awtomatiko kini nga makamugna og mga post, o sa Instagram aron ma-repost nimo ang mga litrato nga adunay piho nga mga hashtag?
Mahimo usab nimong iapil ang mga video sa YouTube sa imong website. Ang mga interface sa pagprograma sa aplikasyon nagtugot kanimo sa paghimo sa tanan niini nga mga buluhaton ug uban pa (mga API).
Ang lainlaing mga aplikasyon mahimong "magsulti" sa usag usa sa luwas ug standardized nga paagi salamat sa mga API sama sa Instagram API, Facebook API, ug YouTube API.
Sa laing pagkasulti, ang usa ka programa mahimong makakuha og mga feature o data gikan sa laing piraso sa software ug gamiton kini aron mapaayo ang kaugalingon nga mga feature o kasinatian sa user. Apan unsaon paghimo sa mga app kini nga mga hangyo, pagproseso niini, ug pagtubag niini sa paagi nga masabtan sa uban?
Nagdepende kana kung giunsa gibuhat ang API. Kung maghisgot sa mga disenyo sa API (application programming interface), naandan nga itandi ang SOAP kumpara sa REST, duha sa labing inila nga mga paradigma sa API.
Sa diha nga ang mga SOAP API (Simple Object Access Protocol) nahimong standard nga bulawan alang sa mga kompaniya sama sa Oracle, Sun, ug PayPal, adunay managsama ug kaatbang nga tubag usa ka tuig o labaw pa sa ulahi ngadto sa REST API gikan sa Google, Amazon, ug eBay.
Sa kini nga post, among itandi ug itandi ang mga SOAP API sa REST API aron makahukom ka kung unsa ang labing maayo alang sa imong katuyoan.
Magsugod kita pinaagi sa pagtino sa API.
Unsa ang API?
Ang Application Programming Interface gitawag nga API. Ang mga API usa ka koleksyon sa mga pamaagi ug mga gimbuhaton nga makahimo sa pag-uswag sa mga app. Makakuha sila og access sa impormasyon ug mga gimbuhaton sa lain-laing mga programa, serbisyo, o operating system.
Nagsilbi sila nga usa ka matang sa middleman tali sa lainlaing mga sistema sa software. Gitugotan nila ang "pagsulti" tali sa duha nga wala’y koneksyon nga mga programa.
Atong kuhaon ang panig-ingnan sa usa ka stockbroker nga aktibong nalambigit sa trading ug sa pinansyal nga mga merkado. Usa ka koleksyon sa awtomatiko mga algorithm sa pamatigayon mahimong konektado sa paborito nga plataporma sa trading broker sa negosyante pinaagi sa API. Makapahimo kini kanimo, ang negosyante, sa pagpatuman sa mga elektronik nga transaksyon o pagtan-aw sa tinuod nga panahon nga mga kinutlo ug datos sa pagpresyo.
Unsa ang REST?
Ang tinuod nga "web services" nga mga API naglakip sa REST (Representational State Transfer). Ang mga REST API gitukod sa mga URI (Uniform Resource Identifiers, diin ang usa ka URL usa ka espesyal nga klase), ang HTTP protocol, ug ang dili katuohan nga browser-compatible nga JSON data format.
Ang SOAP protocol, sama sa among giingon, mahimo usab nga magamit. Ang mga REST API mahimong sayon nga himoon ug motubo, apan mahimo usab kini nga dako ug lisud—kini tanan nagdepende kung giunsa kini paghimo, gipalapdan, ug kung unsa ang ilang tuyo nga buhaton.
Ang mga pagpugong sa kahinguhaan, pagkunhod sa mga kinahanglanon sa seguridad, pagkaangay sa kliyente sa browser, pagkadiskubre, kahimsog sa datos, ug kakusgon mao ang pipila ka mga hinungdan nga gusto nimo nga maghimo usa ka API nga mahimong PAHINUMDOM-mga butang nga aktuwal nga magamit sa mga serbisyo sa web.
Ang REST nagtanyag og mas gaan nga kapilian. Ang SOAP lisud gamiton ug bug-at sa daghang mga developer. Pananglitan, ang paggamit sa SOAP nga adunay JavaScript nanginahanglan pagsulat og daghang code aron makompleto ang yano nga mga operasyon tungod kay ang kinahanglan nga istruktura sa XML kinahanglan buhaton matag higayon.
REST (kasagaran) naggamit ug prangka nga URL puli sa XML nga hangyo. Bisan kung adunay mga talagsaon nga mga kahimtang kung kinahanglan nimo nga itanyag ang daghang mga detalye, ang kadaghanan sa RESTful nga serbisyo sa web naggamit lamang sa teknik sa URL.
Ang upat ka HTTP 1.1 verbs GET, POST, PUT, ug DELETE mahimong gamiton sa REST aron ipahigayon ang mga operasyon. Dili sama sa SOAP, ang REST wala magkinahanglan sa tubag nga anaa sa XML.
Ang mga serbisyo sa web nga nakabase sa REST nga nagpagawas sa datos sa Command Separated Value (CSV), JavaScript Object Notation (JSON), ug Really Simple Syndication (RSS) nga mga format anaa (RSS).
Ang tumong mao nga makuha nimo ang mga resulta nga imong gikinahanglan sa sayon-sa-parse nga pormat sulod sa pinulongan nga imong gigamit para sa imong aplikasyon.
Features
- Gipasiugda sa REST ang kayano labaw sa tanan, tungod sa mga protocol sa HTTP.
- Ang web labing haum alang sa REST. Nahiuyon kini sa mga browser tungod kay gigamit ang JSON ingon format sa datos.
- Ang REST nabantog tungod sa talagsaong scalability ug katulin niini.
- Ang mga koneksyon sa Client-server ug mga arkitektura gihimo nga mas accessible sa REST APIs. Kung kini RESTful, kini gitukod gamit kini nga modelo sa kliyente-server, nga adunay mga round trip tali sa duha ka partido nga nagpasa sa mga payload sa datos.
- Ang REST API naggamit ug nag-inusarang standard interface. Ang pagsiguro nga ang tanan nga mga app magkonektar nga parehas ug pinaagi sa parehas nga ganghaan, nag-streamline kung giunsa ang mga aplikasyon nakigsulti sa API.
Unsa ang SOAP?
Ang kaugalingon nga protocol niini, nga gitawag nga SOAP (Simple Object Access Protocol), mas komplikado kaysa REST tungod kay naghatag kini og daghang mga sumbanan, lakip ang mga may kalabutan sa seguridad ug paghatud sa mensahe.
Kini nga kinaiyanhon nga mga lagda moabut uban ang gamay nga dugang nga overhead. Bisan pa, mahimo silang usa ka mahukmanon nga hinungdan alang sa mga negosyo nga nanginahanglan labi ka labi nga seguridad, transaksyon, ug mga kapabilidad sa pagsunod sa ACID (Atomicity, Consistency, Isolation, Durability).
Alang sa kini nga pagtandi, hinungdanon nga timan-an nga daghang mga benepisyo sa SOAP dili kanunay magamit sa mga aplikasyon sa serbisyo sa web, nga naghimo niini nga labi ka angay alang sa mga senaryo nga tipo sa negosyo.
Mas taas nga ang-ang sa seguridad (sama sa kung a mobile app nakig-interact sa usa ka bangko), mga messaging app nga nanginahanglan ug kasaligan nga komunikasyon, pakig-uban sa mga sistema sa kabilin, o pagsunod sa ACID mao ang pipila ka mga hinungdan nga gusto nimo nga magdesinyo usa ka aplikasyon gamit ang usa ka SOAP API.
Ang mga kapabilidad sa pagmemensahe nga gitanyag sa SOAP hingpit nga gibase sa XML. Ang mga daan nga teknolohiya nga dili tugma sa internet sama sa Distributed Component Object Model (DCOM) ug Common Object Request Broker Architecture gipulihan sa SOAP sa una nga gibuhat kini sa Microsoft (CORBA).
Ang pagsalig sa binary nga komunikasyon hinungdan nga kini nga mga sistema mapakyas. Sa internet, ang XML messaging sama sa gigamit sa SOAP mas maayo.
Features
- Ang seguridad sa SOAP mas hugot. Ang WS-Security usa ka built-in nga sumbanan nga nagtanyag sa SOAP nga dugang nga kapabilidad sa seguridad sa lebel sa negosyo kung gikinahanglan dugang sa suporta sa SSL.
- Malampuson/suwayi pag-usab ang pangatarungan alang sa kasaligang pasundayag sa pagmemensahe. Tungod kay ang REST kulang sa usa ka standardized nga mekanismo sa mensahe, mahimo ra kini nga sulayan pag-usab kung mapakyas ang komunikasyon. Bisan kung gigamit ang mga intermediate sa SOAP, ang SOAP nagtanyag sa end-to-end nga pagkakasaligan tungod sa gitukod nga malampuson / pagsulay pag-usab nga lohika.
- Ang SOAP nagsunod na sa mga sumbanan sa ACID. Pinaagi sa pagdiktar kung giunsa ang mga transaksyon mahimong makig-uban sa database, ang pagsunod sa ACID makapamenos sa mga anomaliya ug mapanalipdan ang pagkamakanunayon sa usa ka database. Tungod kay ang ACID mas mabinantayon kay sa ubang mga modelo sa pagkamakanunayon sa datos, kini kanunay nga gigamit sa pagdumala sa sensitibo nga mga transaksyon, pinansyal man o uban pa.
- Yano kini nga masabtan sa mga programmer tungod kay ang SOAP usa ka hingpit nga komunikasyon nga nakabase sa XML.
- Ang XML messaging protocol kay dugang sa HTTP protocol.
- Ang mga komunikasyon gikan sa usa ka kompyuter ngadto sa laing kompyuter mahimong ipakaylap pinaagi sa SOAP messaging.
- Ang arkitektura sa kliyente-server mahimo usab nga ipatuman. Usa ka SOAP protocol nga mensahe mahimong gamiton sa kliyente sa pagtawag sa usa ka remote procedure call nga nahimutang sa server-side.
REST Vs SOAP Mga Kalainan
1. arkitektura
Ang usa ka API gituyo sa panguna nga pagpakita sa mga piho nga sangkap sa lohika sa negosyo sa usa ka aplikasyon sa usa ka server. Samtang ang REST naggamit sa mga URI alang sa parehas nga katuyoan, ang SOAP naggamit usa ka Interface sa Serbisyo alang niini.
Ang mga REST API gihimo pagkahuman sa datos, samtang ang mga SOAP API gihimo pagkahuman sa mga gamit nga gihulagway sa API. Kung itandi sa SOAP, nga labi nga gipaandar sa pag-andar, ang REST usa ka labi nga disenyo nga gipadagan sa datos.
2. Pag-cache
Ang datos nga gimarkahan isip cacheable mahimong magamit pag-usab sa mga browser nga dili kinahanglan nga maghimo sila og bag-ong hangyo sa server. Ang pagdaginot sa panahon ug paningkamot maoy kaayohan niini.
Ang mga tubag dili ma-cache sa lebel sa HTTP tungod kay ang mga pangutana sa SOAP gisumite pinaagi sa mga hangyo sa POST, nga giisip sa sumbanan sa HTTP nga dili idempotent. Kung gusto nimo nga mogamit sa caching, kinahanglan nimo nga tukuron ang kinahanglan nga mga teknik tungod kay ang mga REST API wala maglakip niini nga pagpatuman.
3. Mga Kapanguhaan & Bandwidth
Tungod sa envelope-style payload transfer nga gigamit sa SOAP, adunay gamay nga pagtaas sa overhead, nga nanginahanglan dugang nga bandwidth. Ang gaan nga kinaiya sa REST usa ka kaayohan sa kini nga mga sitwasyon tungod kay kasagaran kini gigamit alang sa mga serbisyo sa web.
4. Security
Ang WS-security, nga gisuportahan sa SOAP ug gamay nga labi ka hingpit kaysa SSL sa lebel sa transportasyon, gitinguha. Ang pag-apil sa mga lakang sa seguridad sa lebel sa negosyo uban niini usa usab ka hingpit nga angay.
Ang end-to-end encryption gamit ang SSL gisuportahan sa SOAP ug REST, ug ang REST mahimong mogamit sa HTTPS, ang luwas nga variant sa HTTP protocol.
5. Pagdumala sa mga Bayad
Ang datos nga gipasa pinaagi sa Internet gitawag nga payload. Ang payload nga giisip nga "bug-at" nanginahanglan dugang nga mga kapanguhaan. Kung itandi sa SOAP, nga naggamit sa XML, ang REST kanunay nga naggamit sa JSON ug HTTP aron matabangan ang pagkunhod sa payload.
Ang usa ka espesyal nga librarya sa Kliyente nga adunay namugna nga code kinahanglan kasagarang gamiton sa Kliyente aron maka-access sa mga SOAP API tungod sa ilang hilabihan ka higpit nga kontrata sa komunikasyon.
Ingon usa ka sangputanan, ang SOAP nagtanyag usa ka gamay nga lebel sa abstraction kaysa REST ug mas suod nga konektado sa server.
Kanus-a gamiton ang REST?
- Paghimo sa publiko nga mga API: Ang mga REST API gipalabi alang sa pagtukod sa mga serbisyo sa publiko nga web tungod kay kini nakita nga mas simple nga gamiton ug gisagop kaysa SOAP API. Dugang pa, ang SOAP nagtanyag daghang mga built-in nga mga lakang sa seguridad nga wala sa REST, bisan kung kini nga mga kinaiya wala kinahanglana kung nagtrabaho uban ang bukas nga datos ug serbisyo.
- Pagtukod sa mga mobile apps: Ang REST perpekto alang sa paghimo og mga mobile application tungod kay kini gamay, epektibo, walay estado, ug ma-cache.
- Gigamit ang nihit nga mga kapanguhaan sa server ug bandwidth: Ang tanang hangyo sa usa ka REST API kinahanglang walay estado, nga nagpasabot nga ang matag interaksyon bulag ug ang matag hangyo ug tubag naglangkob sa tanang datos nga gikinahanglan aron makompleto ang maong interaksyon. Ang server wala magtipig sa mga rekord sa nangaging mga hangyo tungod kay kini nagtagad sa matag usa ingon nga bag-ong hangyo. Ingon usa ka sangputanan, ang server nanginahanglan labi ka gamay nga memorya ug naglihok nga mas paspas tungod kay ang usa ka hangyo wala magkinahanglan dugang nga aksyon o ang pagkuha sa makasaysayan nga datos.
Kanus-a gamiton ang SOAP?
- Paghimo ug pribado nga mga API, ilabina sa dagkong negosyo: Ang SOAP perpekto alang sa mga aplikasyon sa korporasyon tungod kay kini makahimo sa pagdagayday sa datos sa usa ka desentralisado, apod-apod nga palibot ug adunay daghang mga bahin sa seguridad sa online.
- Paggamit ug transport protocol gawas sa HTTP isip nagpahiping layer: Ang SOAP wala magdepende sa HTTP isip nagpahiping layer. Depende sa imong aplikasyon, mahimo nimong gamiton ang SMTP (Simple Mail Transfer Protocol), JMS (Java Messaging Service), o laing transport protocol.
- Pagtrabaho uban sa stateful nga mga operasyon: Sukwahi sa mga hangyo sa REST API, ang mga hangyo sa SOAP API kay stateful, nagpasabot nga ang server nagtipig og impormasyon bahin sa kliyente ug gigamit kini sa usa ka kutay sa mga hangyo o operasyon. Bisan kung kini naggamit labi pa nga bandwidth sa server ug mga kapanguhaan, hinungdanon kini alang sa paghimo sa naandan o nalambigit nga mga aksyon, sama sa mga pagbalhin sa bangko.
Panapos
Ang pagtandi tali sa REST ug SOAP APIs nagpatin-aw nga ang REST mas maayo kaysa SOAP. Bisan pa, adunay mga sitwasyon diin gikinahanglan ang SOAP API. Sa pipila ka mga higayon, ang mga serbisyo sa web gihimo pinaagi sa paghiusa sa REST ug SOAP API.
Busa, ang kaso sa paggamit magtino kung unsang istilo sa API ang labing maayo.
Leave sa usa ka Reply