تحديد مجموعة وجهات الرسائل في وقت التشغيل في تطبيق BizTalk

StackOverflow https://stackoverflow.com/questions/3821517

  •  26-09-2019
  •  | 
  •  

سؤال

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

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

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

تعديل

لقد أدركت أن سؤالي قد يكون من الغموض والجنرال أن يفضلوا إجابة واحدة على آخر لقبولها. لذلك أنا فقط رفعت لهم.

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

المحلول

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

للحصول على حل أبسط ، قد ترغب في إلقاء نظرة على إعداد خصائص إرسال الملفات عبر مخطط Propery (أي اسم الملف ، الدليل ، إلخ). يمكنك سحب هذه القيم من قاعدة بيانات مع فئة مساعد داخل شكل Expresison. في كل رسالة OGIG ، استخدم خاصية shcema لتعيين حيث سيتم إرسال الرسالة وتسمية. بهذه الطريقة ، يمكنك فقط تحديث قاعدة البيانات مع تغير الأشياء.

حظا طيبا وفقك الله!

نصائح أخرى

يمكنك النظر في استخدام منافذ إرسال ديناميكية لتحقيق ذلك - إذا كان المشتركون ديناميكيين حقًا. يقدم هذا القليل من التعقيد لأنك ستحتاج إلى استخدام تزامن لتكوين خصائص Send Port بناءً على قواعدك.

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

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