محرك قواعد العمل

محرك قواعد الأعمال هو نظام برمجي يُنفذ قاعدة أعمال واحدة أو أكثر في بيئة تشغيل إنتاجية . قد تستمد هذه القواعد من لوائح قانونية ("يمكن فصل الموظف لأي سبب أو بدون سبب، ولكن ليس لسبب غير قانوني")، أو من سياسة الشركة ("يحصل جميع العملاء الذين ينفقون أكثر من 100 دولار في عملية شراء واحدة على خصم 10%)، أو من مصادر أخرى. يُمكّن نظام قواعد الأعمال من تعريف سياسات الشركة هذه وغيرها من القرارات التشغيلية، واختبارها، وتنفيذها، وصيانتها بشكل منفصل عن كود التطبيق .

تدعم محركات القواعد عادةً القواعد والحقائق والأولوية (الدرجة) والاستبعاد المتبادل والشروط المسبقة ووظائف أخرى.

يتم توفير برنامج محرك القواعد عادةً كمكون من مكونات نظام إدارة قواعد الأعمال، والذي يوفر، من بين وظائف أخرى، القدرة على: تسجيل جميع القواعد وتحديدها وتصنيفها وإدارتها، والتحقق من اتساق تعريفات القواعد ("العملاء من المستوى الذهبي مؤهلون للشحن المجاني عندما تكون كمية الطلب > 10" و"الحد الأقصى لكمية الطلب للعملاء من المستوى الفضي = 15")، وتحديد العلاقات بين القواعد المختلفة، وربط بعض هذه القواعد بتطبيقات تكنولوجيا المعلومات المتأثرة أو التي تحتاج إلى تطبيق قاعدة واحدة أو أكثر.

حالة استخدام تكنولوجيا المعلومات

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

تاريخ

يتتبع مقال في مجلة Computerworld محركات القواعد إلى أوائل التسعينيات وإلى منتجات من أمثال Pegasystems و Fair Isaac Corp و ILOG [ 1 ] و eMerge [ 2 ] من Sapiens .

استراتيجيات التصميم

تجمع جهود العديد من المؤسسات في مجال القواعد بين جوانب ما يُعتبر عمومًا تصميم سير العمل وتصميم القواعد التقليدي. وقد يؤدي عدم الفصل بين هذين النهجين إلى مشاكل في القدرة على إعادة استخدام كل من قواعد العمل وسير العمل والتحكم بهما. أما مناهج التصميم التي تتجنب هذه المعضلة، فتفصل بين دور قواعد العمل وسير العمل على النحو التالي: [ 3 ]

  • تُنتج قواعد العمل المعرفة؛
  • تؤدي سير العمل مهام الأعمال.

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

يُعدّ هذا الفصل مهمًا لأنّ نفس القرار التجاري (مثل استيفاء الرهن العقاري لمعايير الاكتتاب) أو الحدث التجاري (مثل زيادة الحمل على جهاز التوجيه) قد يتفاعل معه العديد من مسارات العمل المختلفة. إنّ تضمين العمل المنجز استجابةً لإنشاء المعرفة القائمة على القواعد في القاعدة نفسها يُقلّل بشكل كبير من إمكانية إعادة استخدام قواعد العمل في جميع أنحاء المؤسسة، لأنّه يجعلها خاصة بمسار عمل مُحدّد.

لإنشاء بنية تستخدم محرك قواعد الأعمال، من الضروري تحقيق التكامل بين منصة إدارة عمليات الأعمال ( BPM ) ومنصة إدارة قواعد الأعمال ( BRM )، وذلك استنادًا إلى عمليات تستجيب للأحداث أو تفحص الأحكام التجارية المحددة بقواعد الأعمال. تتوفر في السوق بعض المنتجات التي توفر هذا التكامل بشكل مدمج. وفي حالات أخرى، يتطلب الأمر تطوير هذا النوع من التجريد والتكامل ضمن مشروع أو مؤسسة محددة.

توفر معظم محركات القواعد المستندة إلى Java واجهة تقنية على مستوى الاستدعاء، تستند إلى معيار واجهة برمجة التطبيقات JSR-94 ، وذلك للسماح بالتكامل مع التطبيقات المختلفة، كما تسمح العديد من محركات القواعد بعمليات التكامل الموجهة نحو الخدمة من خلال معايير الويب مثل WSDL و SOAP .

تُتيح معظم محركات القواعد إمكانية تطوير نموذج تجريد بيانات يُمثل كيانات الأعمال وعلاقاتها التي تُكتب القواعد بناءً عليها. ويمكن عادةً ملء نموذج كيانات الأعمال هذا من مصادر متنوعة، بما في ذلك XML و POJOs والملفات النصية ، وغيرها. ولا توجد لغة قياسية لكتابة القواعد نفسها. تستخدم العديد من المحركات بنيةً شبيهةً بلغة Java ، بينما يسمح بعضها بتعريف لغات مخصصة ملائمة للأعمال.

تعمل معظم محركات القواعد كمكتبة قابلة للاستدعاء. ومع ذلك، يزداد شيوع تشغيلها كعملية عامة على غرار طريقة عمل أنظمة إدارة قواعد البيانات العلائقية . تتعامل معظم المحركات مع القواعد كإعدادات يتم تحميلها في مثيل العملية، على الرغم من أن بعضها عبارة عن مولدات أكواد لمثيل تنفيذ القاعدة بالكامل، بينما يتيح البعض الآخر للمستخدم حرية الاختيار.

أنواع محركات القواعد

توجد أنواع عديدة من محركات القواعد. وتختلف هذه الأنواع (عموماً) في كيفية جدولة القواعد للتنفيذ.

تعتمد معظم محركات القواعد التي تستخدمها الشركات على التسلسل الأمامي ، والذي يمكن تقسيمه إلى فئتين:

  • تُعالج الفئة الأولى ما يُسمى بقواعد الإنتاج/ الاستدلال . تُستخدم هذه الأنواع من القواعد لتمثيل سلوكيات من نوع "إذا تحقق شرط ما، فافعل إجراءً ما". على سبيل المثال، يمكن لقاعدة كهذه أن تُجيب على السؤال: "هل ينبغي منح هذا العميل قرضًا عقاريًا؟" من خلال تنفيذ قواعد من الشكل "إذا تحقق شرط ما، فامنح العميل قرضًا عقاريًا".
  • أما النوع الآخر من محركات القواعد فيعالج ما يُسمى بقواعد رد الفعل/ قواعد الإجراءات المتعلقة بشروط الأحداث . تكتشف محركات القواعد التفاعلية الأحداث الواردة وتتفاعل معها، كما تعالج أنماط الأحداث. على سبيل المثال، يمكن استخدام محرك قواعد تفاعلي لتنبيه المدير عند نفاد بعض الأصناف من المخزون.

يتمثل الاختلاف الأكبر بين هذين النوعين في أن محركات قواعد الإنتاج تُنفذ عند استدعائها من قِبل المستخدم أو التطبيق، وعادةً ما يكون ذلك بطريقة غير مُحتفظة بالحالة. أما محرك قواعد التفاعل، فيتفاعل تلقائيًا عند وقوع الأحداث، وعادةً ما يكون ذلك بطريقة مُحتفظة بالحالة. تمتلك العديد من محركات القواعد التجارية الشائعة (بل معظمها) إمكانيات قواعد الإنتاج وقواعد التفاعل، مع أنها قد تُركز على نوعٍ منها أكثر من الآخر. على سبيل المثال، تُعتبر معظم محركات قواعد الأعمال محركات قواعد إنتاج في المقام الأول، بينما تُركز محركات قواعد معالجة الأحداث المعقدة على قواعد التفاعل.

بالإضافة إلى ذلك، تدعم بعض محركات القواعد الاستدلال العكسي . في هذه الحالة، يسعى محرك القواعد إلى ربط الحقائق بهدف محدد. ويُشار إليه غالبًا بأنه محرك موجه نحو الهدف لأنه يحاول تحديد ما إذا كان شيء ما موجودًا بناءً على المعلومات المتوفرة.

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

يُمكن تسمية فئة رابعة من محركات القواعد بالمحرك الحتمي. قد تتخلى هذه المحركات عن كلٍ من الاستدلال الأمامي والاستدلال العكسي، وتستخدم بدلاً من ذلك مناهج لغوية خاصة بالمجال لوصف السياسات بشكل أفضل. غالبًا ما يكون هذا النهج أسهل في التنفيذ والصيانة، ويُوفر مزايا في الأداء مقارنةً بأنظمة الاستدلال الأمامي أو العكسي.

توجد بعض الحالات التي قد يكون فيها الاستدلال القائم على المنطق الضبابي أكثر ملاءمة، حيث تُستخدم الاستدلالات التقريبية في معالجة القواعد بدلاً من القواعد المنطقية. ومن الأمثلة على ذلك تصنيف العملاء، واستدلال البيانات المفقودة، وحسابات قيمة العميل، وما إلى ذلك. وتُعد لغة DARL [ 4 ] ومحرك الاستدلال والمحررات المرتبطة بها مثالاً على هذا النهج.

محركات قواعد التحكم في الوصول / التفويض

يُعدّ التحكم الموحد في الوصول إلى التطبيقات أحد الاستخدامات الشائعة لمحركات القواعد. تُعرّف منظمة OASIS بنية ومعيارًا لمحركات القواعد مُخصصًا للتحكم في الوصول يُسمى XACML (لغة ترميز التحكم في الوصول القابلة للتوسيع). يتمثل أحد الفروق الرئيسية بين محرك قواعد XACML ومحرك قواعد الأعمال في أن محرك قواعد XACML عديم الحالة ولا يُمكنه تغيير حالة أي بيانات. يتوقع محرك قواعد XACML، الذي يُسمى نقطة قرار السياسة (PDP)، سؤالًا ثنائيًا بنعم/لا، مثل "هل يُمكن لأليس عرض المستند D؟"، ويُعيد قرارًا، مثل السماح/الرفض.

انظر أيضاً

مراجع

  1. "هل تعرف أين توجد جميع قواعد العمل الخاصة بشركتك؟" . مجلة Computerworld . 39 (21). IDG Enterprise (نُشر في 23 مايو 2005): 25. ISSN 0010-4841 . تاريخ الاسترجاع: 2 فبراير 2014. ظهرت محركات القواعد منذ أوائل التسعينيات عندما قامت شركات مثل Pegasystems Inc. في كامبريدج، ماساتشوستس، وFair Isaac Corp. في مينيابوليس، وILOG في ماونتن فيو، كاليفورنيا، ببيعها. وكانت تُستخدم عادةً في القطاعات التي تعتمد بشكل كبير على القواعد، مثل التمويل والتأمين. ومع ذلك، خلال السنوات القليلة الماضية، دخل العديد من الموردين إلى السوق، وأصبحت المزيد من الشركات تتطلع إلى محركات القواعد كوسيلة لاكتساب مرونة أكبر في عملياتها التجارية. 
  2. "منصة تطوير البرمجيات القائمة على القواعد eMerge" .
  3. هل محرك القواعد الخاص بك يعتمد على الأحداث؟ تم استرجاعه من http://www.sapiens-tech.com/iDuneDownload.dll?GetFile?AppId=225&FileID=216581&Anchor=&ext=.pdf مؤرشف بتاريخ 30-09-2018 في Wayback Machine .
  4. "لغة DARL" . مؤرشف من الأصل بتاريخ 2018-09-01 . تم الاطلاع عليه بتاريخ 2018-09-01 .

فهرس

  • تايلور، جيمس؛ رادن، نيل (2007). الأنظمة الذكية (بما يكفي). برنتيس هول. ISBN 0-13-234796-2.
  • ديفيد لينثيكوم (14 فبراير 2007). "محركات القواعد وهندسة الخدمات الموجهة". إنفوورلد، 14 فبراير 2007. تم الاطلاع عليه بتاريخ 23 سبتمبر 2009 من الرابط التالي : http://www.infoworld.com/d/architecture/rules-engines-and-soa-158
  • إرشادات لتحديد ما إذا كان ينبغي استخدام محرك قواعد؟