Bagikan melalui


Menggunakan SSO Secara Efisien dalam Solusi Manajemen Proses Bisnis

Seperti solusi Berorientasi Layanan, solusi Manajemen Proses Bisnis menggunakan Enterprise Single Sign-On (SSO) untuk menyimpan nilai konfigurasi seperti jumlah tahap pemrosesan pesanan. Ini menggunakan penyimpanan rahasia karena ada setiap kali BizTalk diinstal, SSO menyimpan informasi konfigurasi sehingga nilai tersedia dengan mudah, dan dapat melindungi informasi seperti string koneksi database dan kata sandi. Untuk semua alasan ini, penyimpanan rahasia adalah tempat yang baik untuk informasi konfigurasi meskipun Single Sign-On tidak digunakan untuk mengelola koneksi ke aplikasi backend.

Untuk mengurangi latensi, solusi menggunakan cache lokal untuk nilai konfigurasi. Solusi ini memperbarui cache setiap lima menit.

Topik ini menjelaskan mekanisme penyimpanan sementara yang digunakan oleh pemecahan. Solusi ini mengambil pendekatan yang sedikit berbeda untuk cache SSO daripada solusi berorientasi layanan. Untuk deskripsi tentang bagaimana solusi berorientasi layanan menyimpan nilai SSO, lihat Menggunakan SSO Secara Efisien di Solusi Berorientasi Layanan.

Cache Nilai Konfigurasi Secara Lokal

Solusi manajemen proses bisnis menggunakan properti pada objek singleton untuk menyediakan akses ke nilai SSO.

Nota

Ingat bahwa objek singleton adalah objek yang hanya dapat memiliki satu instans. Untuk informasi selengkapnya tentang objek singleton dan membuatnya di C#, lihat Menerapkan Singleton di C#.

Dalam solusinya, orkestrasi terlebih dahulu mengambil objek singleton lalu mereferensikan nilai melalui properti objek. Berikut adalah kode dari orkestrasi OrderManager :

configData = Microsoft.Samples.BizTalk.SouthridgeVideo.Utilities
                .SsoConfigHelper.Singleton;
numStages = configData.TotalStages;

Orkestrasi memanggil metode Singleton pada objek SsoConfigHelper untuk mendapatkan akses ke satu salinan objek. Dengan objek di tangan, orkestrasi mengambil jumlah tahap pemrosesan, TotalStages.

Solusi ini mengikuti metode umum untuk membuat singleton: membuat konstruktor private, membuat objek menciptakan instance dari dirinya sendiri dan menetapkannya ke variabel private, dan melalui metode atau properti, memberikan akses ke nilai variabel tersebut. Objek SsoConfigHelper menggunakan properti, Singleton, untuk menyediakan akses ke salinan tunggal itu sendiri.

Nota

Objek SsoConfigHelper menggunakan konstruktor statis untuk mendapatkan nilai awal dari cache SSO dan untuk menyiapkan mekanisme refresh. Karena konstruktor statis tidak dapat dipanggil, itu mempertahankan desain singleton. Untuk informasi selengkapnya, lihat Konstruktor Statis (Panduan Pemrograman C#).

Semua objek yang dirujuk orkestrasi, baik secara langsung maupun tidak langsung, harus dapat diserialisasikan. Untuk informasi selengkapnya, lihat "Serialisasi" di Persistensi dan Mesin Orkestrasi. Meskipun objek SsoConfigHelper harus dapat diserialisasikan, jika mesin mendehidrasi orkestrasi, ketika orkestrasi rehidrasi, orkestrasi tetap akan menggunakan instans objek tunggal saat ini. Untuk informasi selengkapnya tentang serialisasi dan variabel BizTalk Server, lihat Jenis Variabel Orkestrasi.

Nota

Semua metode publik pada objek dalam solusi berorientasi layanan bersifat statis. Dengan demikian orkestrasi tidak perlu menetapkan instans ke variabel, dan tidak perlu kelas diserialisasikan.

Objek SsoConfigHelper menggunakan mekanisme yang sama untuk mengambil dan menyegarkan nilai konfigurasi seperti halnya solusi berorientasi layanan. Pola yang sama dalam penguncian juga digunakan. Untuk informasi selengkapnya tentang mekanisme ini, lihat Menggunakan SSO Secara Efisien di Service Oriented Solution dan kode sumber untuk SsoConfigHelper.

Seperti caching Sign-On tunggal yang dilakukan dalam solusi yang berorientasi layanan, solusi manajemen proses bisnis mengimplementasikan antarmuka IPropertyBag dari namespace Microsoft.BizTalk.SSOClient.Interop untuk menyimpan nilai. Solusi manajemen proses bisnis menggunakan objek HybridDictionary daripada objek NameValueCollection .

Tidak seperti solusi Berorientasi Layanan, solusi Manajemen Proses Bisnis mengekspos objek dengan properti yang sesuai dengan data konfigurasi. Ini mencegah orkestrasi harus berurusan dengan perbedaan dalam jenis pesan.

Lihat Juga

Sorotan Implementasi Solusi Manajemen Proses Bisnis