في مقالنا الأخير تكامل Oracle BRM مع تطبيقات المؤسساتشرحنا طريقة واحدة لتنفيذ التكامل بين إدارة علاقات العملاء وإدارة علاقات العملاء. كان الحل المقترح هو إنشاء موصل على جانب إدارة علاقات العملاء وجعلها تتصل بتطبيق طرف ثالث. ومع ذلك ، من الممكن أيضًا اتباع نهج مختلف باستخدام Oracle طابور الانتظار المتقدموالذي سيكون موضوع هذه المقالة.
لقد شاركنا مؤخرًا في مشروع أراد فيه العميل تكاملًا "آمنًا" دون الحاجة إلى أن يكون في الوقت الحقيقي؛ وقالوا إن الحل شبه الآني سيكون كافيًا. ما نقصده بالتكامل الآمن هو وجود حل لا يؤثر على أي إجراء يتم تنفيذه، مثل شراء منتج أو إنشاء فاتورة، بسبب فشل رابط اتصال (أو أي خطأ آخر) بين Oracle BRM وبرنامج طرف ثالث. عند تنفيذ موصل dm مخصص لتكامل البيانات، فإن أي عملية لم تكتمل بنجاح ستؤدي إلى إرجاع الإجراء بأكمله. في حين أن هذا يمكن أن يكون سلوكًا مرغوبًا فيه، إلا أنه في هذه الحالة لم يكن كذلك؛ لذلك قررنا استخدام Oracle وضع قائمة انتظار متقدمة. لقد حددنا أن أسوأ سيناريو لدينا هنا هو حدوث مشاكل في قاعدة البيانات، ولكن سيكون هناك أيضًا العديد من المشاكل الأخرى أيضًا؛ فبدايةً، لن يعمل نظام إدارة قواعد البيانات بشكل صحيح.
ومن المزايا الأخرى التي حددناها استمرار البيانات (يتم تخزين الأحداث في قاعدة البيانات حتى يصبح تطبيق المستهلك جاهزًا لمعالجة الرسائل المدرجة في قائمة الانتظار) وتقنية Oracle AQ التي أثبتت جدواها بالفعل.
لقد نجحنا في نشر هذه التغييرات على الإصدار 7.3 و7.3.1 من Oracle BRM مع قاعدة بيانات Oracle 10g (10.2.0.1.0.0 64 بت) و11g (11.2.0.0.1.0 64 بت) مع مكون وضع الطوابير المتقدم (AQ) Oracle.
يمكن رؤية عملية نشر أحداث الأعمال Oracle BRM باستخدام أعمال قائمة الانتظار المتقدمة Oracle في الشكل أدناه:
لتطوير عملية المزامنة هذه، من الضروري اتخاذ بعض الخطوات الأولية. وتشمل هذه الخطوات ما يلي:
1. تثبيت مدير EAI Manager.
o الوحدة النمطية مدير اتصال EAI (CM) (تتضمن رموز العمليات المطلوبة من قبل EAI),
o مدير بيانات EAI,
o الوحدة النمطية الخارجية لمولد الحمولة المدفوعة (EM) - وتسمى أيضًا خادم EAI Java Server أو eai_js.
2. بعد الانتهاء من تثبيت مدير EAI Manager، قم بتكوين القيم في ملفي التكوين CM و EAI DM (pin.conf)، بالإضافة إلى ملف خصائص مولد الحمولة (Infranet.properties).
3. قم بتهيئة قائمة إشعارات الأحداث التي ترغب في نشرها عن طريق تحرير ملفات التكوين الخاصة بإشعارات الأحداث (ملفات $BRM_HOME/sys/data/config/pin_notify*) ودمجها قبل تشغيل الأداة المساعدة Load_pin_notify.
4. حدد أحداث العمل في ملف تكوين Payload Generator EM (payloadconfig.xml).
بعد اكتمال الخطوات الأولية، حان الوقت لإنشاء وتكوين قائمة الانتظار المتقدمة Oracle. فيما يلي الخطوات (قد تختلف الخطوة الثالثة لأنها تعتمد على الإعداد الخاص بك):
1. إنشاء قائمة انتظار:
pin_ifw_sync_sync_oracle.pl create -l $USER/$PASS@$DB -q TEST_QUEUE -t TEST_QUEUE
2. اختبار قائمة الانتظار (خطوة اختيارية):
pin_ifw_sync_sync_oracle.pl test -l $USER/$PASS@$DB -q TEST_QUEUE
3. قم بتسجيل الدخول إلى قاعدة بياناتك كمستخدم SYSTEM وقم بتعيين امتيازات المنح المناسبة لـ 't_user':
تنفيذ dbms_aqadm.grant_queue_queue_privilege('ALL', 'PUSER.TEST_QUEUE', 't_user');
منح تنفيذ على puser.pin_event_ty إلى t_user;
منح تنفيذ على sys.dbms_aqin إلى t_user;
بعد ذلك، نحن بحاجة إلى منتج قائمة انتظار، وهو تطبيق سيقوم بتنفيذ أحداث العمل المحددة سابقًا. إن تطوير وحدة منتِج يشبه إنشاء تطبيق موصِّل مخصص (انظر هنا.) من الضروري تنفيذ وحدة (مكتبة) مخصصة وتعريفها في ملف تكوين dm_eai تحت إدخال "plugin_name".
هناك أيضًا طريقة أبسط للقيام بهذه المهمة. إذا كنت قد قمت بالفعل بتثبيت "مزامنة الحساب DM"، فستجد تطبيقًا لوحدة منتج قائمة الانتظار ضمن مدير بيانات dm_ifw_sync. ومع ذلك، إذا اخترت هذا الخيار، فستكون هناك حاجة إلى بعض الإدخالات الإضافية في ملف التكوين dm_eai.
بعد أن يتوفر لديك منتج قائمة انتظار عاملة. قم باستدعاء بعض أحداث العمل الخاصة بك لمعرفة ما إذا كان سيتم وضعها في قائمة الانتظار. يمكن الاستعلام عن قوائم الانتظار في الجدول المحدد عند إنشاء قائمة الانتظار.
وأخيرًا، ستحتاج إلى مستهلك لقائمة الانتظار، وهو تطبيق يقوم بقراءة الرسائل المدرجة في قائمة الانتظار وإلغاء إخراجها. هناك العديد من الواجهات البرمجية المتاحة للوصول إلى Oracle Streams AQ بلغات البرمجة التالية: Java (JMS) و PL/SQL وC (OCI) وVisual Basic (OO4O) وAQ XML Servlet (IDAP).
من خلال تنفيذ العميل المخصص، سيكون لديك تحكم كامل في مدى سرعة وتوقيت وعدد الرسائل التي ستتم معالجتها. على سبيل المثال، خلال ساعات خارج أوقات الذروة، يمكنك معالجة بيانات أكثر من ساعات الذروة.
نأمل أن نكون قد قدمنا لك بعض المؤشرات الصالحة حول كيفية القيام بعملية التكامل/المزامنة بين Oracle BRM وأنظمة و/أو تطبيقات الطرف الثالث.