سؤال

أنا أقرأ للتو عن SOA ويتم ذكر سجل الخدمة/UDDI بانتظام.يبدو لطيفا ولكن كيف يتم استخدامه في الواقع؟

  • هل المقصود من السجل فصل الخدمة المنطقية عن تنفيذها الفعلي (المنفذ، عنوان URL، وما إلى ذلك)؟
  • هل المقصود من السجل أن يتصفحه إنسان يبحث عن خدمة مثيرة للاهتمام ليلعب بها؟
  • هل سيكون "من الخطأ" شد تطبيق للخدمات التي يستخدمها؟
هل كانت مفيدة؟

المحلول

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

نصائح أخرى

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

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

1) صحيح.

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

3) هذا يعتمد على ما تريد تحقيقه.إذا كنت ترغب في إنشاء SOA، فأعتقد أنه سيكون "خطأ" لأن هذا يتناقض مع نموذج الاقتران الفضفاض الخاص بـ SOA.إذا كانت هذه هي خدمتك الوحيدة، والتطبيق الوحيد الذي يستخدمها ومن المحتمل أن الخدمة لن تغير معرف URI الخاص بها، فمن المؤكد أنه لا توجد مشكلة في توصيلها بالأسلاك - ولكن ربما لا توجد حاجة لفصل هذه الخدمة :)

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

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