Perbezaan Antara REST dan SOAP Perbezaan Antara pengantar
Pengenalan
Artikel ini membincangkan dua protokol akses perkhidmatan web, SOAP ("Simple Object Access Protocol") dan ("Pemindahan Negeri Perwakilan").
Perkhidmatan Web
Perkhidmatan web ditakrifkan untuk mengambil, membaca, atau memindahkan data secara aktif dari sumber yang ditentukan untuk menghasilkan hasil tertentu - hasilnya.
Contoh utama berikut menunjukkan penggunaan asas perkhidmatan web sebelum memahami bagaimana data dipindahkan ke dan dari perkhidmatan web, menggunakan SOAP atau REST.
Jika pemaju menulis aplikasi yang memerlukan beberapa pengiraan data di satu tempat, akan menulis kaedah pengiraan dalam kod itu, di satu tempat itu. Walau bagaimanapun, jika pengiraan data diperlukan di bahagian lain permohonan, ia tidak cekap dan tidak praktikal untuk mengekalkan jika pemaju meletakkan kaedah pengiraan di setiap kawasan yang diperlukan.
Setelah membuat satu perubahan pada kaedah itu, memerlukan mencari setiap contoh untuk mengedit (dan menguji semula). Senario ini akan mendapat manfaat daripada menggunakan perkhidmatan web untuk berfungsi secara optimum dan meningkatkan ketangkasan perniagaan.
Dengan mewujudkan satu perkhidmatan web dengan kaedah yang boleh diakses untuk menambah, menolak, membahagikan dan membiak, permohonan itu akan melibatkan perkhidmatan web tersebut apabila pengiraan data diperlukan; ia memanggil perkhidmatan web untuk melakukan pengiraan dan menghasilkan hasilnya. Oleh itu, hanya terdapat satu tempat bagi pemaju untuk mengekalkan kaedah pengiraan data.
Cara cara mengendalikan data dalam perkhidmatan web ditentukan oleh sama ada SOAP atau REST dilaksanakan.
SOA dan BPMN
Aplikasi yang dibina di atas proses boleh laku adalah berdasarkan Senibina Berorientasikan Perkhidmatan ("SOA"). Ia adalah pendekatan bagaimana menggunakan perkhidmatan yang memindahkan, menghasilkan, mengesahkan atau mengira data.
SOA menjadi lebih baik dan lebih baik untuk memperbaiki kualiti dan masa pembangunan, dan meningkatkan prestasi aplikasi dan skalabiliti.
Notasi Pemodelan Proses Perniagaan ("BPMN") memodelkan proses perkhidmatan atau perniagaan, yang boleh dilakukan oleh orang bukan teknikal i. e. penganalisis perniagaan. Menggunakan BPMN , model perniagaan (untuk perkhidmatan) mudah ditafsirkan oleh pemaju yang melaksanakan model itu sebagai proses yang boleh dilaksanakan, dan proses ini mungkin atau mungkin tidak memerlukan interaksi manusia.
Mudah Objek Akses Protokol (SOAP)
SOAP adalah satu kaedah pemindahan data melalui internet.
Mula-mula dibangunkan oleh Microsoft kerana kedatangan internet, SOAP menggantikan teknologi lama DCOM dan CORBA , dan ia telah menjadi lebih lama daripada REST.
SOAP dianggap lebih berat daripada REST i.e. terdapat lebih banyak bagasi yang diperlukan untuk memindahkan data, yang bermaksud lebih banyak jalur lebar diperlukan setiap permintaan mesej dan sumber dan sasaran data mempunyai lebih banyak kerja untuk dilakukan ketika membungkus dan menerima data.
SOAP hanya menggunakan XML untuk perkhidmatan pemesejan melalui internet, dan permintaan mesej XML boleh sangat rumit dan jika dibangunkan secara manual, perhatian yang berhati-hati diperlukan kerana SOAP tidak fleksibel dengan ralat.
Adalah mungkin untuk mengautomasikan permintaan mesej SOAP menggunakan. Bahasa-bahasa NET (sebagai contoh), di mana pemaju tidak perlu bekerjasama dengan XML kerana ia dijana secara automatik di latar belakang.
Jika ada masalah yang dihadapi dengan permintaan mesej, maklumat ralat terperinci dikembalikan dalam respon mesej, dan proses ini juga boleh diautomatikkan dengan merujuk kod ralat standard yang disediakan dalam respon mesej.
Oleh itu, bahasa pengaturcaraan yang digunakan adalah faktor menentukan betapa sukarnya untuk melaksanakan SOAP.
Salah satu keping bagasi yang mengiringi mesej SOAP ialah Perkhidmatan Penerangan Web Bahasa ("WSDL") untuk menjelaskan bagaimana perkhidmatan web berfungsi. Apabila aplikasi merujuk kepada perkhidmatan web, ia membaca dan memahami apa yang perlu dilakukan dengan perkhidmatan web.
SOAP tidak terikat menggunakan HTTP (HyperText Transfer Protocol) semata-mata; ia boleh digunakan melalui SMTP, dan protokol pengangkutan lain.
Sebagai SOAP diseragamkan, ia lebih tegar daripada REST, walaupun kedua-duanya bergantung kepada peraturan yang ditetapkan.
REST
REST adalah sepupu SOAP yang lebih baru dan lebih anggun, dan pantas menjadi pilihan untuk kebanyakan aplikasi web dan mudah alih.
Lebih dari satu dekad selepas pengenalannya, REST adalah cara yang lebih ringan, lebih mudah dikendalikan dan berskala berinteraksi dengan perkhidmatan web.
Tidak seperti SOAP, REST tidak menggunakan XML secara eksklusif; teks biasa , CSV , dan RSS boleh digunakan, serta JSON untuk panggilan AJAX; selagi kedua-dua sumber dan sasaran dapat memahami format yang digunakan.
REST kurang kompleks dan dianggap sebagai lengkung pembelajaran yang lebih kecil berbanding dengan SOAP. Kebanyakan bahasa pengaturcaraan moden mempunyai perpustakaan dan rangka untuk memudahkan perkhidmatan REST (RESTful), seperti C #, Python, Java, dan Perl.
REST lebih pantas kerana pemprosesan minimum dan lebih efisien menggunakan format mesej yang berbeza.
Terdapat kelebihan dan kekurangan untuk kedua-duanya, jadi apabila mempertimbangkan protokol akses yang digunakan, pertimbangkan bahasa pengaturcaraan yang digunakan dalam organisasi, persekitaran aplikasi dan keperluan aplikasi.