سؤال

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

لدي خبرة واسعة مع J2EE (Websphere) وخدمات الويب ولكني سأكون ممتنًا للحصول على المشورة بشأن كيفية إنشاء مثل هذه SOA.

أين العثرات؟ماذا عن الأمن؟ما مدى دقة الخدمات التي يجب أن تكون عليها؟إلخ.

ستكون الروابط إلى البرامج التعليمية وتوصيات الكتب مفيدة أيضًا.

شكرًا!

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

المحلول

المزالق

  • الإصدار/التوافق مع الإصدارات السابقة:يصبح من الصعب حقًا تغيير العقد بمجرد أن يكون لديك عدد كبير من العملاء.لقد رأيت العديد من المواقع تُصدر واجهات برمجة التطبيقات من خلال تقديم الإصدار في عنوان URL

تقسيمات

  • يجب أن تكون كل خدمة مستقلة بذاتها (لا تتوقع من الأشخاص إجراء 3 مكالمات قبل أن يحصلوا على ما يحتاجون إليه)

استقلال المنصة

  • حاول تقديم أكثر من طريقة للوصول إلى واجهات برمجة التطبيقات الخاصة بك (WS، JSON، REST...)

نصائح أخرى

لا يستطيع الناس الاتفاق على ما تعنيه SOA فعليًا.

http://martinfowler.com/bliki/ServiceOrientedAmbiguity.html

(على الرغم من أن الإجماع قد يكون قد نما منذ كتابة ذلك)

أقترح استجواب عميلك لمعرفة ما يعنيه بالضبط - إن وجد.ثم أعطهم شيئا من ذلك يوفر في الواقع قيمة تجارية, ، مع وضع علامة في مربعات SOA التي قد تتزامن مع هذا الجهد.

اتصل بي المتشكك في SOA.لا يزال رثاء فاولر يبدو صحيحًا.

سأركز على المشكلة الأكثر عمومية:لدى عميلك تطبيقان أو أكثر يجب أن يتعاونوا معًا.انظر إلى أنماط التكامل في المدرسة القديمة.

EIP image
(مصدر: amazon.com)

وجدت هذا IBM Redbook (#sg246303) وهي مقدمة جيدة لأساسيات SOA.

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

أود أيضًا أن ألقي نظرة على فهم كيفية إنشاء خدمات RESTful جيدة باستخدام JAX-RS جيرسي كطريقة بسيطة لعرض موارد أنظمتك لأي شخص على الويب من أي لغة/منصة بسهولة دون الوقوع في SOAP/WS-* Deathstar :)

احصل على ESB (حافلة خدمة المؤسسات):يعد Mulesource خيارًا جيدًا (مفتوح المصدر، ناضج، لكنه نازف).بمجرد أن تفهم ذلك، سوف تفهم SOA.

الهدف هو فتح العمليات المختلفة بطريقة مستقلة عن العميل وأيضًا لإتاحة البيانات على سبيل المثال على سبيل المثالللممثلين الذين يزورون العملاء.

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

أفضل كتاب وجدته حتى الآن هو بوصلة SOA متاح أيضا على أمازون

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