Proses Persetujuan Dokumen
Sampel DocumentApprovalProcess menunjukkan penggunaan banyak fitur Windows Workflow Foundation (WF) dan Windows Communication Foundation (WCF) secara bersamaan. Bersama-sama mereka menerapkan skenario proses persetujuan dokumen. Aplikasi klien dapat mengirimkan dokumen untuk persetujuan dan menyetujui dokumen. Aplikasi manajer persetujuan ada untuk memfasilitasi komunikasi antara klien dan untuk menegakkan aturan proses persetujuan. Proses persetujuan adalah alur kerja yang dapat menjalankan beberapa jenis persetujuan. Aktivitas ada untuk mendapatkan persetujuan tunggal, persetujuan kuorum (persentase set pemberi persetujuan), dan proses persetujuan kompleks yang terdiri dari kuorum dan persetujuan tunggal secara berurutan.
Detail Sampel
Grafik berikut menunjukkan alur kerja proses persetujuan dokumen:
Dari perspektif klien, proses persetujuan berfungsi sebagai berikut:
Klien berlangganan menjadi pengguna dalam sistem proses persetujuan.
Klien WCF mengirim ke layanan WCF yang dihosting oleh aplikasi manajer persetujuan.
ID pengguna unik dikembalikan ke klien. Klien sekarang dapat berpartisipasi dalam proses persetujuan.
Setelah bergabung, klien dapat mengirim dokumen untuk disetujui menggunakan proses persetujuan tunggal, kuorum, atau kompleks.
Tombol di antarmuka klien diklik, memulai instans alur kerja di Host Layanan Alur Kerja klien.
Alur kerja mengirimkan permintaan persetujuan ke aplikasi manajer persetujuan.
Manajer alur kerja memulai alur kerja di sisinya sendiri untuk mewakili proses persetujuan.
Setelah alur kerja persetujuan manajer dijalankan, hasilnya dikirim kembali ke klien.
Klien menampilkan hasilnya.
Klien dapat menerima permintaan persetujuan dan menanggapi permintaan kapan saja.
Layanan WCF yang dihosting pada klien dapat menerima permintaan persetujuan dari aplikasi manajer persetujuan.
Informasi dokumen disajikan pada klien untuk ditinjau.
Pengguna dapat menyetujui atau menolak dokumen.
Klien WCF digunakan untuk mengirim respons persetujuan kembali ke aplikasi manajer persetujuan.
Dari sudut pandang aplikasi manajer persetujuan, proses persetujuan berfungsi sebagai berikut:
Klien meminta untuk berpartisipasi dalam sistem proses persetujuan.
Layanan WCF pada manajer persetujuan menerima permintaan untuk menjadi bagian dari sistem proses persetujuan.
ID unik dibuat untuk klien. Informasi pengguna disimpan dalam database.
ID unik dikirim kembali ke pengguna.
Permintaan persetujuan diterima. Manajer persetujuan menjalankan proses persetujuan.
Permintaan persetujuan diterima oleh manajer persetujuan, memulai alur kerja baru.
Tergantung pada jenis permintaan (sederhana, kuorum, atau kompleks) aktivitas yang berbeda dijalankan.
Aktivitas Kirim dan Terima dengan korelasi digunakan untuk mengirim permintaan persetujuan ke klien untuk ditinjau dan menerima respons.
Hasil alur kerja proses persetujuan dikirim ke klien.
Menggunakan Sampel
Untuk menyiapkan database
- Dari perintah Visual Studio dibuka dengan hak istimewa Administrator, navigasikan ke folder DocumentApprovalProcess ini dan jalankan Setup.cmd.
Untuk menyiapkan aplikasi
Dengan menggunakan Visual Studio, buka file solusi DocumentApprovalProcess.sln.
Untuk membangun solusi, tekan CTRL+SHIFT+B.
Untuk menjalankan solusi, luncurkan Aplikasi Manajer Persetujuan dengan mengklik kanan proyek ApprovalManager di Penjelajah Solusi dan klik Debug->Mulai instans baru dari menu klik kanan.
Tunggu output manajer untuk memberi tahu Anda bahwa sudah siap.
Untuk menjalankan skenario persetujuan tunggal
Buka perintah dengan izin administrator.
Navigasikan ke direktori yang berisi solusi.
Navigasikan ke folder ApprovalClient\Bin\Debug dan jalankan dua instans ApprovalClient.exe.
Klik temukan, tunggu hingga tombol berlangganan diaktifkan.
Ketik nama pengguna apa pun dan klik berlangganan. Untuk satu klien, gunakan
UserType1
dan jenisUserType2
lainnya.Di klien
UserType1
, pilih jenis persetujuan tunggal dari menu drop-down dan ketik nama dokumen dan konten. Klik Minta Persetujuan.Di klien
UserType2
, dokumen yang menunggu persetujuan muncul. Pilih dan tekan setujui atau tolak. Hasilnya akan ditampilkan di klienUserType1
.
Untuk menjalankan skenario persetujuan kuorum
Buka perintah dengan izin administrator.
Navigasikan ke direktori yang berisi solusi.
Navigasikan ke folder ApprovalClient\Bin\Debug dan jalankan tiga instans ApprovalClient.exe.
Klik temukan, tunggu hingga tombol berlangganan diaktifkan.
Ketik nama pengguna apa pun dan klik berlangganan. Untuk satu penggunaan klien gunakan
UserType1
dan dua jenisUserType2
lainnya.Di klien
UserType1
, pilih jenis persetujuan kuorum dari menu drop-down dan ketik nama dan konten dokumen. Klik Minta Persetujuan. Ini meminta keduaUserType2
klien menyetujui atau menolak dokumen. Meskipun kedua klienUserType2
harus merespons, hanya satu klien yang harus menyetujui dokumen agar disetujui.Di klien
UserType2
, dokumen yang menunggu persetujuan muncul. Pilih dan tekan setujui atau tolak. Hasilnya akan ditampilkan di klienUserType1
.
Untuk menjalankan skenario persetujuan yang kompleks
Buka perintah dengan izin administrator.
Navigasikan ke direktori yang berisi solusi.
Navigasikan ke folder ApprovalClient\Bin\Debug dan jalankan empat instans ApprovalClient.exe.
Klik temukan, tunggu hingga tombol berlangganan diaktifkan.
Ketik nama pengguna apa pun dan klik berlangganan. Untuk satu klien gunakan
UserType1
, dalam dua penggunaan ketikUserType2
, dan dalam penggunaan terakhirUserType3
.Di klien
UserType1
, pilih jenis persetujuan tunggal dari menu drop-down dan ketik nama dokumen dan konten. Klik Minta Persetujuan.Di klien
UserType2
, dokumen yang menunggu persetujuan muncul. Pilih dan tekan setujui, dokumen diteruskan ke klienUserType3
.Jika dokumen disetujui oleh kuorum
UserType2
pertama, dokumen diteruskan ke klienUserType3
.Setujui atau tolak dokumen dari klien
UserType3
. Hasilnya akan ditampilkan di klienUserType1
.
Untuk membersihkan
- Dari perintah Visual Studio, navigasikan ke folder DocumentApprovalProcess dan jalankan Cleanup.cmd.