ما المقصود بـ SOA (البنية الموجهة نحو الخدمة)؟

مايكل تشن | خبير استراتيجي للمحتوى | 28 مارس 2024

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

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

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

  • دورات تطوير أسرع. من خلال دمج الخدمات الحالية وإعادة استخدامها، يتم تحرير المطورين من الحاجة إلى بناء العديد من الوظائف من البداية.
  • صيانة أسهل. تتيح SOA صيانة الخدمات الفردية بشكل مستقل دون إنشاء تأثير متتالي على مشروع أكبر. يمكن عزل تصحيح الأخطاء واستكشاف الأخطاء وإصلاحها لزيادة وقت التشغيل.
  • القدرة على التكيف. يحافظ كل من SOA على التوافق مع الإصدارات السابقة ويسهل التخطيط المستقبلي. يمكن للمطورين إدخال الخدمات القديمة إلى بيئة أحدث أو حتى استبدال الخدمات القديمة بإصدارات أحدث تستفيد من الأجهزة المُحدَّثة والبنية التحتية للسحابة.
  • قابلية التوسع. يمكن مراقبة الخدمات بواسطة طبقة إدارة SOA، وإذا انخفض الأداء بشكل منخفض للغاية بسبب زيادة الطلب، فيمكن بدء مثيلات جديدة للخدمة لتحسين الأداء. لن تعرف التطبيقات التي تستخدم الخدمة عن المثيلات الجديدة، بل ترى أن مستويات التشغيل تظل مقبولة فحسب.

تتضمن أمثلة البنى الموجهة نحو الخدمة ما يلي:

  • المواقع والتطبيقات ذات عمليات تسجيل الدخول عامة: تسعى العديد من الشركات إلى إنشاء بيئات تطبيقات يحتاج الموظفون فيها إلى كلمة مرور واحدة فقط للوصول إلى التطبيقات التي يحتاجون إليها. تتيح بنية SOA إمكانية معالجة إدارة المصادقة بواسطة مجموعة من الخدمات التي يتم استخدامها بعد ذلك من تطبيقات الشركة.
  • التطبيقات التي تقدم الذكاء الاصطناعي أو التحليل داخل التطبيق: تتمثل إحدى المزايا الرئيسة لتشغيل الأنظمة في السحابة في أنه من السهل استخدام الخدمات السحابية لتحسين وظائف التطبيق. يمكن أن تكون الخدمات السحابية بسيطة، مثل إنشاء رسم بياني من مجموعة من البيانات. كما يمكن أن تكون مُعقدة؛ فكِّر في السماح للمطورين بإضافة وظائف الذكاء الاصطناعي إلى تطبيق من خلال مجموعة من طلبات الخدمة.
  • بائعي التجزئة عبر الإنترنت: تتيح SOA سهولة تطوير مواقع التجارة الإلكترونية وإدارتها من خلال استخدام الخدمات التي تحضر بيانات المخزون وتتبع عمليات الشراء وتجري مدفوعات آمنة وتحضر البيانات التي تم إنشاؤها بواسطة الذكاء الاصطناعي مثل توصيات "تستند إلى تفضيلات العملاء أيضًا".

ما المقصود بـ SOA (البنية الموجهة نحو الخدمة)؟

تمثل البنية الموجهة للخدمة (SOA) نموذج تصميم ينشئ التطبيقات أو يستكملها بخدمات ركائز—قائمة بذاتها وقابلة لإعادة الاستخدام—التي توفر وظائف محددة ويمكن استدعاؤها عبر الشبكة. تتمتع خدمة بنطاق محدد ويمكن الوصول إليها بواسطة مكونات أو خدمات أخرى داخل البنية لتحسين الوظائف والأداء العامين للنظام.

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

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

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

  1. يُدخل المتسوق تسجيل دخول موحد باستخدام عنوان بريد إلكتروني وكلمة مرور معروفين. يرسل تطبيق البيع بالتجزئة تسجيل الدخول هذا إلى خدمة الاعتماد للتصديق ويحمِّل ملف تعريف العميل عند التحقق من تسجيل الدخول.
  2. ثم يبحث المتسوق عن منتج معين. يتم توصيل قائمة الأصناف بخدمة المخزون، التي تسحب البيانات للتوافر في متجر بموقع فعلي محلي للعميل وفي مراكز الإيفاء للشحن.
  3. يسجل العميل الخروج باستخدام خدمة عربة مُتكاملة، والتي تتصل بعد ذلك بخدمة معالجة الدفع لإجراء معاملة آمنة.
  4. بمجرد إتمام المعاملة، يمكن للمشتري سحب حالة الطلب باستخدام خدمات أخرى لإحضار البيانات من الخدمات اللوجستية للمخزون والشحن.

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

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

10 اتجاهات سحابية يجب على مديري المعلومات التنفيذيين تتبعها في عام 2024

توفر البنية التحتية المعيارية والمرنة لـ SOA مزايا كبيرة للشركات التي تتبنى السحابة. فيما يلي أهم الاتجاهات الأخرى.

الأسئلة الشائعة حول البنية الموجهة نحو الخدمة

ما المثال على البنية الموجهة نحو الخدمة؟

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

كيف تختلف SOA عن الخدمات المصغرة؟

يوجد لدى SOA والخدمات المصغرة هدف مماثل—لتزويد التطبيقات بوظائف من خلال استدعاءات الوظائف المستندة إلى الشبكة. مع ذلك، تعد SOA الاستخدام على مستوى واسع، وعادةً ما يكون أعلى. تأخذ الخدمات الصغيرة في الاعتبار الاستخدام على مستوى التطبيق وتوفر الخدمة لمهمة واحدة مُتخصصة للغاية لتكرارها حسب الحاجة. على سبيل المثال، يعتبر البرنامج الإضافي للتصديق لتسجيل الدخول الآمن جزءًا من SOA؛ مع ذلك، تمثل الخدمة القابلة للتكرار التي تشفِّر كلمة المرور خدمة مصغرة. يمكن استدعاء الخدمات المصغرة ضمن خدمة SOA أو دمجها في المشروع الأكبر. في هذا المثال، تستخدم خدمة التصديق الخدمة المصغرة للتشفير في إنجاز مهمتها. يمثل النطاق الفرق الرئيس بين الاثنين.

ما هي الخصائص الرئيسة للبنية الموجهة نحو الخدمة؟

تشمل الخصائص الرئيسة للبنية الموجهة نحو الخدمة ما يلي:

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

أين يتم استخدام البنية الموجهة نحو الخدمة؟

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