Herkes İş Kuralları / Doğrulama motoru için Windows İş Akışı'nı başarıyla kullandı mı?


11

Herkesin bir BusinessRules / Validation motoru için Windows Workflow Foundation'ı kullanıp kullanmadığını veya bununla ilgili bazı örnek kodları veya makaleleri biliyorsanız merak ediyordum.

Daha önce kullandıysanız, ne düşünüyorsunuz? Diğer BusinessRule / Validasyon sistemleri ile nasıl karşılaştırılır?

Gibi kuralları düşünüyorum

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

Veya

if (Value between X and Y)
    return true;

Yanıtlar:


6

Birkaç ay önce WWF WCF kullanarak bir motor inşa etmeye başladım. Kural tabanınızın ne kadar karmaşık olduğunu bilmiyorum, ama bizimki oldukça büyüktü. 40.000 şube gibi bir potansiyele sahip olduğunuzda, WWF iyi bir uyum değildir. Alternatif olarak, SQL'de mantık istisna tablolarını kullanan bir motor oluşturdum. Satırlar, istisnalar arasında değişen formüllerin temel değerlerinin yanı sıra biçimlendirilmiş dizeleri de depolar. Dinamik bir dil ile birleştiğinde (bir sarmalayıcı ile gömülü bir ironpython motoru kullandım ve gömülü bir JScript motoru kullanabilirsiniz), mantık anında oldukça soyut bir seviyede belirlenebilir. Bu rotaya gittiğim için çok mutluyum.Sürükle ve bırak mantığı harika görünüyor, ancak iş adamları pazarlamaya rağmen onu asla kullanamayacak ve sadece bir geliştiriciyi IMHO'yu yavaşlatacak ve hızla bir sıçan yuvası haline getirecek .

Güncelleme: Hala ilgileniyorsanız, işte başlangıç ​​kılavuzu . Kesinlikle geniş değil, ama bazı iyi videoları var. Kurulum konusunda, ağ mühendislerimiz benim için kurulum yaptı (sunucu bakım, güvenlik vb. İçin şirket politikası), ancak temel bir WCF hizmeti kurmak neredeyse aynı idi. Temel olarak ISS'de bir Sanal Dizin içine atın. Genellikle uzun süren bir işlem olduğundan, hizmeti yazarken bellek yönetimine çok dikkat edin. Bazı kaynakları 6 ay boyunca tekrar tekrar atmamak, gerçekten toplanacak ve sunucunuz mutlu olmayacaktır.


Kurulum nasıl yapıldı? Çevrimiçi olarak başlamak için veya örnek kod içeren herhangi bir makale biliyor musunuz?
Rachel

Teşekkürler. İş kurallarını uygulama performansı nasıldı?
Rachel

Ve oldukça dürüst olmak gerekirse, bunun için WWF kullanma fikrine karşıyım, ancak takım arkadaşım hepsi için bu yüzden en azından bir şans vermek istiyorum :)
Rachel

1
@ Rachel - performansı makul (bir şey ifade ediyorsa, biraz çoklu iş parçacığı içeren bir UI ayarında çalıştırılabilecek kadar hızlı). Ya delicesine hızlı değil, ama dağıtılmış bir WCF hizmeti ile hiçbir şey ya da yanan olacak.
Morgan Herlocker

İnternette hala mantık motorunuzu ve IronPython yaklaşımınızı gösteren bazı materyaller var mı? ("Başlangıç ​​kılavuzu" bağlantınız artık çalışmıyor).
Robert Harvey

1

Demirkodu kabul etmeliyim. Yeni Biztalk'ın ortaya çıkmasından birkaç yıl önce sürükle-bırak akış çizelgesi tarzı bir sistem yazdık (garip bir şekilde). Fikir, programcı olmayanların programlayabileceği ve sistemin kolayca bakımı ve değişebileceği yönündeydi.

Sonuç: Hala bir programcı kadar eğitimli olması gereken, ancak WWF sisteminin yeni 'dilinde' 'iş analistlerine' ihtiyacınız vardı. Yani orada hiçbir şey kazanmadın. Hata ayıklayıcı, gerçek bir geliştirme sistemi kadar iyi bir yere yakın değildi, bu yüzden orada kaybettiniz. Ayrıca, verilerin ve GUI işlemenin çekirdeği olan zor modülleri yazmak için programcılara ihtiyacınız vardı. Ölçeklenebilirlik de çok hızlı bir şekilde öldü. Basit iş kurallarını bir araya getirmek kolaydı, ancak bir düzine geçtikten sonra spagetti'deydiniz.

Bazı faydaları olduğunu düşünüyorum, ancak temel olarak özel yazılı modülleri birbirine bağlamak için bir komut dosyası motoru kullanmaktan daha iyi olur.

Harika bir demo için yapılmış olsa da, pazarlama türleri için gerçekten harika görünüyordu :)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.