2012-12-11 49 views
9

हमारी परियोजना में हमें कुछ कार्यों के लिए कुछ वस्तुओं के मैपिंग के संबंध में व्यावसायिक तर्क लागू करना होगा। एक निश्चित कार्रवाई को हल करने से पहले हमारे पास विशिष्ट प्रकार की वस्तुओं को सत्यापित करने के लिए शर्तों की एक श्रृंखला होगी। दूसरे शब्दों में 7 प्रकार की वस्तुओं के लिए हमारे पास कार्यवाही की श्रृंखला हो सकती है (लगभग 45 क्रियाओं में से)।क्या व्यवसाय नियम/तर्क को मैप करने का सबसे प्रभावी तरीका ड्रूल्स है?

हम उपरोक्त नियमों को लिखने के लिए ड्रोल का उपयोग करने के बारे में सोच रहे थे। क्या किसी के पास डीरोल्स का उपयोग करने के साथ कुछ सकारात्मक/नकारात्मक अनुभव है, जहां तक ​​इसकी दक्षता का संबंध है? जेबीपीएम फ्रेमवर्क भी इस्तेमाल किया जा सकता है (अगर मुझे गलत नहीं किया जाता है तो ड्रॉल्स का उपयोग किया जाता है) - कोई भी उस ढांचे से परिचित है? शायद आपके पास समस्या को हल करने के बारे में कुछ अन्य विचार हैं?

उत्तर

7

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

स्पष्ट रूप से सभी तथ्य मॉडल और नियम अलग-अलग हैं, लेकिन एक उदाहरण के रूप में, वर्तमान में जिस एप्लिकेशन में मैं निर्माण कर रहा हूं, उसके पास किसी भी समय काम करने वाली स्मृति में सैकड़ों तथ्य हैं, और 1000 से अधिक नियम हैं। यह आने वाले अनुरोधों के बारे में 20 मिलीसेकंड में निर्णय लेने में सक्षम है।

पूर्ण जेबीपीएम फ्रेमवर्क आपके वर्णन के लिए जरूरी नहीं है। हालांकि, यह अच्छा है कि यह क्या करता है। मिसाल के तौर पर यदि आप वर्कफ़्लो डिज़ाइन करना चाहते हैं तो GUI एक प्रक्रिया मॉडलिंग कर रहा है, और तकनीकी टीम गैर-तकनीकी नियम लेखकों के लिए उपयोग योग्य हो सकती है यदि तकनीकी टीम डीएसएल लिखने और निर्णय तालिका बनाने पर कुछ आगे के प्रयासों में डालती है।

पूर्णता के लिए, मुख्य प्रतियोगियों शायद फिक्को ब्लेज़ सलाहकार या आईबीएम ILog JRules हैं। आम तौर पर जब यह बेंचमार्क की बात आती है तो वे ड्रोल से थोड़ा आगे होते हैं, लेकिन वे महंगे होते हैं। माना जाता है कि, यदि आप जेबॉस/रेडहाट सेवा अनुबंधों के लिए भुगतान करने का निर्णय लेते हैं तो यह बहुत अलग नहीं है, लेकिन यदि आप ड्रोल पर सामुदायिक समर्थन लेने में प्रसन्न हैं, तो यह मुफ़्त है!

+0

आपकी प्रतिक्रिया के लिए धन्यवाद! हमने अपनी परियोजना में ड्रोल का उपयोग करने का फैसला किया और हम इसके साथ वास्तव में खुश हैं। एक बहुत अच्छी बात यह है कि हम अपने नियम डीआरएल फाइलों में रखते हैं और हमें हर बार आवेदन को फिर से तैनात करने की आवश्यकता नहीं है। –

4

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

इसके अलावा, ड्रॉल्स सरकारों, बैंकों और बड़ी कंपनियों द्वारा उपयोग किया जाने वाला एक महान बीआरई है।

+1

100% सत्य। लेकिन, वह स्पष्टीकरण के अनुसार वह दे रहा है, शायद एक निर्णय तालिका एक अच्छा उम्मीदवार हो सकता है। यदि ऐसा है, नियमों को कम से कम दर्द के साथ आईटी लोगों द्वारा प्रबंधित किया जा सकता है। –

+3

@EstebanAliverti सैद्धांतिक रूप से आप बिल्कुल सही हैं। निर्णय तालिका का पूरा आधार व्यापार से आईटी को अमूर्त करना था। हकीकत में यह कभी काम नहीं करता है। मैं बीआरई के साथ 15 साल से निपट रहा हूं, सभी बड़े लोगों के माध्यम से चला गया। मैंने कभी ऐसा प्रोजेक्ट नहीं देखा है जहां व्यावसायिक लोग बिना किसी मदद के टेबल बनाते/संपादित करेंगे। आईटी से प्रतिरोध। प्रारूप/क्रिया/शर्तें हर समय बदल जाती हैं, नए व्यवसाय लोग आते हैं, इत्यादि। – Kizz

+1

आपके प्रतिक्रियाओं के लिए धन्यवाद! हमने अपनी परियोजना में ड्रोल का उपयोग करने का फैसला किया और हम इसके साथ वास्तव में खुश हैं। बेशक जीयूआई के साथ एक समस्या है लेकिन आप स्प्रैडशीट्स में निर्णय तालिका का उपयोग कर इसे ओवरराइड कर सकते हैं। मुझे अपने ब्लॉग [लिंक] पर एक पोस्ट मिला है (http://toomuchcoding.blogspot.com/2013/02/drools-decision-tables-with-camel-and.html) –

1

ड्रोल्स बहुत ही कुशल और तेज़ है। लेकिन किसी भी तकनीक के साथ & ढांचे के साथ इसे आपके प्रोजेक्ट में एकीकृत करने के लिए एक निवेश की आवश्यकता होगी और यह एक जादू बुलेट नहीं है। आपको विचार करने की आवश्यकता है:

  • आपके पास कितने नियम होंगे? यदि 20 से कम नियम हैं तो मैं किसी भी नियम इंजन की सिफारिश नहीं करूंगा। यह केवल 7 ऑब्जेक्ट्स और 45 क्रियाओं के लिए एक नियम इंजन जोड़ने की कॉम्पेक्टीटी के लिए खर्च किए जाने वाले प्रयास को उचित नहीं ठहरा सकता है ...
  • क्या आपको डीएसएल (डोमेन विशिष्ट भाषा) क्षमताओं की आवश्यकता होगी? अर्थात। गैर-तकनीकी लोग नियम लिखेंगे? आईएमएचओ उदाहरण के मुकाबले ड्रोल में यह बहुत उपयोगी नहीं है। ओरेकल ओपीए। लेकिन फिर मैंने एक गैर-तकनीकी व्यक्ति को अभी तक एक नियम प्रणाली के साथ सुरक्षित रूप से झुकाव नहीं देखा है। निर्णय तालिका में मूल्यों को बदलने के अलावा।
  • आपके नियम कितनी बार बदलेंगे? यदि आपको प्रबंधित करने के लिए केंद्रीकृत सिस्टम की आवश्यकता है, संस्करण, पैकेज, अपने नियमों का परीक्षण करें तो Drools Guvnor एक बहुत ही सक्षम उत्पाद है।
1

जेबीपीएम नियम इंजन नहीं है, यह वर्कफ़्लो इंजन है। ड्रोल एक नियम इंजन है। तो Drools वह है जो आप खोज रहे हैं।

ड्रोल और जेबीपीएम साथी परियोजनाएं हैं: यदि आपको नियमों के साथ वर्कफ़्लो की आवश्यकता होती है तो वे वास्तव में अच्छी तरह से एकीकृत होते हैं।

ड्रॉल्स अच्छी तरह से अच्छा है जेबीपीएम अन्य बीपीएमएन इंजन की तुलना में थोड़ा जटिल है। मैं एक्टिविटी के लिए जाने का सुझाव दूंगा क्योंकि यह थोड़ा आसान है और वसंत, एलडीएपी इत्यादि का कुछ भी एकीकरण है; एक्टिविटी के साथ आसान है। इसके अलावा आप एक्टिविटी के साथ ड्रोल को एकीकृत कर सकते हैं .. इसलिए एक्टिविटी के लिए वर्कफ़्लो इंजन और ड्रॉल्स को नियम इंजन के लिए जाएं।