Bagikan melalui


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:

A document approval process workflow

Dari perspektif klien, proses persetujuan berfungsi sebagai berikut:

  1. Klien berlangganan menjadi pengguna dalam sistem proses persetujuan.

  2. Klien WCF mengirim ke layanan WCF yang dihosting oleh aplikasi manajer persetujuan.

  3. ID pengguna unik dikembalikan ke klien. Klien sekarang dapat berpartisipasi dalam proses persetujuan.

  4. Setelah bergabung, klien dapat mengirim dokumen untuk disetujui menggunakan proses persetujuan tunggal, kuorum, atau kompleks.

  5. Tombol di antarmuka klien diklik, memulai instans alur kerja di Host Layanan Alur Kerja klien.

  6. Alur kerja mengirimkan permintaan persetujuan ke aplikasi manajer persetujuan.

  7. Manajer alur kerja memulai alur kerja di sisinya sendiri untuk mewakili proses persetujuan.

  8. Setelah alur kerja persetujuan manajer dijalankan, hasilnya dikirim kembali ke klien.

  9. Klien menampilkan hasilnya.

  10. Klien dapat menerima permintaan persetujuan dan menanggapi permintaan kapan saja.

  11. Layanan WCF yang dihosting pada klien dapat menerima permintaan persetujuan dari aplikasi manajer persetujuan.

  12. Informasi dokumen disajikan pada klien untuk ditinjau.

  13. Pengguna dapat menyetujui atau menolak dokumen.

  14. Klien WCF digunakan untuk mengirim respons persetujuan kembali ke aplikasi manajer persetujuan.

Dari sudut pandang aplikasi manajer persetujuan, proses persetujuan berfungsi sebagai berikut:

  1. Klien meminta untuk berpartisipasi dalam sistem proses persetujuan.

  2. Layanan WCF pada manajer persetujuan menerima permintaan untuk menjadi bagian dari sistem proses persetujuan.

  3. ID unik dibuat untuk klien. Informasi pengguna disimpan dalam database.

  4. ID unik dikirim kembali ke pengguna.

  5. Permintaan persetujuan diterima. Manajer persetujuan menjalankan proses persetujuan.

  6. Permintaan persetujuan diterima oleh manajer persetujuan, memulai alur kerja baru.

  7. Tergantung pada jenis permintaan (sederhana, kuorum, atau kompleks) aktivitas yang berbeda dijalankan.

  8. Aktivitas Kirim dan Terima dengan korelasi digunakan untuk mengirim permintaan persetujuan ke klien untuk ditinjau dan menerima respons.

  9. Hasil alur kerja proses persetujuan dikirim ke klien.

Menggunakan Sampel

Untuk menyiapkan database

  1. Dari perintah Visual Studio dibuka dengan hak istimewa Administrator, navigasikan ke folder DocumentApprovalProcess ini dan jalankan Setup.cmd.

Untuk menyiapkan aplikasi

  1. Dengan menggunakan Visual Studio, buka file solusi DocumentApprovalProcess.sln.

  2. Untuk membangun solusi, tekan CTRL+SHIFT+B.

  3. 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

  1. Buka perintah dengan izin administrator.

  2. Navigasikan ke direktori yang berisi solusi.

  3. Navigasikan ke folder ApprovalClient\Bin\Debug dan jalankan dua instans ApprovalClient.exe.

  4. Klik temukan, tunggu hingga tombol berlangganan diaktifkan.

  5. Ketik nama pengguna apa pun dan klik berlangganan. Untuk satu klien, gunakan UserType1 dan jenis UserType2lainnya.

  6. Di klien UserType1, pilih jenis persetujuan tunggal dari menu drop-down dan ketik nama dokumen dan konten. Klik Minta Persetujuan.

  7. Di klien UserType2, dokumen yang menunggu persetujuan muncul. Pilih dan tekan setujui atau tolak. Hasilnya akan ditampilkan di klien UserType1.

Untuk menjalankan skenario persetujuan kuorum

  1. Buka perintah dengan izin administrator.

  2. Navigasikan ke direktori yang berisi solusi.

  3. Navigasikan ke folder ApprovalClient\Bin\Debug dan jalankan tiga instans ApprovalClient.exe.

  4. Klik temukan, tunggu hingga tombol berlangganan diaktifkan.

  5. Ketik nama pengguna apa pun dan klik berlangganan. Untuk satu penggunaan klien gunakan UserType1 dan dua jenis UserType2 lainnya.

  6. Di klien UserType1, pilih jenis persetujuan kuorum dari menu drop-down dan ketik nama dan konten dokumen. Klik Minta Persetujuan. Ini meminta kedua UserType2 klien menyetujui atau menolak dokumen. Meskipun kedua klien UserType2 harus merespons, hanya satu klien yang harus menyetujui dokumen agar disetujui.

  7. Di klien UserType2, dokumen yang menunggu persetujuan muncul. Pilih dan tekan setujui atau tolak. Hasilnya akan ditampilkan di klien UserType1.

Untuk menjalankan skenario persetujuan yang kompleks

  1. Buka perintah dengan izin administrator.

  2. Navigasikan ke direktori yang berisi solusi.

  3. Navigasikan ke folder ApprovalClient\Bin\Debug dan jalankan empat instans ApprovalClient.exe.

  4. Klik temukan, tunggu hingga tombol berlangganan diaktifkan.

  5. Ketik nama pengguna apa pun dan klik berlangganan. Untuk satu klien gunakan UserType1, dalam dua penggunaan ketik UserType2, dan dalam penggunaan terakhir UserType3.

  6. Di klien UserType1, pilih jenis persetujuan tunggal dari menu drop-down dan ketik nama dokumen dan konten. Klik Minta Persetujuan.

  7. Di klien UserType2, dokumen yang menunggu persetujuan muncul. Pilih dan tekan setujui, dokumen diteruskan ke klien UserType3.

    Jika dokumen disetujui oleh kuorum UserType2 pertama, dokumen diteruskan ke klien UserType3.

  8. Setujui atau tolak dokumen dari klien UserType3. Hasilnya akan ditampilkan di klien UserType1.

Untuk membersihkan

  1. Dari perintah Visual Studio, navigasikan ke folder DocumentApprovalProcess dan jalankan Cleanup.cmd.