Konsep Pemrograman Replikasi

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Sebelum mengembangkan aplikasi yang menggunakan fungsionalitas replikasi, Anda harus mengikuti langkah-langkah perencanaan umum berikut:

  1. Tentukan topologi replikasi Anda.

  2. Tentukan fungsionalitas aplikasi.

  3. Rencanakan keamanan.

  4. Pilih lingkungan pengembangan.

  5. Pilih antarmuka pemrograman replikasi yang sesuai.

Topik lainnya menjelaskan langkah-langkah ini secara lebih rinci. Untuk membantu mengilustrasikan proses perencanaan, contoh telah disertakan.

Menentukan Topologi Replikasi

Langkah pertama dalam replikasi pemrograman adalah menentukan topologi replikasi untuk aplikasi Anda. Jika Anda menulis aplikasi yang akan menggunakan topologi replikasi yang ada, seperti aplikasi klien yang mengakses data di pelanggan yang ada, Anda harus beralih ke langkah berikutnya.

Catatan

Dalam beberapa kasus, menyebarkan topologi replikasi akan menjadi satu-satunya tujuan aplikasi.

Topologi replikasi yang Anda tentukan tergantung pada banyak faktor, termasuk yang berikut ini:

  • Apakah data yang direplikasi perlu diperbarui atau tidak, dan oleh siapa.

  • Kebutuhan distribusi data Anda mengenai konsistensi, otonomi, dan latensi.

  • Lingkungan replikasi, termasuk pengguna bisnis, infrastruktur teknis, jaringan dan keamanan, dan karakteristik data.

  • Jenis opsi replikasi dan replikasi.

  • Topologi replikasi dan bagaimana mereka selaras dengan jenis replikasi.

Jika Anda baru menggunakan replikasi Microsoft SQL Server, lihat Jenis Replikasi.

Menentukan Fungsionalitas Aplikasi

Setelah topologi replikasi ditentukan, Anda harus memutuskan fungsionalitas yang akan ditawarkan aplikasi Anda. Fungsionalitas ini dapat berkisar dari skrip yang menyinkronkan langganan ke aplikasi dengan antarmuka pengguna untuk mengonfigurasi replikasi. Replikasi mendukung tugas pemrograman umum berikut:

  • Menyiapkan replikasi.

  • Menyinkronkan Pelanggan.

  • Mempertahankan topologi replikasi.

  • Memantau topologi replikasi.

  • Memecahkan masalah replikasi.

Ini juga umum memperluas aplikasi Anda dengan menggabungkan fungsionalitas replikasi dengan fungsionalitas lain yang disediakan oleh SQL Server. Tabel berikut menyoroti beberapa fungsi yang diperluas yang mungkin Anda berikan di aplikasi replikasi Anda.

Fungsionalitas Contoh
Administrasi server menggunakan Objek Manajemen SQL Server (SMO) Aplikasi yang memungkinkan administrator melampirkan dan mengonfigurasi database sebagai Penerbit dalam topologi replikasi.
Akses data menggunakan ADO.NET Aplikasi yang memungkinkan pengguna mengakses dan mengubah data penjualan yang direplikasi secara terprogram dalam database Pelanggan lokal saat offline lalu menyambungkan dan menyinkronkan langganan penarikan dengan mengklik tombol.

Perencanaan Keamanan

Keamanan penting dalam aplikasi apa pun, dan perencanaan untuk keamanan harus diselesaikan sebelum menulis kode apa pun. Keamanan aplikasi dapat dibagi menjadi tiga bagian utama: mengamankan database, mengamankan replikasi, dan menulis kode aman.

Topik berikut memberikan informasi tentang keamanan:

Memilih Lingkungan Pengembangan

Saat mengembangkan aplikasi replikasi, ada tiga lingkungan pengembangan dasar yang perlu dipertimbangkan. Setiap lingkungan pengembangan memiliki akses ke fungsionalitas replikasi yang sama dengan beberapa pengecualian. Aplikasi replikasi dapat dikembangkan di setiap lingkungan berikut.

  • Kode terkelola

    Lingkungan pengembangan berorientasi objek yang memanfaatkan manfaat pemrograman .NET Framework dan runtime bahasa umum .NET (CLR). Kode terkelola adalah lingkungan pemrograman yang direkomendasikan untuk pengembangan .NET dan aplikasi SQL Server. Antarmuka replikasi terkelola memungkinkan pemrograman administrasi replikasi dengan cara yang berorientasi objek tanpa harus mengetahui Transact-SQL, dan juga menyediakan beberapa fungsi panggilan balik saat menjalankan agen replikasi yang tidak tersedia dari skrip. Kode terkelola adalah lingkungan terbaik untuk mengembangkan komponen yang dapat digunakan kembali dan aplikasi antarmuka pengguna.

  • Scripting

    Aplikasi sederhana yang menjalankan serangkaian perintah sebagai prosedur tersimpan sistem replikasi dalam skrip Transact-SQL atau perintah dalam file batch. Meskipun Anda dapat menjalankan skrip di lingkungan terkelola menggunakan penyedia terkelola dalam proses SQL Server, fungsionalitas yang sama dapat diperoleh dengan menggunakan antarmuka replikasi terkelola, yang juga menyediakan fungsi panggilan balik. Pembuatan skrip adalah lingkungan terbaik untuk menjalankan tugas yang hanya akan berjalan beberapa kali dan di mana fungsi panggilan balik tidak diperlukan, seperti menginstal server replikasi.

  • Kode asli

    Lingkungan pengembangan berorientasi objek yang menggunakan akses langsung ke sistem atau objek COM sehingga kode tidak dikelola oleh CLR. Antarmuka replikasi kode asli tidak digunakan lagi atau dihentikan. Untuk informasi selengkapnya, lihat Fitur yang Tidak Digunakan Lagi di Replikasi SQL Server atau Kompatibilitas Mundur Replikasi.

Pilih Antarmuka Pemrograman Replikasi yang Sesuai

Langkah perencanaan terakhir adalah memilih antarmuka pemrograman replikasi yang sesuai yang mengimplementasikan fungsionalitas replikasi yang diinginkan untuk lingkungan pengembangan yang dipilih. Tabel berikut ini memperlihatkan antarmuka pemrograman replikasi yang tersedia.

Antarmuka Lingkungan Menggunakan
Konsep Objek Manajemen Replikasi Kode terkelola Administrasi, pemantauan, dan sinkronisasi.
Microsoft.SqlServer.Replication Kode terkelola Sinkronisasi.
Microsoft.SqlServer.Replication.BusinessLogicSupport Kode terkelola Pembuatan penangan logika bisnis untuk mengintegrasikan logika kustom dengan proses sinkronisasi penggabungan.
Prosedur Tersimpan Replikasi (Transact-SQL) Pembuatan skrip Administrasi dan pemantauan.
Konsep Executables Agen Replikasi Pembuatan skrip Sinkronisasi.

Contoh

Di Adventure Works, data perlu diterbitkan untuk 200 perwakilan penjualan di seluruh dunia. Perwakilan penjualan sering bepergian dan perlu menggunakan komputer laptop atau asisten digital pribadi (PDA) untuk mengubah data pelanggan dan menambahkan pesanan baru. Perubahan kemudian perlu disinkronkan dengan Publisher ketika perwakilan penjualan menghubungkan laptop ke jaringan.

Untuk aplikasi ini, langkah-langkah perencanaan mungkin terlihat seperti berikut:

  1. Topologi replikasi untuk aplikasi ini sudah ada. Namun, langganan penarikan baru harus dibuat di klien. Publikasi harus menggunakan filter berparameter untuk mereplikasi sekumpulan data unik ke setiap perwakilan penjualan.

  2. Selain akses data umum yang diperlukan untuk aplikasi penjualan, aplikasi ini harus memungkinkan tenaga penjual untuk menyinkronkan langganan penarikan sesuai permintaan dengan mengklik tombol. Karena perwakilan penjualan akan menginstal dan menjalankan aplikasi, perwakilan penjualan juga harus dapat mengonfigurasi langganan dan menerapkan rekam jepret awal di klien. Secara opsional, aplikasi akan menggunakan infrastruktur yang disediakan oleh Windows untuk merasakan konektivitas nirkabel untuk secara otomatis menyinkronkan langganan ketika koneksi terdeteksi.

  3. Ikuti semua panduan keamanan untuk replikasi, termasuk menggunakan Autentikasi Windows dan jaringan privat virtual (VPN) saat menyambungkan ke penerbit. Jika menerapkan sinkronisasi Web, gunakan Keamanan Lapisan Transportasi (TLS), yang sebelumnya dikenal sebagai Secure Sockets Layer (SSL), koneksi. Untuk informasi selengkapnya, lihat Mengonfigurasi Sinkronisasi Web.

  4. Untuk memanfaatkan fitur .NET Framework, aplikasi dikembangkan menggunakan bahasa kode terkelola.

  5. Berdasarkan persyaratan ini, antarmuka terkelola Objek Manajemen Replikasi (RMO) dapat menyediakan semua fungsionalitas replikasi yang diperlukan untuk aplikasi ini.

Contoh skenario ini telah diterapkan dalam aplikasi sampel AdventureWorks yang dapat diunduh untuk SQL Server.