Bagikan melalui


COM+ Mengkompensasi Konsep Resource Manager

Anda dapat menggunakan COM+ Compensating Resource Manager (CRM) untuk mengintegrasikan sumber daya aplikasi dengan mudah dan cepat dengan transaksi Koordinator Transaksi Terdistribusi Microsoft (DTC). Sumber daya aplikasi Anda dapat memilih hasil transaksi dan dapat menerima pemberitahuan akhir tentang hasilnya. Log tahan lama dihasilkan sehingga sumber daya aplikasi Anda dapat menulis rekaman yang bertahan dari kegagalan, dan CRM memulihkan file log ini saat aplikasi dimulai ulang.

CRM terdiri dari dua komponen berikut:

  • Pekerja CRM. Komponen ini melakukan pekerjaan utama CRM tertentu dan mengimplementasikan antarmuka khusus untuk tugas yang perlu dilakukannya. Infrastruktur CRM menyediakan antarmuka ke CRM Worker di mana CRM Worker dapat menulis rekaman ke file log yang tahan lama pada disk. Pekerja CRM harus menulis rekaman ke log dan membuatnya tahan lama sebelum melakukan pekerjaannya sehingga, jika terjadi crash, pemulihan dapat terjadi dengan benar. CRM Worker selalu memerlukan transaksi.
  • CRM Compensator. Komponen ini dibuat oleh infrastruktur CRM pada penyelesaian transaksi. Ini menerapkan antarmuka yang ditentukan di mana infrastruktur CRM dapat meneruskan pemberitahuan penyelesaian transaksi dan catatan log yang sebelumnya ditulis oleh CRM Worker.

COM+ CRM memberikan atomitas dengan pemberitahuan transaksional, dan durabilitas dengan log CRM, tetapi tidak menyediakan isolasi sumber daya. Dalam lingkungan multithreaded, pengembang CRM bertanggung jawab untuk memastikan bahwa akses ke sumber daya, baik oleh beberapa Pekerja CRM atau aplikasi eksternal, diserialisasikan saat dalam transaksi.

Setelah transaksi melewati fase persiapan, CRM Compensator dan CRM Workers dapat berjalan secara bersamaan. Dimungkinkan bagi komponen CRM Worker dari transaksi baru menjadi aktif sementara CRM Compensator dari transaksi sebelumnya masih memproses transaksi sebelumnya.

Selama kegagalan sebelum pemulihan aplikasi server CRM, transaksi yang terganggu harus dianggap aktif dan tidak selesai. Seharusnya tidak mungkin bagi proses eksternal untuk mengakses sumber daya yang diubah oleh transaksi khusus ini sebelum pemulihan proses server CRM.

CRM menentukan tiga jenis antarmuka untuk fungsi CRM dasar:

  • ICrmLogControl diimplementasikan pada petugas CRM dan digunakan oleh CRM Worker untuk menulis rekaman log ke log. Ini juga dapat digunakan oleh CRM Compensator.
  • ICrmCompensator dan ICrmCompensatorVariants diimplementasikan pada CRM Compensator. Antarmuka ini digunakan untuk mengirimkan pemberitahuan hasil transaksi dan catatan log terkait ke CRM Compensator. Biasanya, CRM Compensator hanya akan menerapkan salah satu antarmuka ini, tergantung pada apakah diperlukan rekaman log yang tidak terstruktur atau terstruktur. Rekaman log terstruktur adalah rekaman yang dibangun sebagai kumpulan Varian dan biasanya untuk digunakan oleh Microsoft Visual Basic. Rekaman log yang tidak terstruktur hanyalah buffer byte dan biasanya untuk digunakan oleh Microsoft Visual C++. CRM Compensator dapat mengimplementasikan kedua antarmuka kompensator; namun, hanya satu per satu yang digunakan untuk mengirimkan catatan log.
  • Antarmuka pemantauan COM+ CRM digunakan untuk memantau CRM dalam aplikasi server tertentu. Untuk informasi terperinci tentang antarmuka pemantauan, lihat ANTARMUKA Pemantauan COM+ CRM.

Topik berikut di bagian ini memberikan detail selengkapnya tentang layanan COM+ CRM:

COM+ Mengkompensasi Tugas Resource Manager