क्या किसी ने व्यावसायिक नियम / मान्यता इंजन के लिए Windows वर्कफ़्लो का सफलतापूर्वक उपयोग किया है?


11

मैं सोच रहा था कि क्या किसी ने BusinessRules / Validation इंजन के लिए Windows वर्कफ़्लो फ़ाउंडेशन का सफलतापूर्वक उपयोग किया है, या यदि आपको इसके बारे में कुछ सैंपल कोड या लेखों की जानकारी है।

यदि आपने पहले इसका उपयोग किया है, तो आप इसके बारे में क्या सोचते हैं? यह अन्य BusinessRule / मान्यता प्रणालियों की तुलना में कैसे है?

मैं नियमों की तरह सोच रहा हूं

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

या

if (Value between X and Y)
    return true;

जवाबों:


6

मैंने कई महीने पहले WWF WCF का उपयोग कर एक इंजन का निर्माण शुरू किया। मुझे नहीं पता कि आपका नियम आधार कितना जटिल है, लेकिन हमारा बहुत बड़ा था। जब आपके पास 40,000 शाखाओं जैसी किसी चीज की क्षमता है, तो डब्ल्यूडब्ल्यूएफ एक अच्छा फिट नहीं है। एक विकल्प के रूप में, मैंने एक इंजन का निर्माण किया जो SQL में लॉजिक अपवाद तालिकाओं का उपयोग करता था। पंक्तियों में मूल मानों को संग्रहीत किया जाएगा, साथ ही उन सूत्रों के लिए स्वरूपित तार भी होंगे जो अपवादों के बीच भिन्न थे। एक गतिशील भाषा के साथ संयुक्त (मैंने एक आवरण के साथ एक एम्बेडेड आयरनपीथॉन इंजन का उपयोग किया था और आप एक एम्बेडेड JScript इंजन का उपयोग कर सकते थे), तर्क को मक्खी पर एक उच्च सार स्तर पर निर्धारित किया जा सकता है। मुझे खुशी है कि मैं इस मार्ग पर चला गया।ड्रैग एंड ड्रॉप लॉजिक बहुत अच्छा लगता है, लेकिन व्यवसायिक लोग मार्केटिंग के बावजूद कभी भी इसका उपयोग नहीं कर पाएंगे, और यह केवल एक डेवलपर को धीमा कर देगा IMHO, जल्दी से चूहे का घोंसला बन जाएगा

अद्यतन: यदि आप अभी भी रुचि रखते हैं, तो यहां शुरुआती मार्गदर्शिका है । यह निश्चित रूप से विस्तृत नहीं है, लेकिन कुछ सभ्य वीडियो हैं। सेटअप के रूप में, हमारे नेटवर्क इंजीनियरों ने मेरे लिए सेटअप किया (सर्वर मेन्टिनेंस, सुरक्षा, आदि के लिए कंपनी नीति), लेकिन माना जाता है कि यह एक बुनियादी डब्ल्यूसीएफ सेवा स्थापित करने के लिए लगभग समान था। मूल रूप से इसे ISS में एक आभासी निर्देशिका में फेंक दें। क्योंकि यह एक लंबी चलने वाली प्रक्रिया है, आमतौर पर सेवा लिखते समय मेमोरी प्रबंधन के साथ अतिरिक्त सावधानी बरतें। 6 महीनों के लिए बार-बार कुछ संसाधन का निपटान नहीं करना वास्तव में जोड़ देगा और आपका सर्वर खुश नहीं होगा।


यह कैसे सेटअप था? क्या आप किसी भी लेख के बारे में जानते हैं जो ऑनलाइन शुरू होता है या जिसमें नमूना कोड होता है?
राहेल

धन्यवाद। व्यावसायिक नियमों को निष्पादित करने का प्रदर्शन कैसा था?
राहेल

और काफी ईमानदारी से, मैं इसके लिए डब्ल्यूडब्ल्यूएफ का उपयोग करने के विचार के खिलाफ हूं, हालांकि मेरी टीम के साथी इसके लिए सभी हैं इसलिए मैं कम से कम इसे एक मौका देना चाहूंगा :)
राहेल

1
@ राहेल- प्रदर्शन उचित था (यूआई सेटिंग में रनवेबल होने के लिए काफी तेज़ था, अगर कुछ भी मतलब हो तो मल्टी-थ्रेडिंग का एक सा हो सकता है)। यह या तो तेजी से पागलपन नहीं है, लेकिन वितरित WCF सेवा के साथ कुछ भी नहीं धधकने वाला है।
मॉर्गन हेरलॉकर

क्या अभी भी इंटरनेट पर कुछ ऐसी सामग्री उपलब्ध है जो आपके लॉजिक इंजन और आयरनपाइथन अप्रोच को प्रदर्शित करती है? (आपका "शुरुआती गाइड" लिंक अब काम नहीं करता है)।
रॉबर्ट हार्वे

1

मुझे आयरनकोड से सहमत होना होगा। हमने नया बिज़टलक (अजीब तरह से) बाहर आने से कुछ साल पहले एक ड्रैग-एंड-ड्रॉप फ्लोचार्ट-स्टाइल सिस्टम लिखा था। यह विचार था कि गैर-प्रोग्रामर कार्यक्रम कर सकते हैं और सिस्टम आसानी से बनाए रखने योग्य और परिवर्तनशील होगा।

परिणाम: आपको अभी भी 'व्यवसाय विश्लेषकों' की ज़रूरत थी, जिन्हें प्रोग्रामर के रूप में उच्च प्रशिक्षित होने की आवश्यकता थी, लेकिन डब्ल्यूडब्ल्यूएफ प्रणाली की नई 'भाषा' में। तो तुम वहाँ बहुत कुछ हासिल नहीं किया। डिबगर एक सच्चे विकास प्रणाली के रूप में कहीं भी अच्छा नहीं था, इसलिए आप वहां हार गए। आपको ट्रिकी मॉड्यूल लिखने के लिए प्रोग्रामर की भी आवश्यकता थी जो डेटा और जीयूआई प्रसंस्करण के मूल थे। स्केलिबिलिटी भी बहुत जल्दी मर गई। सरल व्यापार नियमों को एक साथ रखना आसान था, लेकिन एक बार जब आप एक दर्जन से अधिक हो गए तो आप स्पेगेटी में थे।

मुझे लगता है कि इसके कुछ लाभ थे, लेकिन मूल रूप से आप कस्टम-लिखित मॉड्यूल को एक साथ जोड़ने के लिए स्क्रिप्टिंग इंजन का उपयोग करना बेहतर होगा।

यह वास्तव में विपणन प्रकार के लिए अच्छा लग रहा था, हालांकि, एक शानदार डेमो के लिए बनाया गया :)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.