Naha anjeun badé ngaitkeun aplikasi anjeun ka Facebook supados tiasa ngahasilkeun tulisan sacara otomatis, atanapi ka Instagram supados anjeun tiasa nga-repost poto nganggo hashtags anu tangtu?
Anjeun ogé tiasa hoyong ngalebetkeun pidéo YouTube dina halaman wéb anjeun. Antarbeungeut program aplikasi ngamungkinkeun anjeun ngalaksanakeun sadaya pancén ieu sareng seueur deui (API).
Aplikasi anu béda-béda tiasa "nyarios" ka hiji anu sanés dina cara anu aman sareng standar berkat API sapertos Instagram API, Facebook API, sareng YouTube API.
Dina basa sejen, program bisa nyandak fitur atawa data tina sapotong software sejen tur ngamangpaatkeun eta pikeun ngaronjatkeun fitur sorangan atawa pangalaman pamaké. Tapi kumaha aplikasi tiasa ngadamel requests ieu, ngolah aranjeunna, sarta ngabales aranjeunna dina fashion nu batur bisa ngarti?
Éta gumantung kana kumaha API dijieun. Nalika ngabahas desain API (antarmuka program aplikasi), biasana ngabandingkeun SOAP vs REST, dua paradigma API anu pang menonjol.
Pas SOAP API (Simple Object Access Protocol) janten standar emas pikeun firma sapertos Oracle, Sun, sareng PayPal, aya réspon anu sami sareng sabalikna sataun ka hareup nuju REST API ti Google, Amazon, sareng eBay.
Dina postingan ieu, urang bakal ngabandingkeun sareng ngabedakeun SOAP API sareng REST API supados anjeun tiasa mutuskeun mana anu pangsaéna pikeun tujuan anjeun.
Urang mimitian ku nangtukeun API.
Naon ari API?
Antarmuka Pemrograman Aplikasi disebut API. API dasarna mangrupikeun kumpulan metode sareng fungsi anu ngamungkinkeun pamekaran aplikasi. Aranjeunna nampi aksés kana inpormasi sareng fungsi tina program, jasa, atanapi sistem operasi anu béda.
Aranjeunna ngawula ka salaku nurun middleman antara rupa sistem software. Aranjeunna ngaktifkeun "ngobrol" antara dua program anu teu nyambung.
Hayu urang nyandak conto calo saham anu aktip aub dina dagang jeung pasar finansial. Kumpulan otomatis algoritma dagang bisa disambungkeun kana platform calo dagang favorit padagang urang ngaliwatan hiji API. Ieu ngamungkinkeun anjeun, padagang, pikeun ngaéksekusi transaksi éléktronik atanapi ningali kutipan sareng data harga sacara real-time.
Naon ari REST?
API "jasa wéb" leres kalebet REST (Transfer Nagara Perwakilan). API REST diwangun dina URI (Uniform Resource Identifiers, anu URL mangrupikeun jenis khusus), protokol HTTP, sareng format data JSON anu cocog sareng browser.
Protokol SOAP, sakumaha anu parantos kami nyarios, tiasa ogé dianggo. REST API tiasa gampang didamel sareng digedékeun, tapi ogé tiasa ageung sareng sesah — sadayana gumantung kana kumaha aranjeunna diciptakeun, dilegakeun, sareng naon anu ditujukeun.
Konstrain sumber daya, ngurangan syarat kaamanan, kasaluyuan klien browser, bisa kapanggih, kaséhatan data, sarta skalabilitas sababaraha alesan anjeun bakal keukeuh ngamekarkeun API jadi RESTful-hal nu sabenerna lumaku pikeun layanan wéb.
REST nawiskeun pilihan anu langkung hampang. SOAP sesah dianggo sareng beurat pikeun seueur pamekar. Contona, ngagunakeun SOAP kalawan JavaScript merlukeun nulis loba kode pikeun ngalengkepan operasi basajan saprak struktur XML diperlukeun kudu dijieun unggal waktu.
REST (ilaharna) nganggo URL anu lugas tibatan pamundut XML. Sanaos aya kaayaan anu jarang nalika anjeun kedah nawiskeun langkung rinci, seuseueurna jasa wéb RESTful ngan nganggo téknik URL.
Opat kecap gawe HTTP 1.1 GET, POST, PUT, sareng DELETE tiasa dianggo ku REST pikeun ngalaksanakeun operasi. Beda sareng SOAP, REST henteu peryogi jawabanna dina XML.
Ladenan wéb basis REST anu ngaluarkeun data dina Command Separated Value (CSV), JavaScript Object Notation (JSON), sareng format Really Simple Syndication (RSS) sayogi (RSS).
Tujuanana nyaéta anjeun tiasa kéngingkeun hasil anu anjeun peryogikeun dina format anu gampang diparse dina basa anu anjeun anggo pikeun aplikasi anjeun.
Fitur
- REST nekenkeun kesederhanaan di luhur sadayana, kusabab protokol HTTP.
- Wéb paling cocog pikeun REST. Éta cocog sareng panyungsi sabab JSON dianggo salaku format data.
- REST kasohor ku skalabilitas sareng kecepatan anu luar biasa.
- Sambungan sareng arsitéktur klien-server janten langkung diaksés ku REST API. Upami éta RESTful, éta diwangun nganggo modél klien-server ieu, kalayan perjalanan buleud antara dua pihak anu ngalangkungan muatan data.
- REST API nganggo antarmuka standar anu nyalira. Mastikeun yén sadaya aplikasi nyambung sacara seragam sareng ngalangkungan gateway anu sami, nyegerkeun kumaha aplikasi komunikasi sareng API.
Naon ari SOAP?
Protokolna sorangan, anu disebut SOAP (Simple Object Access Protocol), rada rumit tibatan REST sabab netepkeun langkung seueur standar, kalebet anu aya hubunganana sareng kaamanan sareng pangiriman pesen.
Norma-norma bawaan ieu datangna kalayan sakedik tambahan. Nanging, aranjeunna tiasa janten faktor anu penting pikeun usaha anu peryogi kamampuan patuh kaamanan, transaksi, sareng ACID (Atomicity, Consistency, Isolation, Durability).
Demi babandingan ieu, penting pikeun dicatet yén loba mangpaat SOAP teu mindeng dilarapkeun ka aplikasi ladenan web, sahingga leuwih cocog pikeun skenario perusahaan-jenis.
Tingkat kaamanan anu langkung luhur (sapertos nalika a app mobile berinteraksi sareng bank), aplikasi olahtalatah anu peryogi komunikasi anu tiasa diandelkeun, berinteraksi sareng sistem warisan, atanapi patuh ACID mangrupikeun sababaraha alesan anjeun badé ngarancang aplikasi nganggo SOAP API.
Kamampuh olahtalatah ditawarkeun ku SOAP sagemblengna dumasar kana XML. Téknologi anu henteu cocog sareng internét langkung lami sapertos Model Objék Komponen Terdistribusi (DCOM) sareng Arsitéktur Broker Permintaan Objek Umum diganti ku SOAP nalika mimiti diciptakeun ku Microsoft (CORBA).
Ngandelkeun komunikasi binér nyababkeun sistem ieu gagal. Dina internét, olahtalatah XML sapertos anu dianggo ku SOAP langkung saé.
Fitur
- Kaamanan SOAP sacara signifikan langkung ketat. WS-Security mangrupakeun standar diwangun-di nu nawarkeun SOAP kamampuhan kaamanan tingkat perusahaan tambahan lamun diperlukeun salian rojongan SSL.
- Suksés/coba deui nalar pikeun kinerja olahtalatah nu bisa dipercaya. Kusabab REST teu gaduh mékanisme pesen standar, éta ngan ukur tiasa nyobian deui nalika komunikasi gagal. Sanaos nganggo perantara SOAP, SOAP nawiskeun kaandalan tungtung-ka-tungtung kusabab logika anu suksés / coba deui.
- SOAP geus sasuai jeung standar ACID. Ku didikte kumaha transaksi tiasa berinteraksi sareng pangkalan data, patuh ACID ngaminimalkeun anomali sareng ngajaga konsistensi database. Kusabab ACID langkung ati-ati tibatan model konsistensi data anu sanés, éta sering dianggo nalika ngatur transaksi anu sénsitip, naha finansial atanapi sanés.
- Ieu basajan pikeun programer ngartos saprak SOAP mangrupakeun komunikasi sagemblengna XML basis.
- Protokol olahtalatah XML mangrupakeun tambahan tina protokol HTTP.
- Komunikasi ti hiji komputer ka komputer séjén bisa disebarkeun ngaliwatan talatah SOAP.
- Arsitéktur klien-server ogé tiasa dilaksanakeun. Pesen protokol SOAP tiasa dianggo ku klien pikeun nelepon telepon prosedur jauh anu aya di sisi server.
Beda REST Vs SABUN
1. Arsitéktur
API dimaksudkeun utamana pikeun nembongkeun komponén husus tina logika bisnis hiji aplikasi dina server. Nalika REST ngagunakeun URI pikeun tujuan anu sami, SOAP nganggo Antarmuka Layanan pikeun ieu.
API REST didamel saatos data, sedengkeun API SOAP dikembangkeun saatos fungsionalitas anu digambarkeun ku API. Dibandingkeun SOAP, anu langkung didorong ku fungsi, REST mangrupikeun desain anu langkung didorong ku data.
2. Ngamut
Data anu ditandaan salaku cacheable tiasa dianggo deui ku panyungsi tanpa meryogikeun aranjeunna ngadamel pamundut énggal ka server. Ngahemat waktos sareng usaha mangrupikeun kauntungan tina ieu.
Tanggapan moal sindangan dina tingkat HTTP saprak queries SOAP dikintunkeun via requests POST, nu standar HTTP deems non-idempotent. Upami anjeun hoyong nganggo cache, anjeun kedah tetep ngawangun téknik anu diperyogikeun sabab REST API henteu kalebet palaksanaan ieu.
3. Sumberdaya & Bandwidth
Alatan mindahkeun payload gaya amplop dipaké ku SOAP, aya kanaékan modest di overhead, nu necessitates rubakpita tambahan. Sipat ringan REST mangrupikeun kauntungan dina kaayaan ieu sabab umumna dianggo pikeun jasa wéb.
4. kaamanan
WS-kaamanan, nu SOAP ngarojong tur rada leuwih teleb ti SSL di tingkat angkutan, nyaeta desirable. Ngalebetkeun ukuran kaamanan tingkat perusahaan sareng éta ogé pas pisan.
Enkripsi tungtung-to-tungtung nganggo SSL dirojong ku SOAP sareng REST, sareng REST tiasa nganggo HTTPS, varian aman tina protokol HTTP.
5. Nanganan Payloads
Data dikirimkeun ngaliwatan Internet disebut payload a. A payload nu dianggap "beurat" perlu sumberdaya tambahan. Dibandingkeun sareng SOAP, anu ngagunakeun XML, REST sering nganggo JSON sareng HTTP pikeun ngabantosan ngirangan beban.
Perpustakaan Klién khusus sareng kode anu dibangkitkeun biasana kedah dianggo ku Klién pikeun ngaksés API SOAP kusabab kontrak komunikasina anu ketat pisan.
Hasilna, SOAP nawiskeun tingkat abstraksi anu langkung handap tibatan REST sareng langkung caket sareng server.
Iraha nganggo REST?
- Nyiptakeun API umum: API REST langkung dipikaresep pikeun ngawangun jasa wéb umum sabab katingalina langkung saderhana dianggo sareng diadopsi tibatan API SOAP. Salaku tambahan, SOAP nawiskeun sababaraha ukuran kaamanan anu teu aya REST, sanaos ciri ieu henteu diperyogikeun nalika damel sareng data sareng jasa kabuka.
- Ngawangun aplikasi mobile: REST sampurna pikeun ngawangun aplikasi sélulér sabab leutik, éféktif, stateless, jeung cacheable.
- Ngamangpaatkeun sumberdaya server langka tur rubakpita: Kabéh requests ka REST API kudu stateless, nu hartina tiap interaksi anu misah tur unggal pamundut na respon ngandung sakabéh data diperlukeun pikeun ngalengkepan interaksi éta. Pangladén henteu ngahémat rékaman pamenta sateuacana sabab ngarawat masing-masing salaku pamundut énggal. Hasilna, server merlukeun memori jauh kirang tur beroperasi leuwih gancang sabab pamundut a teu merlukeun aksi salajengna atawa dimeunangkeun data sajarah.
Iraha nganggo SABUN?
- Nyiptakeun API swasta, khususna pikeun usaha ageung: SOAP sampurna pikeun aplikasi perusahaan sabab ngamungkinkeun aliran data dina desentralisasi, lingkungan disebarkeun sarta ngandung sababaraha fitur kaamanan online.
- Ngagunakeun protokol angkutan lian ti HTTP salaku lapisan dasar: SOAP henteu gumantung kana HTTP salaku lapisan dasar. Gumantung kana aplikasi anjeun, anjeun tiasa nganggo SMTP (Simple Mail Transfer Protocol), JMS (Java Messaging Service), atanapi protokol angkutan anu sanés.
- Gawe sareng operasi stateful: Kontras jeung requests ka REST API, requests kana SOAP API téh stateful, hartina server ngaheéat informasi ngeunaan klien tur utilizes eta sakuliah ranté requests atawa operasi. Sanaos ieu ngagunakeun langkung rubakpita sareng sumber pangladén, éta penting pisan pikeun ngalaksanakeun tindakan rutin atanapi numbu, sapertos transfer bank.
kacindekan
Perbandingan antara REST sareng SOAP API ngajantenkeun yén REST langkung saé tibatan SOAP. Sanajan kitu, aya kaayaan dimana SOAP API diperlukeun. Dina sababaraha kasus, jasa wéb diciptakeun ku ngagabungkeun API REST sareng SOAP.
Ku alatan éta, kasus pamakéan bakal nangtukeun mana gaya API bakal dianggo pangalusna.
Leave a Reply