Bagikan melalui


Mengirim Pesan SOAP

Ada banyak cara untuk menangani pengiriman pesan SOAP yang diterima ke layanan yang sesuai. Dua mekanisme paling sederhana adalah pengiriman tingkat transportasi, dan pengiriman alamat dan tindakan.

Pengiriman tingkat transportasi

Dengan pengiriman tingkat transportasi, server HTTP yang mendasar (seperti API HTTP) digunakan untuk mengelola perutean permintaan ke perangkat dan layanannya. Server menyediakan URL yang berbeda untuk setiap layanan dan untuk perangkat dan sink yang berbeda didaftarkan untuk setiap URL. Hal ini memungkinkan kode dirancang sewaktu-waktu agar setiap layanan diisolasi dari yang lain, baik berjalan sebagai komponen terpisah dalam proses yang sama atau berjalan sebagai proses terpisah.

Pengiriman tingkat transportasi memiliki beberapa keuntungan. Pesan dapat dikirim ke komponen yang sesuai tanpa terlebih dahulu mengurai amplop SOAP atau isi pesan. Selain itu, mekanisme yang ada untuk merutekan pesan yang disediakan oleh sebagian besar implementasi server HTTP dapat digunakan kembali, yang berarti kode pengiriman kustom tidak perlu. Ini juga mengisolasi kode pemrosesan SOAP antar layanan, yang menyediakan tingkat keamanan, karena layanan aman menghindari pesan bepergian melalui kode umum.

Pengiriman alamat dan tindakan

Pengiriman alamat dan tindakan bergantung pada header SOAP untuk menentukan layanan yang sesuai tempat pesan dikirim. Model ini juga dapat menggunakan informasi tambahan, seperti parameter referensi, untuk membantu pengiriman lebih lanjut.

Model ini mendorong penggunaan kembali kode di seluruh tumpukan olahpesan berlapis, karena semua kode hingga prosesor SOAP dibagikan oleh semua layanan. Selain itu, alamat transportasi yang berbeda untuk layanan tidak diperlukan, yang berarti bahwa alamat UUID dapat digunakan untuk titik akhir layanan. Pengiriman alamat dan tindakan juga diterjemahkan lebih langsung ke model pemrograman. Pengembang dapat menyambungkan layanan dan perangkat ke dalam satu komponen yang mengelola perutean, daripada harus mengikat ke lapisan HTTP atau membuat komponen terpisah untuk setiap layanan.