ما هو الخدمية؟ موجه نحو الخدمة Archiمبادئ الثقافة
⚡ ملخص ذكي
موجه نحو الخدمة Archiتحدد مبادئ البنية كيفية تواصل خدمات البرمجيات المستقلة من خلال اتصالات موحدةtracيهدف هذا الدليل إلى بناء تطبيقات معيارية وقابلة لإعادة الاستخدام وقابلة للتشغيل البيني. يشرح هذا الدليل أساسيات بنية الخدمات الموجهة (SOA)، ومبادئها التصميمية التسعة الأساسية، ومكوناتها الرئيسية، وفوائدها، وكيف تختلف عن بنية الخدمات المصغرة الحديثة.
ما هو SOA (الخدمة الموجهة Archiالبنية)؟
خدمة موجهة Archiالبنية (SOA) هو نمط معماري في تصميم برامج الحاسوب، حيث تُقدّم مكونات التطبيق خدماتٍ لمكونات أخرى عبر بروتوكول اتصالات، عادةً عبر شبكة. ولا ترتبط مبادئ التوجه الخدمي بأي منتج أو مورد أو تقنية.
تُسهّل بنية الخدمات الموجهة (SOA) على مكونات البرمجيات العاملة عبر شبكات مختلفة العمل مع بعضها البعض بسلاسة. كما أنها تعزز إعادة استخدام منطق الأعمال وتشجع على التواصل الموحد بين الأنظمة الموزعة.
تتميز خدمات الويب المبنية وفقًا لهندسة الخدمات الموجهة (SOA) باستقلاليتها. إذ يمكنها تبادل البيانات فيما بينها، وبفضل المبادئ الأساسية التي تقوم عليها، لا تحتاج إلى أي تدخل بشري أو تعديلات برمجية. وهذا يضمن تفاعل خدمات الويب بسلاسة على الشبكة، حتى وإن طُوّرت بتقنيات مختلفة أو من قِبل فرق مختلفة.
تعتمد المؤسسات الحديثة بنية الخدمات الموجهة (SOA) لتوحيد الأنظمة القديمة وتطبيقات الحوسبة السحابية وواجهات برمجة التطبيقات الخارجية في بيئة رقمية متكاملة. يقلل هذا النهج المنظم من تعقيد التكامل ويدعم تطوير البرمجيات على المدى الطويل.
موجه نحو الخدمة Archiمبادئ التكنولوجيا (SOA).
توجد تسعة مبادئ أساسية لتصميم بنية الخدمات الموجهة (SOA)، وهي موضحة أدناه. تُرشد هذه المبادئ المطورين في تصميم خدمات موثوقة وقابلة لإعادة الاستخدام وقابلة للتشغيل البيني ضمن أي تطبيق قائم على بنية الخدمات الموجهة.
1. خدمة موحدةtract
تلتزم الخدمات بوصف الخدمة. يجب أن تتضمن الخدمة وصفًا يحدد بوضوح وظيفتها. هذا يُسهّل على تطبيقات العميل فهم ما تقدمه الخدمة وكيفية التفاعل معها.
2. اقتران فضفاض
Less الاعتماد المتبادل. هذه إحدى السمات الرئيسية لخدمات الويب، وتنص على ضرورة تقليل الاعتماد بين خدمة الويب والعميل الذي يستدعيها قدر الإمكان. لذا، إذا تغيرت وظائف الخدمة في أي وقت، فلا ينبغي أن يؤدي ذلك إلى تعطيل تطبيق العميل أو توقفه عن العمل.
3. خدمة الامتناعtracالإنتاج
تُخفي الخدمات المنطق الذي تُغلفه عن العالم الخارجي. لا ينبغي للخدمة أن تكشف عن كيفية تنفيذ وظائفها؛ بل يجب أن تُخبر تطبيق العميل فقط بما تفعله، وليس كيف تفعله.
4. إمكانية إعادة استخدام الخدمة
يُقسّم المنطق إلى خدمات بهدف تعظيم إعادة الاستخدام. تُعدّ إعادة الاستخدام موضوعًا بالغ الأهمية في أي شركة تطوير، إذ لا ترغب المؤسسات في إضاعة الوقت والجهد في كتابة نفس الكود مرارًا وتكرارًا عبر تطبيقات متعددة. لذا، بمجرد كتابة كود خدمة الويب، يجب أن يكون قادرًا على العمل مع أنواع تطبيقات متنوعة.
5. استقلالية الخدمة
ينبغي أن تتمتع الخدمات بالتحكم الكامل في المنطق الذي تُغلفه. فالخدمة على دراية تامة بالوظائف التي تُقدمها، وبالتالي ينبغي أن تتمتع أيضاً بالتحكم الكامل في الكود الذي تحتويه.
6. انعدام جنسية الخدمة
من الناحية المثالية، ينبغي أن تكون الخدمات غير مرتبطة بحالة بيانات. وهذا يعني أنه لا ينبغي للخدمات حجب المعلومات من حالة إلى أخرى. تقع هذه المسؤولية على عاتق تطبيق العميل. على سبيل المثال، لنفترض طلبًا تم تقديمه إلى متجر.ping قد تُعيد خدمة الويب سعر سلعة معينة، ولكن إذا تمت إضافة سلع إلى متجرping عند الانتقال من صفحة سلة التسوق إلى صفحة الدفع، لا ينبغي أن تقع مسؤولية نقل المبلغ إلى صفحة الدفع على عاتق خدمة الويب، بل يجب أن يتولاها تطبيق الويب.
7. إمكانية اكتشاف الخدمة
يمكن اكتشاف الخدمات، عادةً من خلال سجل الخدمات. وقد رأينا ذلك بالفعل في مفهوم UDDI، الذي يعمل كسجل يخزن معلومات حول خدمة الويب، مما يسهل على المستخدمين تحديد موقعها واستخدامها.
8. إمكانية تكوين الخدمة
تعمل الخدمات على تقسيم المشاكل الكبيرة إلى مشاكل أصغر. لا ينبغي أبدًا دمج جميع وظائف التطبيق في خدمة واحدة، بل يجب تقسيم الخدمة إلى وحدات، لكل منها وظيفة عمل مستقلة.
9. التوافق بين الخدمات
ينبغي أن تستخدم الخدمات معايير تسمح لمختلف المشتركين باستخدامها. في خدمات الويب، تُستخدم معايير مثل: XML ويتم استخدام الاتصال عبر بروتوكول HTTP لضمان توافق الخدمات مع هذا المبدأ عبر مختلف المنصات واللغات.
المكونات الرئيسية للخدمة الموجهة Architecture
يعمل نظام SOA البيئي من خلال عدة أدوار رئيسية تعمل معًا لتمكين تفاعل سلس بين الخدمات. يساعد فهم هذه المكونات المبتدئين على تصور كيفية تواصل الخدمات في نظام موزع.
- مقدم الخدمة: يقوم بإنشاء خدمة الويب ونشر وصفها في سجل الخدمات حتى يتمكن المستهلكون من تحديد موقعها لاحقًا.
- مستهلك الخدمة (طالب الخدمة): يحدد الخدمة المطلوبة من خلال السجل ويستدعيها لاستخدام الوظائف التي تقدمها.
- سجل الخدمات (الوسيط): يعمل كدليل يخزن معلومات حول الخدمات المتاحة، مما يسمح للمستهلكين باكتشاف مقدمي الخدمات والتواصل معهم.
- دائرة الخدمةtract: يحدد قواعد الاتصال، وشكل الرسالة، والسلوك المتوقع بين مقدم الخدمة والمستهلك.
- ناقل خدمة المؤسسة (ESB): يتولى توجيه الرسائل وتحويلها ودمجها بين الخدمات في أنظمة المؤسسات الكبيرة.
تشكل هذه المكونات مجتمعة إطار عمل معياري يدعم إعادة استخدام الخدمة بمرونة عبر الأقسام والتطبيقات وبيئات الحوسبة السحابية.
فوائد التوجه نحو خدمة العملاء Architecture
موجه نحو الخدمة Archiتوفر البنية التحتية مزايا استراتيجية للمؤسسات التي تبني أنظمة رقمية قابلة للتطوير والتكيف. فهي تُحوّل عملية التطوير من كتابة أكواد متكررة إلى إنشاء خدمات معيارية تُحل مشاكل الأعمال بكفاءة.
توضح الفوائد التالية سبب بقاء بنية الخدمات الموجهة (SOA) ذات صلة بتصميم التطبيقات الحديثة، وتكامل الحوسبة السحابية، ومشاريع تحديث الأنظمة القديمة.
- تطوير أسرع: إن إعادة استخدام الخدمات الحالية يقلل من جهد البرمجة ويسرع من جداول التسليم.
- تحسين قابلية الصيانة: تُعد الخدمات الصغيرة والمركزة أسهل في التحديث والتصحيح والتحسين من كتل التعليمات البرمجية المتجانسة.
- استقلالية المنصة: تتواصل الخدمات من خلال معايير مفتوحة، مما يجعل بنية الخدمات الموجهة (SOA) متوافقة مع أي مجموعة تقنية.
- خفة الحركة التجارية: يمكن للفرق التكيف بسرعة مع المتطلبات المتغيرة عن طريق إضافة الخدمات أو استبدالها دون تعطيل النظام بأكمله.
- فعالية التكلفة: إن إعادة استخدام الخدمات المجربة يقلل من تكاليف التطوير والتكامل على المدى الطويل.
- التدرجية: يمكن توسيع نطاق الخدمات الفردية بشكل مستقل لتلبية متطلبات الحمل.
هذه المزايا تجعل بنية الخدمات الموجهة (SOA) مناسبة تمامًا للأنظمة المصرفية، ومنصات التجارة الإلكترونية، وتطبيقات الرعاية الصحية، وأي بيئة يكون فيها منطق الأعمال القابل لإعادة الاستخدام أمرًا ضروريًا.
بنية الخدمات الموجهة (SOA) مقابل الخدمات المصغرة: الاختلافات الرئيسية
غالباً ما يُنظر إلى بنية الخدمات المصغرة على أنها تطور لبنية الخدمات الموجهة (SOA). وبينما يشجع كلا النهجين على التجزئة، فإنهما يختلفان اختلافاً كبيراً في النطاق وأسلوب التواصل ونموذج الحوكمة.
| البعد | الخدمية | Microservices |
|---|---|---|
| حجم الخدمة | خدمات أكبر على مستوى الأعمال | خدمات صغيرة ذات غرض واحد |
| التواصل | SOAP، XML، ESB | واجهات برمجة تطبيقات REST و JSON خفيفة الوزن |
| الحكم | مركزية | اللامركزية |
| التنفيذ | وقت التشغيل المشترك في كثير من الأحيان | قابل للنشر بشكل مستقل |
| مخزن البيانات | قواعد البيانات المشتركة | مخصص لكل خدمة |
| أفضل مناسب | تكامل المؤسسة | التطبيقات السحابية الأصلية |
يعتمد اختيار بنية الخدمات الموجهة (SOA) أو الخدمات المصغرة على حجم المؤسسة، ونضج التكنولوجيا، ومدى تعقيد التكامل. تستخدم العديد من المؤسسات كلا البنيتين معًا، حيث تطبق بنية الخدمات الموجهة لتكامل الأنظمة القديمة، والخدمات المصغرة للميزات الجديدة القائمة على الحوسبة السحابية.

