إجراء مكالمة طبقة الخدمة من طبقة العرض التقديمي

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

سؤال

لا بد لي من اختيار تقنية للاتصال بي طبقة التطبيق/العرض (على أساس جافا) مع طبقة الخدمة (على أساس جافا).البحث بشكل أساسي عن خدمة Spring المناسبة من كائن مندوب الأعمال.

هناك الكثير من الخيارات التي تربكني.فيما يلي الخيارات التي قمت بتضييق نطاقها ولكن لست متأكدًا منها.

  • RMI الربيع

  • اباتشي الجمل

  • أباتشي سيرفيس ميكس (ESB)

  • ايونا فيوز (ESB)

وهنا ما أريد أن أعرف

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

أي مساعدة ستكون مفيدة.شكرًا!

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

المحلول

يتلخص الأمر في الغالب في ما إذا كنت تريد استخدام Spring Remoting (أي Spring RMI و اباتشي الجمل هي تطبيقات لـ) - أو هل تريد استخدام JAX-WS لخدمات الويب (التي تنفذها CXF أو Metro).أي.هل تريد التحكم عن بعد تلقائيًا لـ POJOs الخاصة بك - أو هل تريد WS مع عقود WSDL وما إلى ذلك.

بمجرد اتخاذ قرار بشأن تقنية التحكم عن بعد؛قرارك التالي هو هل تريد تجميعه داخل تطبيقك كمكتبة (على سبيل المثال؟Spring RMI أو Camel) - أو هل تريد نشره في حاوية ESB مثل ServiceMix لتتمكن من إعادة النشر السريع للوحدات النمطية وما إلى ذلك.

إذا كان الخيار الأخير هو اختيارك، فاستخدم Apache ServiceMix - أو استخدم FUSE ESB إذا كنت تريد توزيعًا تجاريًا يحتوي على المزيد من الوثائق والإصدارات المتكررة والدعم التجاري وما إلى ذلك.

نصائح أخرى

قد يبدو أن Spring Remoteing هو أبسط نهج.كما أنه سيتركك منفتحًا على أساليب أكثر تعقيدًا في المستقبل إذا كان هذا هو الاتجاه الذي تريد اتباعه.

من وجهة النظر المحدودة لمتطلباتك، أود أن ألتزم بحل بسيط مع منحنى تعليمي أقل، وأترك ​​ESB حتى تحدد أنك في حاجة إليه بالفعل.

مبدأ KISS شيء رائع.

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