Opsi Hosting Alur Kerja

Sebagian besar sampel Windows Workflow Foundation (WF) menggunakan alur kerja yang dihosting dalam aplikasi konsol, tetapi ini bukan skenario realistis untuk alur kerja dunia nyata. Alur kerja dalam aplikasi bisnis aktual akan dihosting dalam proses persisten- baik layanan Windows yang ditulis oleh pengembang, atau aplikasi server seperti IIS 7.0 atau AppFabric. Perbedaan antara pendekatan ini adalah sebagai berikut.

Menghosting alur kerja di IIS dengan Windows AppFabric

Menggunakan IIS dengan AppFabric adalah host pilihan untuk alur kerja. Aplikasi host untuk alur kerja menggunakan AppFabric adalah Layanan Aktivasi Windows, yang menghapus dependensi pada HTTP melalui IIS saja.

Menghosting alur kerja di IIS saja

Menggunakan IIS 7.0 saja tidak disarankan, karena ada alat manajemen dan pemantauan yang tersedia dengan AppFabric yang memfasilitasi pemeliharaan aplikasi yang sedang berjalan. Alur kerja hanya boleh dihosting di IIS 7.0 saja jika ada masalah infrastruktur dengan pindah ke AppFabric.

Peringatan

IIS 7.0 mendaur ulang kumpulan aplikasi secara berkala karena berbagai alasan. Ketika kumpulan aplikasi didaur ulang, IIS berhenti menerima pesan ke kumpulan lama, dan membuat instans kumpulan aplikasi baru untuk menerima permintaan baru. Jika alur kerja terus berfungsi setelah mengirim respons, IIS 7.0 tidak akan mengetahui pekerjaan yang sedang dilakukan, dan dapat mendaur ulang kumpulan aplikasi hosting. Jika ini terjadi, alur kerja akan dibatalkan, dan layanan pelacakan akan merekam pesan 1004 - WorkflowInstanceAborted dengan bidang Alasan kosong.

Jika persistensi digunakan, host harus secara eksplisit memulai ulang instans yang dibatalkan dari titik persistensi terakhir.

Jika AppFabric digunakan, layanan manajemen alur kerja pada akhirnya akan melanjutkan alur kerja dari titik persistensi terakhir yang berhasil jika persistensi digunakan. Jika tidak ada persistensi yang digunakan, dan alur kerja melakukan operasi di luar pola Permintaan/Respons, data akan hilang saat alur kerja dibatalkan.

Menghosting alur kerja di Layanan Windows kustom

Membuat layanan alur kerja kustom untuk menghosting alur kerja akan mengharuskan pengembang untuk menduplikasi banyak fungsionalitas yang disediakan di luar kotak oleh AppFabric, tetapi akan memungkinkan lebih banyak fleksibilitas dengan fungsionalitas kustom. Opsi ini hanya boleh dipertimbangkan jika AppFabric terbukti tidak menjadi opsi.