Apa sampeyan pengin ngubungake aplikasi menyang Facebook supaya bisa ngasilake kiriman kanthi otomatis, utawa menyang Instagram supaya sampeyan bisa ngirim foto kanthi hashtag tartamtu?
Sampeyan bisa uga pengin kalebu video YouTube ing situs web sampeyan. Antarmuka program aplikasi ngidini sampeyan nindakake kabeh tugas kasebut lan liya-liyane (API).
Aplikasi sing beda-beda bisa "ngomong" siji liyane kanthi cara sing aman lan standar amarga API kaya Instagram API, Facebook API, lan YouTube API.
Ing tembung liya, program bisa njupuk fitur utawa data saka piranti lunak liyane lan digunakake kanggo nambah fitur utawa pengalaman pangguna dhewe. Nanging kepiye carane aplikasi bisa nggawe panjaluk kasebut, ngolah, lan nanggapi kanthi cara sing bisa dingerteni wong liya?
Iku gumantung carane API digawe. Nalika ngrembug desain API (antarmuka pamrograman aplikasi), biasane mbandhingake SOAP vs REST, loro paradigma API sing paling misuwur.
Sanalika SOAP API (Simple Object Access Protocol) dadi standar emas kanggo perusahaan kaya Oracle, Sun, lan PayPal, ana respon sing padha lan ngelawan setaun utawa luwih saka API REST saka Google, Amazon, lan eBay.
Ing kirim iki, kita bakal mbandhingake lan mbedakake SOAP API karo REST API supaya sampeyan bisa mutusake sing paling apik kanggo tujuan sampeyan.
Kita bakal miwiti kanthi nemtokake API.
Apa sing diarani API?
Antarmuka Pemrograman Aplikasi diarani API. API sejatine minangka koleksi metode lan fungsi sing ngidini pangembangan aplikasi. Dheweke entuk akses menyang informasi lan fungsi saka macem-macem program, layanan, utawa sistem operasi.
Dheweke dadi semacam perantara ing antarane macem-macem sistem piranti lunak. Dheweke ngaktifake "ngomong" ing antarane rong program sing ora nyambung.
Ayo dadi conto pialang saham sing aktif melu dagang lan pasar finansial. Koleksi otomatis algoritma dagang bisa disambungake menyang platform makelar dagang favorit pedagang liwat API. Iki ngidini sampeyan, pedagang, nglakokake transaksi elektronik utawa ndeleng kuotasi wektu nyata lan data rega.
Apa iku REST?
API "layanan web" sing bener kalebu REST (Transfer Negara Perwakilan). REST API dibangun ing URI (Uniform Resource Identifiers, sing URL minangka jinis khusus), protokol HTTP, lan format data JSON sing kompatibel karo browser sing luar biasa.
Protokol SOAP, kaya sing wis kasebut, bisa uga digunakake. API REST bisa gampang digawe lan tuwuh, nanging bisa uga gedhe lan angel-kabeh gumantung carane digawe, ditambahi, lan apa sing arep ditindakake.
Watesan sumber daya, syarat keamanan sing suda, kompatibilitas klien browser, bisa ditemokake, kesehatan data, lan skalabilitas minangka sawetara alasan sampeyan pengin nggawe API dadi RESTful - sing bener ditrapake kanggo layanan web.
REST nawakake pilihan sing luwih entheng. SOAP angel digunakake lan ngebotake akeh pangembang. Contone, nggunakake SOAP karo JavaScript mbutuhake nulis akeh kode kanggo ngrampungake operasi sing prasaja amarga struktur XML sing dibutuhake kudu digawe saben wektu.
REST (biasane) nggunakake URL langsung tinimbang panjaluk XML. Sanajan ana kahanan langka nalika sampeyan kudu menehi rincian liyane, mayoritas layanan web RESTful mung nggunakake teknik URL.
Papat kriya HTTP 1.1 GET, POST, PUT, lan DELETE bisa digunakake dening REST kanggo nindakake operasi. Ora kaya SOAP, REST ora mbutuhake jawaban ing XML.
Layanan web basis REST sing ngasilake data ing Command Separated Value (CSV), JavaScript Object Notation (JSON), lan format Really Simple Syndication (RSS) kasedhiya (RSS).
Tujuane yaiku sampeyan bisa entuk asil sing dibutuhake ing format sing gampang diurai ing basa sing digunakake kanggo aplikasi sampeyan.
fitur
- REST nandheske kesederhanaan ing ndhuwur kabeh, amarga protokol HTTP.
- Web paling cocok kanggo REST. Kompatibel karo browser amarga JSON digunakake minangka format data.
- REST misuwur kanthi skalabilitas lan kacepetan sing luar biasa.
- Sambungan lan arsitektur klien-server digawe luwih gampang diakses dening REST API. Yen RESTful, dibangun nggunakake model klien-server iki, kanthi lelungan ing antarane rong pihak sing ngliwati muatan data.
- API REST nggunakake antarmuka standar dhewekan. Mesthekake yen kabeh app nyambung seragam lan liwat gateway padha, streamlines carane aplikasi komunikasi karo API.
Apa iku SOAP?
Protokol dhewe, sing diarani SOAP (Simple Object Access Protocol), luwih rumit tinimbang REST amarga nemtokake standar liyane, kalebu sing ana gandhengane karo keamanan lan pangiriman pesen.
Norma-norma bawaan iki teka kanthi overhead ekstra. Nanging, bisa dadi faktor penentu kanggo bisnis sing mbutuhake keamanan, transaksi, lan kapabilitas kepatuhan ACID (Atomicity, Consistency, Isolation, Durability).
Kanggo mbandhingake iki, penting kanggo dicathet yen akeh keuntungan saka SOAP ora asring ditrapake kanggo aplikasi layanan web, dadi luwih cocog kanggo skenario jinis perusahaan.
Tingkat keamanan sing luwih dhuwur (kayata nalika a app mobile sesambungan karo bank), aplikasi olahpesen sing mbutuhake komunikasi sing bisa dipercaya, sesambungan karo sistem warisan, utawa kepatuhan ACID minangka sawetara alasan sampeyan pengin ngrancang aplikasi nggunakake SOAP API.
Kapabilitas olahpesen sing ditawakake SOAP kabeh adhedhasar XML. Teknologi sing ora kompatibel karo internet lawas kaya Model Obyek Komponen Distributed (DCOM) lan Arsitektur Broker Permintaan Objek Umum diganti SOAP nalika pisanan digawe dening Microsoft (CORBA).
Ketergantungan ing komunikasi binar nyebabake sistem kasebut gagal. Ing internet, olahpesen XML kaya sing digunakake SOAP luwih apik.
fitur
- Keamanan SOAP luwih kenceng. WS-Security minangka standar dibangun sing nawakake SOAP kapabilitas keamanan tingkat perusahaan tambahan yen perlu saliyane dhukungan SSL.
- Sukses / nyoba maneh nalar kanggo kinerja olahpesen sing bisa dipercaya. Amarga REST ora duwe mekanisme pesen standar, mung bisa nyoba maneh nalika komunikasi gagal. Sanajan nggunakake intermediet SOAP, SOAP nawakake ketergantungan end-to-end amarga logika sukses / nyoba maneh.
- SOAP wis tundhuk karo standar ACID. Kanthi ndhikte carane transaksi bisa sesambungan karo database, kepatuhan ACID nyilikake anomali lan njaga konsistensi database. Amarga ACID luwih ngati-ati tinimbang model konsistensi data liyane, mula asring digunakake nalika ngatur transaksi sensitif, finansial utawa liya.
- Iku prasaja kanggo programer ngerti amarga SOAP minangka komunikasi basis XML.
- Protokol olahpesen XML minangka tambahan kanggo protokol HTTP.
- Komunikasi saka komputer siji menyang komputer liyane bisa disebarake liwat olahpesen SOAP.
- Arsitektur klien-server uga bisa ditindakake. Pesen protokol SOAP bisa digunakake dening klien kanggo nelpon telpon prosedur remot sing ana ing sisih server.
Bedane REST Vs SOAP
1. arsitektur
API dimaksudake kanggo nuduhake komponen tartamtu saka logika bisnis aplikasi ing server. Nalika REST nggunakake URI kanggo tujuan sing padha, SOAP nggunakake Antarmuka Layanan kanggo iki.
REST API digawe sawise data, dene SOAP API dikembangake sawise fungsi sing digambarake API. Dibandhingake SOAP, sing luwih didhukung fungsi, REST minangka desain sing luwih adhedhasar data.
2. Caching
Data sing wis ditandhani minangka cacheable bisa dimanfaatake dening browser maneh tanpa mbutuhake panjaluk anyar menyang server. Ngirit wektu lan gaweyan minangka mupangat saka iki.
Tanggapan ora bakal di-cache ing tingkat HTTP amarga pitakon SOAP dikirim liwat panjalukan POST, sing dianggep standar HTTP ora idempoten. Yen sampeyan pengin nggunakake caching, sampeyan isih kudu mbangun teknik sing dibutuhake amarga REST API ora kalebu implementasine.
3. Sumber Daya & Bandwidth
Amarga transfer payload gaya amplop sing digunakake dening SOAP, ana kenaikan nduwur sirah sing sithik, sing mbutuhake bandwidth ekstra. Sifat entheng REST mupangati ing kahanan kasebut amarga umume digunakake kanggo layanan web.
4. keamanan
WS-keamanan, kang SOAP ndhukung lan rada luwih pepek saka SSL ing tingkat transportasi, seng di pengeni. Nggabungake langkah-langkah keamanan tingkat perusahaan uga cocog.
Enkripsi end-to-end nggunakake SSL didhukung dening SOAP lan REST, lan REST bisa nggunakake HTTPS, varian aman saka protokol HTTP.
5. Nangani Payloads
Data sing dikirim liwat Internet diarani minangka muatan. A muatan sing dianggep "abot" mbutuhake sumber daya tambahan. Dibandhingake SOAP, sing nggunakake XML, REST asring nggunakake JSON lan HTTP kanggo mbantu nyuda muatan.
Pustaka Klien khusus kanthi kode sing digawe kudu biasane digunakake dening Klien kanggo ngakses SOAP API amarga kontrak komunikasi sing ketat banget.
Akibaté, SOAP nawakake tingkat abstraksi sing luwih murah tinimbang REST lan luwih cedhak karo server.
Nalika nggunakake REST?
- Nggawe API umum: REST API luwih disenengi kanggo mbangun layanan web umum amarga katon luwih gampang digunakake lan diadopsi tinimbang SOAP API. Kajaba iku, SOAP nawakake sawetara langkah keamanan sing ora diduweni REST, sanajan karakteristik kasebut ora dibutuhake nalika nggarap data lan layanan sing mbukak.
- Nggawe aplikasi seluler: REST sampurna kanggo mbangun aplikasi seluler amarga cilik, efektif, stateless, lan cacheable.
- Nggunakake sumber daya server lan bandwidth sing langka: Kabeh panjalukan kanggo REST API kudu stateless, kang tegese saben interaksi kapisah lan saben request lan respon ngemot kabeh data sing perlu kanggo ngrampungake interaksi. Server ora nyimpen cathetan panjalukan sadurunge amarga nganggep saben panjaluk anyar. Akibaté, server mbutuhake memori adoh kurang lan makaryakke luwih cepet amarga panjalukan ora perlu tumindak luwih utawa njupuk data sajarah.
Nalika nggunakake SOAP?
- Nggawe API pribadi, utamane kanggo bisnis gedhe: SOAP sampurna kanggo aplikasi perusahaan amarga mbisakake aliran data ing desentralisasi, lingkungan mbagekke lan ngemot sawetara fitur keamanan online.
- Nggunakake protokol transportasi liyane saka HTTP minangka lapisan dhasar: SOAP ora gumantung ing HTTP minangka lapisan dhasar. Gumantung ing aplikasi sampeyan, sampeyan bisa nggunakake SMTP (Simple Mail Transfer Protocol), JMS (Java Messaging Service), utawa protokol transportasi liyane.
- Nggarap operasi stateful: Ing kontras kanggo panjalukan kanggo REST API, panjalukan kanggo SOAP API iku stateful, tegesé server nyimpen informasi bab klien lan nggunakke liwat chain panjalukan utawa operasi. Sanajan iki nggunakake bandwidth lan sumber daya server luwih akeh, iku penting kanggo nindakake tumindak rutin utawa disambung, kaya transfer bank.
kesimpulan
Perbandhingan antarane REST lan SOAP API ndadekake cukup jelas yen REST luwih disenengi tinimbang SOAP. Malah, ana kahanan nalika SOAP API dibutuhake. Ing kasus tartamtu, layanan web digawe kanthi nggabungake API REST lan SOAP.
Mulane, kasus panggunaan bakal nemtokake gaya API sing paling apik.
Ninggalake a Reply