Adakah yang berhasil menggunakan Windows Workflow untuk mesin Aturan / Validasi Bisnis?


11

Saya bertanya-tanya apakah ada yang berhasil menggunakan Windows Workflow Foundation untuk mesin BusinessRules / Validation, atau apakah Anda tahu beberapa kode sampel atau artikel tentang ini.

Jika Anda pernah menggunakannya sebelumnya, bagaimana menurut Anda? Bagaimana ini dibandingkan dengan sistem BusinessRule / Validasi lainnya?

Saya sedang memikirkan aturan seperti

if (A, B, and C) 
    AllowAccess();

Atau

if (Value between X and Y)
    return true;

Jawaban:


6

Saya mulai membangun mesin menggunakan WWF WCF beberapa bulan yang lalu. Saya tidak tahu seberapa kompleks basis aturan Anda, tetapi kami cukup besar. Ketika Anda memiliki potensi untuk sekitar 40.000 cabang, WWF tidak cocok. Sebagai alternatif, saya akhirnya membangun mesin yang menggunakan tabel pengecualian logika dalam SQL. Baris akan menyimpan nilai-nilai dasar, serta string yang diformat untuk rumus yang bervariasi di antara pengecualian. Dikombinasikan dengan bahasa yang dinamis (saya menggunakan mesin ironpython tertanam dengan pembungkus dan Anda bisa menggunakan mesin JScript tertanam), logikanya dapat ditentukan pada tingkat yang sangat abstrak dengan cepat. Saya SANGAT senang saya menempuh rute ini.Logika seret dan lepas tampaknya hebat, tetapi pebisnis tidak akan pernah bisa menggunakannya, terlepas dari pemasarannya, dan itu hanya akan memperlambat pengembang ke bawah IMHO, dengan cepat menjadi sarang tikus .

Pembaruan: Jika Anda masih tertarik, di sini adalah panduan pemula . Ini tentu tidak ekspansif, tetapi memiliki beberapa video yang layak. Mengenai pengaturan, teknisi jaringan kami melakukan pengaturan untuk saya (kebijakan perusahaan untuk pemeliharaan server, keamanan, dll.), Tetapi konon hampir identik dengan pengaturan layanan WCF dasar. Pada dasarnya membuangnya di Direktori Virtual di ISS. Karena ini biasanya proses yang berjalan lama, berhati-hatilah dengan manajemen memori saat menulis layanan. Tidak membuang sumber daya berulang-ulang selama 6 bulan akan benar-benar bertambah dan server Anda tidak akan senang.


Bagaimana pengaturannya? Apakah Anda tahu ada artikel online untuk memulai atau yang berisi kode sampel?
Rachel

Terima kasih. Bagaimana kinerja pelaksanaan aturan bisnis?
Rachel

Dan sejujurnya, saya menentang gagasan menggunakan WWF untuk ini, namun rekan setim saya mendukung semuanya, jadi saya ingin setidaknya memberikan kesempatan :)
Rachel

1
@ Rachel- kinerjanya wajar (cukup cepat untuk bisa dijalankan di pengaturan UI dengan sedikit multi-threading jika itu berarti apa-apa). Ini tidak terlalu cepat, tetapi tidak ada yang dengan layanan WCF terdistribusi yang akan menyala baik.
Morgan Herlocker

Apakah masih ada beberapa bahan yang tersedia di Internet yang menunjukkan mesin logika Anda dan pendekatan IronPython? (Tautan "panduan pemula" Anda tidak lagi berfungsi).
Robert Harvey

1

Saya harus setuju dengan ironcode. Kami menulis sistem aliran-gaya drag-and-drop beberapa tahun sebelum Biztalk baru keluar (anehnya). Idenya adalah bahwa non-programmer dapat memprogram dan sistem akan mudah dipelihara dan diubah.

Hasilnya: Anda masih membutuhkan 'analis bisnis' yang perlu sangat terlatih seperti programmer, tetapi dalam 'bahasa' baru sistem WWF. Jadi Anda tidak mendapat banyak manfaat sama sekali di sana. Debugger itu sama sekali tidak sebagus sistem pengembangan yang sebenarnya, jadi Anda kehilangan di sana. Anda juga membutuhkan programmer untuk menulis modul rumit yang merupakan inti dari pemrosesan data dan GUI. Skalabilitasnya juga mati dengan sangat cepat. Aturan bisnis yang sederhana mudah untuk disatukan, tetapi begitu Anda melewati selusin, Anda menggunakan spageti.

Saya pikir itu memiliki beberapa manfaat, tetapi pada dasarnya Anda akan lebih baik menggunakan mesin scripting untuk menyatukan modul yang ditulis khusus.

Itu memang terlihat sangat keren untuk tipe pemasaran, dibuat untuk demo hebat :)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.