Aplikasi Service Broker

Berlaku untuk: SQL Server Azure SQL Managed Instance

Aplikasi Service Broker terdiri dari satu atau beberapa program dan objek database yang digunakan program tersebut. Aplikasi berkomunikasi dengan membuat percakapan antara komponen independen yang disebut layanan dan kemudian bertukar pesan dalam percakapan tersebut. Aplikasi menggunakan Service Broker dengan menjalankan pernyataan Transact-SQL dalam database SQL Server.

Komponen Aplikasi

Aplikasi Service Broker terdiri dari:

  • Satu atau beberapa program yang mengimplementasikan tugas atau kumpulan tugas terkait. Di luar SQL Server, aplikasi dapat ditulis di lingkungan pemrograman apa pun yang dapat menjalankan pernyataan Transact-SQL di SQL Server. Di dalam SQL Server, aplikasi dapat ditulis sebagai prosedur tersimpan menggunakan Transact-SQL atau bahasa yang sesuai dengan runtime bahasa umum (CLR).

  • Layanan yang mengekspos tugas ke layanan lain. Layanan adalah objek Service Broker yang menyediakan nama yang dapat diatasi untuk sekumpulan tugas terkait. Layanan lain memulai percakapan dengan layanan ini untuk melakukan tugas.

  • Jenis kontrak dan pesan yang menentukan struktur dan arah pesan yang digunakan dalam komunikasi antar layanan.

  • Antrean untuk menyimpan pesan untuk layanan.

  • Secara opsional, rute dan pengikatan layanan jarak jauh. Rute mengaitkan alamat jaringan dengan nama layanan jarak jauh. Pengikatan layanan jarak jauh mengaitkan nama layanan dengan prinsipal database lokal. Service Broker menggunakan sertifikat yang terkait dengan prinsipal yang ditentukan untuk menangani otorisasi untuk layanan jarak jauh dan enkripsi pesan yang dipertukarkan dengan layanan jarak jauh. Service Broker mengizinkan rute dan pengikatan layanan jarak jauh untuk dikonfigurasi saat aplikasi sedang dalam penyebaran tanpa memerlukan perubahan pada aplikasi. Ini memungkinkan administrator untuk memindahkan layanan dan mengubah kredensial keamanan tanpa perubahan pada kode aplikasi. Untuk informasi selengkapnya tentang mengonfigurasi rute dan pengikatan layanan jarak jauh, lihat Administrasi (Service Broker).

Service Broker DML

Biasanya, aplikasi menyiapkan objek definisi layanan pada saat penginstalan. Saat berjalan, aplikasi mengirim dan menerima pesan dengan menggunakan Service Broker Data Manipulation Language (DML). Pernyataan DML termasuk dalam tiga kategori luas: pesan, percakapan, dan grup percakapan:

Pesan

Service Broker menyediakan operasi berikut untuk mendukung bekerja dengan pesan:

  • Pernyataan SEND mengirimkan pesan pada percakapan tertentu.

  • Pernyataan RECEIVE menerima satu atau beberapa pesan dari antrean. Semua pesan yang diterima termasuk dalam grup percakapan yang sama.

Percakapan

Service Broker menyediakan operasi berikut untuk mendukung bekerja dengan percakapan:

  • Pernyataan BEGIN DIALOG CONVERSATION memulai percakapan antara dua layanan. Karena percakapan melibatkan tepat dua layanan, percakapan tersebut adalah dialog.

  • Pernyataan END CONVERSATION mengakhiri satu sisi percakapan.

  • Pernyataan BEGIN CONVERSATION TIMER mengirimkan pesan timer dialog ke satu sisi percakapan pada waktu tertentu.

  • Pernyataan GET_TRANSMISSION_STATUS mengembalikan deskripsi kesalahan transmisi terakhir untuk percakapan. Jika upaya terakhir untuk mengirimkan pesan untuk percakapan berhasil, pernyataan tidak mengembalikan deskripsi.

Grup Percakapan

Service Broker menyediakan dua operasi untuk bekerja dengan grup percakapan:

  • Pernyataan GET CONVERSATION GROUP mengembalikan pengidentifikasi grup percakapan untuk pesan berikutnya yang dapat diterima dalam antrean. Pernyataan tersebut juga mengunci grup percakapan.

  • Pernyataan MOVE CONVERSATION memindahkan percakapan dari satu grup percakapan ke grup percakapan lainnya. Pernyataan ini mengunci grup percakapan asli dan grup percakapan tujuan.

Lihat juga