مايكل تشن | خبير استراتيجي للمحتوى | 28 مارس 2024
تمثل البنية الموجهة نحو الخدمة (SOA) نهج تصميم برامج يركز على بناء أنظمة برمجية وظيفية وقابلة للتطوير من مكونات فردية تسمى الخدمات. يمكن أن تتفاعل الخدمات مع بعضها بعضًا لأداء المهام، مثل السماح لشخص ما بتسجيل الدخول مرة واحدة والوصول إلى مجموعة متنوعة من تطبيقات الأعمال. في SOA، يتم التركيز على الوحدة النمطية وقابلية إعادة الاستخدام وقابلية التشغيل البيني—عندما تقسِّم الشركات التطبيقات المُعقدة إلى كتل بناء أصغر وأكثر قابلية للإدارة، تكون النتيجة أكثر مرونة وقابلية توسع أكبر.
الخدمات ليست ذات تعليمات برمجية مضمنة في التطبيقات. بدلاً من ذلك، يتم نشر الخدمات في سجل، وعندما يريد أحد التطبيقات استخدام خدمة، فسيطلب من السجل الوصول إلى أحدث إصدار. بهذه الطريقة، يمكن تغيير الخدمات أو تحديثها بسهولة من الأشخاص دون معرفة مُفصَّلة بالتطبيق. يسهل نهج SOA التكيف مع احتياجات الأعمال المُتغيرة ودمج الأنظمة التي توفر الوظائف ذات الصلة.
باستخدام SOA، يتم اقتران الخدمات الفردية بشكل غير محكم ويمكنها توصيل البيانات ونقلها حسب الحاجة. على سبيل المثال، يؤدي اتباع نهج SOA بغرض تطوير برامج السحابة إلى إنشاء مزايا، بما في ذلك ما يلي:
تتضمن أمثلة البنى الموجهة نحو الخدمة ما يلي:
تمثل البنية الموجهة للخدمة (SOA) نموذج تصميم ينشئ التطبيقات أو يستكملها بخدمات ركائز—قائمة بذاتها وقابلة لإعادة الاستخدام—التي توفر وظائف محددة ويمكن استدعاؤها عبر الشبكة. تتمتع خدمة بنطاق محدد ويمكن الوصول إليها بواسطة مكونات أو خدمات أخرى داخل البنية لتحسين الوظائف والأداء العامين للنظام.
تتضمن أمثلة الخدمات في بنية موجهة نحو الخدمة خدمة معالجة المدفوعات أو خدمة إدارة العملاء أو خدمة التوصية بالمنتجات التي يمكن تضمينها في موقع التجارة الإلكترونية. يمكن أن تكون الخدمات الأخرى أبسط بكثير، مثل تلك التي توفر الوقت الحالي في مدينة على الجانب الآخر من العالم. في مثال على ميزة قوية من استخدام SOA، يمكن تبديل معالجات الدفع دون تغيير التطبيقات التي تحتاج إلى استخدام الخدمة.
تعمل SOA على إنشاء بنية تحتية للبرامج نمطية ومرنة، إذ يمكن تطوير الخدمات الفردية واختبارها ونشرها بشكل مستقل. توجد ميزتان رئيستان؛ هما سهولة الصيانة وقابلية التوسع.
تعمل SOA من خلال ربط الخدمات بشكل غير محكم داخل إطار التطبيق. تعمل كل خدمة بصفتها وحدة نمطية قادرة على تقديم المدخلات/المخرجات المطلوبة. لا يحتاج التطبيق إلى معرفة إصدار الخدمة التي يستخدمها. بدلاً من ذلك، يتحقق من السجل ويصل إلى أحدث خدمة تعرض الوظيفة المطلوبة. ضع في اعتبارك سير العمل التالي لموقع ويب بائع التجزئة تم إنشاؤه باستخدام نموذج SOA.
تسرِّع SOA من تطوير هذا النوع من المواقع من خلال السماح بتكامل الخدمات بطريقة جاهزة. في هذا المثال، لا يرفع بائع التجزئة عبء تطوير كل وحدة من هذه الوحدات بشكل فردي فحسب، بل يتم تحريرها أيضًا من الحاجة إلى تتبع تحديثات الخدمة. يمكن لتكنولوجيا المعلومات ببساطة استخدام الخدمات المدققة مع الوظائف المجربة والأمان والتوفر.
يكمن مفتاح تطوير SOA في التفكير بشكل معياري وفهم أين توجد الفرص لتكامل الخدمة. يمكن للتطبيقات التي تم تطويرها في السحابة الاستفادة بسهولة من المجموعات الضخمة للخدمات على غرار SOA التي يتم تنفيذها بصفتها خدمات ويب.
توفر البنية التحتية المعيارية والمرنة لـ SOA مزايا كبيرة للشركات التي تتبنى السحابة. فيما يلي أهم الاتجاهات الأخرى.
ما المثال على البنية الموجهة نحو الخدمة؟
يوجد مثال على البنية الموجهة نحو الخدمة للمستهلك في تطبيق للعدائين. بدلاً من إنشاء أدوات مُخصصة لتتبع المسافات والخرائط، يمكن للتطبيق دمج خدمات جهاز GPS للهاتف وخدمة الخرائط الحالية، مثل خرائط Google. يمكنه أيضًا استخراج الطقس المحلي من خدمة الطقس القومية. إنها مهمة التطبيق لتقديم البيانات من هذه الخدمات بسلاسة لصالح العدَّاء.
كيف تختلف SOA عن الخدمات المصغرة؟
يوجد لدى SOA والخدمات المصغرة هدف مماثل—لتزويد التطبيقات بوظائف من خلال استدعاءات الوظائف المستندة إلى الشبكة. مع ذلك، تعد SOA الاستخدام على مستوى واسع، وعادةً ما يكون أعلى. تأخذ الخدمات الصغيرة في الاعتبار الاستخدام على مستوى التطبيق وتوفر الخدمة لمهمة واحدة مُتخصصة للغاية لتكرارها حسب الحاجة. على سبيل المثال، يعتبر البرنامج الإضافي للتصديق لتسجيل الدخول الآمن جزءًا من SOA؛ مع ذلك، تمثل الخدمة القابلة للتكرار التي تشفِّر كلمة المرور خدمة مصغرة. يمكن استدعاء الخدمات المصغرة ضمن خدمة SOA أو دمجها في المشروع الأكبر. في هذا المثال، تستخدم خدمة التصديق الخدمة المصغرة للتشفير في إنجاز مهمتها. يمثل النطاق الفرق الرئيس بين الاثنين.
ما هي الخصائص الرئيسة للبنية الموجهة نحو الخدمة؟
تشمل الخصائص الرئيسة للبنية الموجهة نحو الخدمة ما يلي:
أين يتم استخدام البنية الموجهة نحو الخدمة؟
يمكن استخدام البنية الموجهة نحو الخدمة لأي تطبيق تقريبًا طالما أن الخدمات المستقلة موجودة لتلبية متطلبات النظام. بسبب المنظومة الواسعة لتطوير الخدمات، يمكن لمعظم منشئي البرامج الوصول إلى الخدمة لسد الحاجة—حتى المشروع الأكثر تخصيصًا يظل قادرًا على استخدام خدمة مستقلة لشيء مثل مصادقة الهوية أو سحب بيانات الخريطة.