REST atau SOAP dalam persekitaran yang asli awan

Model data API berasaskan awan tidak hanya meningkatkan pengalaman cloud, tetapi juga menyediakan cara bagi pembangun dan pentadbir untuk mengintegrasikan beban kerja ke dalam cloud menggunakan API tersebut. Bagi kebanyakan perusahaan, API membenarkan berkongsi maklumat di pelbagai aplikasi berasaskan lokasi dan awan. Mereka juga memainkan peranan penting untuk menyatukan beban kerja platform dengan lebih lancar. Oleh kerana penggunaan awan terus berkembang, terdapat lebih banyak permintaan untuk titik integrasi antara aplikasi di dalam dan di luar lingkungan awan. Kebangkitan strategi multicloud bersama dengan keperluan peningkatan kemampuan cross cloud telah meningkatkan kebergantungan pada lingkungan cloud API. Tetapi pendekatan mana yang lebih baik dan sokongan apa yang anda dapat di persekitaran awan anda?

Ringkasnya sabun

SOAP (kependekan dari Simple Object Access Protocol), pendekatan yang lebih lama, mendapat sokongan di seluruh industri mulai dari syarikat produk seperti IBM dan Microsoft hingga pelaksana perkhidmatan. Ia juga dilengkapi dengan satu set standard yang komprehensif namun kompleks. Pasukan Microsoft yang merancang SOAP menjadikannya sangat fleksibel - untuk dapat berkomunikasi melalui rangkaian peribadi, di internet dan e-mel. Ia juga disokong oleh beberapa standard. Versi awal SOAP adalah bagian dari spesifikasi yang berisi Universal Description, Discovery, and Integration (UDDI) dan Web Deskripsi Language Language (WSDL) juga.

SOAP pada dasarnya menyediakan sampul untuk menghantar mesej perkhidmatan web. Senibina itu sendiri dirancang untuk membantu pelaksanaan pelbagai operasi antara program perisian. Komunikasi antara program biasanya berlaku melalui permintaan berdasarkan XML dan respons berdasarkan HTTP. HTTP kebanyakannya digunakan protokol komunikasi, tetapi protokol lain juga dapat digunakan.

Mesej SOAP mengandungi beberapa bahagian wajib seperti ENVELOPE, HEADER, BODY, dan FAULT. The  ENVELOPEobjek mentakrifkan permulaan dan akhir permintaan mesej XML, HEADERmengandungi sebarang unsur header untuk diproses oleh pelayan, dan BODYmengandungi objek XML baki yang merupakan permintaan itu. FAULTobjek digunakan sebarang pengendalian ralat.

KURANGKAN

REST (Perwakilan Negara Perwakilan) biasanya disebut sebagai gaya seni bina dan bukan protokol, yang digunakan untuk membangun perkhidmatan web. Senibina REST membolehkan komunikasi antara dua program perisian, di mana satu program dapat meminta dan memanipulasi sumber dari yang lain. Permintaan REST untuk mengakses sumber pada program sasaran menggunakan HTTP kata kerja: GET, POST, PUT, dan DELETE. Permintaan ini dapat menggunakan format data termasuk XML, HTML dan JSON. JSON sangat digemari kerana ia paling serasi dan senang digunakan. kebanyakan API REST didasarkan pada URI (Uniform Resource Identifier) ​​dan khusus untuk protokol HTTP. 

REST mesra pengembang kerana gaya yang lebih ringkas menjadikannya lebih mudah untuk dilaksanakan dan digunakan daripada SOAP. REST kurang verbose, dan jumlah data yang lebih sedikit dihantar ketika berkomunikasi antara dua titik akhir.

Kenapa sabun atau REST?

Walaupun SOAP seperti menggunakan sampul surat yang berisi banyak informasi pemrosesan di dalamnya, REST dapat dianggap sebagai poskad yang memiliki URI sebagai alamat tujuan, ringan, dan dapat di-cache. REST didorong oleh data dan digunakan utama untuk mengakses sumber (URI) untuk data tertentu; SOAP adalah protokol yang didorong oleh fungsi. REST memberikan fleksibiliti dalam memilih format data (teks biasa, HTML, XML, atau JSON) sementara SOAP hanya menggunakan XML.

SOAP sangat sesuai untuk aplikasi di mana anda memerlukan tahap keselamatan yang lebih tinggi. SOAP dilengkapi dengan ciri keselamatan peringkat perusahaan yang disokong oleh WS-Security, bersama dengan sokongan SSL. Sekiranya anda ingin mengembangkan penyelesaian perbankan mudah alih, SOAP API mungkin akan menjadi pertimbangan pertama untuk keperluan keselamatan. SOAP juga memberikan logik percubaan untuk kejayaan yang dijamin dan komunikasi yang boleh dipercayai. REST menggunakan HTTP dan dapat mengatasi kegagalan komunikasi hanya dengan mencuba lagi namun logik percubaan tidak disertakan dengan REST. SOAP memang menyediakan logik percubaan semula.

Apa yang berubah dalam persekitaran asli awan?

Dari perspektif pemaju, tidak ada yang benar-benar berubah dalam memilih antara REST atau SOAP, tetapi merancang perkhidmatan anda dalam persekitaran asli awan membawa perspektif platform menjadi pertimbangan. Ketersediaan perkhidmatan dan masa tindak balas memainkan peranan penting dalam merancang perkhidmatan perusahaan dan aplikasi asli cloud. Dari sudut pandang keselamatan, protokol WS-Security (Web Service Security), yang menyediakan keselamatan tahap pesanan akhir-ke-akhir menggunakan mesej SOAP, banyak digunakan dalam pengkomputeran awan untuk melindungi keselamatan kebanyakan perkhidmatan web berkaitan pengkomputeran awan. Tetapi WS-Security menggunakan elemen header SAOP untuk membawa maklumat berkaitan keselamatan. Mesej SOAP berformat jenis XML dan biasanya ukurannya jauh lebih besar daripada mesej sebenar dalam format binari. Ini meningkatkan masa dan pemprosesan untuk berkomunikasi dan memproses data.Ini boleh menjadi hujah perdebatan untuk memilih REST berbanding SOAP, tetapi terdapat peralihan dari SOAP ke REST tanpa mengira platform yang akan dijalankan oleh aplikasi anda.

Akhir tahun 2016, Microsoft Azure menambahkan sokongan melalui SOAP ke Pengurusan API Azure yang membantu pembangun membuat proksi untuk API SOAP mereka dengan cara yang sama mereka membuat proksi untuk API REST / HTTP. Dengan menggunakan sokongan laluan SOAP, anda boleh mengimport dokumen WSDL dan membuat proksi API baru; prosesnya melihat semua tindakan SOAP dalam dokumen dan menjadikannya berkesan ke titik akhir API. Pada versi yang akan datang, kami mungkin melihat fitur yang diminta untuk membuat REST front end menggunakan SOAP back end.

Di dalam dunia AWS, sebahagian besar API AWS hanya dapat diakses melalui REST dan mempunyai sokongan terhad untuk SOAP. Sumber EC2 tersedia melalui REST atau Query API, sementara SOAP API untuk EC2 sudah tidak digunakan lagi sejak akhir 2015. Perkhidmatan seperti Amazon S3 dan RDS juga menyokong REST sementara SOAP hanya disokong melalui HTTPS; SOAP untuk HTTP tidak digunakan lagi. Amazon SQS tidak lagi menyokong SOAP. Walaupun REST nampaknya memimpin API AWS, Amazon API Gateway berintegrasi dengan ekosistem AWS dan memberikan sokongan untuk membuat, mengurus dan menggunakan API RESTful untuk mendedahkan titik akhir HTTP / HTTPS belakang, fungsi AWS Lambda, dan / atau perkhidmatan AWS lain. API Gateway juga membantu Memohon kaedah API yang terdedah melalui titik akhir HTTP front-end.

Semakin banyak sokongan bergantung kepada API RESTful. Kesederhanaannya dengan operasi seperti kata kerja menjadikannya mesra pemaju. Ia serasi dengan kebanyakan format dan senang digunakan. Tidak ada matahari terbenam untuk SOAP, tetapi REST pasti akan menjadi popular di kalangan komuniti pemaju.