سؤال

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

أي أفكار مثيرة للاهتمام؟

كانت فكرتي لهذا المشروع هي القيام ببعض التحقق من صحة ملفات تدفق webMethods (فقط بعض الأمثلة على عمليات التحقق من الصحة).سأقوم بالتحقق من الصحة فقط - فلدينا محلل داخلي لتنسيق الملف هذا.

ولكن الشيء الذي يقوم ببعض العمل في الواقع سيكون لطيفًا.

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

المحلول

في الواقع، لدينا مشروع قائم على سيلان اللعاب، يمكنك محاولة تقليد ذلك.:-)

لنفترض أن لديك رسائل SMS واردة تصل عبر بروتوكول يستند إلى HTTP.يحتوي طلب HTTP على Anumber (رقم هاتف المرسل) وBnumber (رقم هاتف المستلم) ونص الرسالة.

هدفك هو استخدام سيلان اللعاب لتوجيه الرسائل، بناءً على محتواها، إلى الخدمات المناسبة.يجب أن يكون لديك مجموعة من القواعد، كل قاعدة تنص على شيء مثل:إذا كان الرقم هو 1792 وكان نص الرسالة يحتوي على الكلمة الأساسية "فيديو" فيجب توجيه الرسالة إلى خدمة توفير الفيديو.

في الواقع، نحن نستخدم هذا الإعداد الدقيق، وهو جهاز توجيه يعتمد على drools والذي يلتقط الرسائل من سلاسل عمليات HTTP servlet ويضعها في قوائم انتظار JMS بناءً على محتوياتها.

هل سيكون من المثير بالنسبة لك العمل على هذا البرنامج؟:-)

نصائح أخرى

سأعطيكم مثالين حقيقيين تستخدمهما شركتي الآن.تعد الشركة واحدة من أكبر شركات التجارة الإلكترونية في البرازيل.

  1. يتم استخدام Drools لتطبيق العروض الترويجية للأسعار والخصم على المنتجات بينما يتنقل المستخدمون فقط داخل كتالوج المنتج.لذلك، قبل تقديم الرد لمتصفح المستخدم، يتعين علينا تطبيق العروض الترويجية المتعلقة بالسعر والتقسيط والشحن.

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

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

إذا كنت تحاول تعلم Drools، فهناك أيضًا كتاب جيد جدًا تم نشره مؤخرًا.يمكن العثور عليها في http://www.packtpub.com/drools-jboss-rules-5-0-developers-guide/book.لقد كنت أستخدم Drools لفترة من الوقت عندما تم إصداره، لكنني قمت بتصفحه سريعًا لتعلم بعض المفاهيم الجديدة.لقد قرأ بعض زملائي أيضًا الكتاب واتفقوا على أنه ساعدهم في فهم الأداة/التطبيق.

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

مثال من مشروع سابق:

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

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

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

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