سؤال

أنا أكتب عرضًا تقديميًا حول تقنية محرك القواعد ، وتحديداً JBOSS Drools.

ما هي بعض "الأساطير" حول محركات القواعد.

أحدهما يمكنني التفكير فيه هو أنه يسمح لمستخدمي الأعمال بالتحكم في محرك القاعدة ، وأعتقد أنه ممكن ، ولكنه يتطلب التحكم والتعليم - وليس جميع مستخدمي الأعمال يستطيعون القيام بذلك.

هل توافق/لا توافق؟ هل لدى أي شخص أي أفكار؟

يسعدني الإفراج عن "النتائج" النهائية تحت المشاع الإبداعي ...

هل كانت مفيدة؟

المحلول

لا أعرف عن الأساطير ، لكني أوافق على أن وجود رجال أعمال يحتفظون بالقواعد ليس غطسًا.

أعتقد أن توقع أن يكون لدى أشخاص الأعمال الصبر والاهتمام الشرجي بالتفاصيل المطلوبة للقيام به هو خيال. لقد كان في اللعب منذ أن تم تقديم لغات 3G (الأساليب الرسومية للبرمجة) كوسيلة للحصول على أمناء لكتابة رمز حتى يمكن إطلاق المبرمجين جميعهم.

أود أن أشير إلى أنه مع زيادة حجم مجموعة القاعدة ، فإن إمكانية ضمان أن يكون صحيحًا ومتسقًا ذاتيًا. إذا كانت مجموعة القواعد الخاصة بك تحتوي على آلاف القواعد ، فسيكون من الصعب اختباره.

عند الحديث عن ذلك ، فإن الانفجار التوافقي للمجموعات سيجعل من الصعب اختبار محرك القواعد.

محركات القواعد هي تكنولوجيا رائعة ، ولكن كن حذرا.

نصائح أخرى

في الواقع ، بعد أن استخدمت عسيلًا كبيرًا ، لا أتفق معك حول وجهة نظرك حول أن المستخدمين لديهم القدرة على القيام بالأشياء بسهولة ، أعتقد أنه من التافهة نسبيًا تزويد المستخدمين بواجهة بسيطة لإنشاء قواعد قوية بشكل ديناميكي.

واحد بالتأكيد سأضيفه إلى القائمة هو:

الأسطورة: محركات القواعد بطيئة!

ليس كذلك ، مرة أخرى ، لقد دفعت حتى الآلاف من الأحداث في الثانية من خلال عسيل بسهولة تامة.

آخر أكرهته تمامًا:

الأسطورة: إنه وزن ثقيل للغاية ومعقد لاستخدامه.

هراء ، بناء الجملة تافهة ومع بضعة أسطر من جافا ، يمكنك القيام ببعض الأشياء غير التقليدية حقًا! آسف إذا كان هذا يبدو صاخبًا ، فقد كان لديه أشهر من هذه الهراء في صاحب عمل سابق لأنني أحاول تقديم هذه التقنية!

الأساطير...
1/ يمكن لمستخدمي الأعمال:
قواعد المؤلف
نشرها
اختبارهم
تشغيلهم
في الوقت الذي ساعدت فيه ... لقد قدمت تدريبًا لعميل كان يفكر بالفعل في أن هذا كان صحيحًا لأن البائع قال ذلك ... آه آه ، لقد جعلوا يومي/عامي/سنة !!!

هل يمكنك التفكير بجدية في شركة ستخاطر بنشر خدمة في الجزء الخلفي من فريق تكنولوجيا المعلومات ؟؟ مستحيل!
أنت بحاجة إلى الأمان أيضًا لمنعني من كتابة قاعدة تفيد:
إذا كان اسم العميل هو "داميان" ، فإن خصم 100 ٪ - طفل رائع!

لا يمكن أن يتم بنية المشروع من قبل المستخدمين غير الفنيين

2/ يمكنك إدارة مشروع القاعدة بسهولة دون الحاجة إلى القلق بشأن أي شيء.
هناك حد لعدد القواعد التي يمكنك التعامل معها. من الناحية النظرية ، يمكن للمرء أن يكون لدى المرء العديد من القواعد كما يريدون ، لكن هذا غير صحيح تمامًا. يتوقف Jrules عن مزامنة القواعد بين Eclipse و RTs من حوالي 3000 قواعد. سوف يستغرق الأمر إلى الأبد إذا كان لديك مشروع به 100000 قاعدة في Rete. سيستغرق بناء الشجرة وقتًا طويلاً. حتى في الوضع المتسلسل يستغرق وقتًا طويلاً للمضي قدماً.
لا يمكنك استخدام مستودع القواعد مثل المجلد "مستنداتي" واستمر في إضافة قواعد.

3/ يمكن لمستخدمي الأعمال كتابة جميع أنواع القواعد دون أي تدريب.
أشياء مختلفة:
A/ ترتيب الشروط قد يؤثر على الأداء.
ب/ بعض القواعد معقدة وتحتاج إلى فهم جيد للغة
C/ الخوارزمية المستخدمة يمكن أن تؤثر على نتيجة التنفيذ
يمكن لـ D/ A قاعدة مكتوبة بشكل سيئ مضاعفة وقت التنفيذ بواسطة n.
عملت في مشروع حيث كانت قاعدة واحدة فقط مسؤولة عن بعض الموعد العشوائي.
E/ بعض المشكلات المعقدة يمكن أن تكون التعبير في قاعدة واحدة.
يتم حل هذه المشكلة في قاعدة واحدة ولها نتيجة واحدة:
هناك أربعة لاعبين غولف يقفون في الشاي ، في خط من اليسار إلى اليمين.
- لاعب الجولف إلى يمين فريد المباشر هو ارتداء السراويل الزرقاء
- جو هو الثاني في الخط
- بوب يرتدي السراويل منقوشة
- توم ليس في وضع واحد أو أربعة ، وهو لا يرتدي السراويل البرتقالية
راجع للشغل: هذا مثال JBOSS.
كيف يمكن لمستخدم العمل القيام بذلك؟

4/ يمكن لمحرك القاعدة القيام بالتسلسل للخلف
أعتقد أن Jboss يقولون إنهم يستطيعون لكنني لست متأكدًا من هذا. Blaze و Jrules لا يمكن.

5/ واحد لا يحتاج إلى أي لغة برنامج لكتابة القواعد.
صحيح ، لكنك ستحتاج إلى تنفيذ القواعد. إلا إذا كنت تستخدم XSD بسيط كموديل كائن. لكن خدمة قرارك لن تفعل هذا الشيء الذكي.

6/ أنها أبطأ من جافا
بالطبع ولكن باستخدام BRMS ، تقوم بإضفاء الطابع الخارجية على منطق العمل بحيث يكون له تكلفة.
بالضبط مثل عندما تقوم بتجميع البيانات. مكالمة قاعدة البيانات لها تكلفة.
لقد أرسلت 5000 كائن إلى الذاكرة العاملة لـ JRULES مع مشروع يحتوي على 4 قواعد وهمية كانت تتصل ببعضها البعض ... غرض اختبار الأداء
النتيجة: 19 مليون قواعد نفذت في 75 ثانية. هل الرياضيات الخاصة بك ... ليست بطيئة.

7/ يمكنك فعل أي شيء في القاعدة
لا تقم بإجراء استدعاء قاعدة البيانات في قاعدة (خاصة في الشروط). باستخدام Rete ، من الناحية النظرية ، يمكن للقاعدة "اختبار" الشرط لإيجاد نتائج مطابقة في الذاكرة آلاف الوقت.
لا أحد يريد الاتصال بقاعدة بيانات كثيرًا في التطبيق.

أتمنى أن يساعد ذلك

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top