ما هو بروتوكول الوصول إلى الكائن البسيط في شبكات الحاسوب SOAP

اقرأ في هذا المقال


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

ما هو بروتوكول SOAP

بروتوكول الوصول إلى الكائن البسيط (SOAP): هو بروتوكول رسائل يسمح لعناصر التطبيق الموزعة بالاتصال، ويمكن نقله عبر مجموعة متنوعة من البروتوكولات ذات المستوى الأدنى بما في ذلك بروتوكول نقل النص التشعبي المرتبط بالويب (HTTP).

  • “SOAP” هي اختصار لـ “Simple-Object-Access-Protocol”.
  • “HTTP” هي اختصار لـ “Hyper-Text-Transfer-Protocol”.

مزايا وعيوب بروتوكول SOAP

  • (SOAP) هو جزء لا يتجزأ من البنية الموجهة للخدمة (SOA) ومواصفات خدمات الويب المرتبطة بـ SOA.
  • نظراً لأنّه يسمح للمرسل بإنشاء مسار رسالة استناداً إلى الخدمات المنطقية التي يجب تطبيقها على الرسالة في الطريق إلى وجهتها، فإنّه يفسح المجال لتوفير اتصالات آمنة ومتوافقة والتحكم في الوصول، وتقديم تسليم موثوق به واسترداد الأعطال ودعم اكتشاف الخدمة الديناميكي. من الصعب تخيل (SOA) بدون (SOAP).
  • يتم تعريف رسائل (SOAP) بمستوى عالٍ في (XML)، ولكنّ معظم تطبيقات (SOAP) تستخدم لغة تعريف خدمات الويب (WSDL) والتي يتم تأليفها بتنسيق (XML).
  • تجعل بنية (XML) الخاصة بـ (SOAP) مفيداً للتطبيقات التي تتوقع توفير معلوماتها في شكل (XML) وحقيقة أنّ (SOAP) يمكنه الركوب على مجموعة متنوعة من بروتوكولات الشبكة، بما في ذلك (HTTP) يعني أنّه يتم تمريره بسهولة عبر جدران الحماية، حيث قد تتطلب البروتوكولات الأخرى مكان خاص.
  • تعتمد بنية بيانات (SOAP) على (XML)، والتي تشبه من نواح كثيرة لغة (HTML) المستخدمة لتعريف صفحات الويب، ومثل (HTML) فإنّ (XLM) يمكن قراءتها إلى حد كبير ممّا يجعل من السهل إلى حد ما فهم رسالة (SOAP)، ولكنّه يجعل الرسائل أيضاً كبيرة نسبياً مقارنةً بهندسة وسيط طلب الكائنات الشائعة (CORBA) وبروتوكول استدعاء الإجراء البعيد (RPC) الخاص به سوف تستوعب البيانات الثنائية.
  • أكبر عيب لـ (SOAP) هو أنّه بروتوكول ذو وزن ثقيل لبنية ثقيلة الوزن، ويبدو أنّ فكرة الرسالة التي تمر عبر سلسلة من العقد التي تتم معالجتها بواسطة كل منها تمزج بين البروتوكولات والنماذج المعمارية لناقل الخدمة للبرامج ولا يعتبر أي من هذين الأمرين مثالياً للتطوير المستند إلى الخدمات المصغرة كما هو مستخدم بشكل شائع اليوم.

ملاحظة:“XML” هي اختصار لـ “extensible-markup-language” و”WSDL” هي اختصار لـ “Web-Services-Description-Language”.

ملاحظة:“HTML” هي اختصار لـ “hyper-text-markup-language” و”RPC” هي اختصار لـ “Remote-Procedure-Call”.

واجهات برمجة تطبيقات بروتوكول SOAP

(SOAP) هو بروتوكول يتم استخدامه دائمًا تقريبًا في سياق إطار عمل (Web Services / SOA)، وعلى هذا النحو يتم إخفاء واجهة برمجة التطبيقات (API) عادةً بواسطة واجهة المستوى الأعلى لـ (SOA)، كما تتوفر أدوات وسيطة (SOA API) لجميع لغات البرمجة الحديثة تقريباً، وتقدم (Microsoft) مجموعة متنوعة من أدوات (NET SOAP / SOA).

تم تصميم (SOAP) لتقسيم التطبيقات التقليدية المتجانسة إلى نموذج متعدد المكونات وموزع دون فقدان الأمان والتحكم، وفي المقابل (REST) هو نموذج لتفاعل الحوسبة الموزعة على أساس بروتوكول (HTTP) والطريقة التي تدعم بها خوادم الويب العملاء، ودائماً ما يكون (REST) عبر (HTTP) أساساً لتطوير واتصالات الخدمات المصغرة الحديثة، وتستخدم واجهات برمجة تطبيقات (RESTful) طلبات (HTTP) للحصول على البيانات ووضعها ونشرها وحذفها.

يعتبر (REST / HTTP) بسيطاً ومرناً وخفيف الوزن ولا يقدم سوى القليل من وسائل تبادل المعلومات وكما يمكن لـ (SOAP) الاعتماد على (HTTP) أيضاً، لكنه يربط عناصر مجموعة معقدة من أدوات الحوسبة الموزعة أي خدمات الويب وإطار عمل (SOA) بالإضافة إلى مكونات التطبيق، وهذا يشكل جزءاً من إطار عمل موجه نحو الخدمة بالكامل.

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

  • “API” هي اختصار لـ “Application-Programming-Interface”.

ما هي خصائص بروتوكول SOAP

  • (SOAP) هو بروتوكول اتصال مصمم للتواصل عبر الإنترنت.
  • يمكن لـ (SOAP) تمديد (HTTP) لرسائل (XML).
  • يوفر (SOAP) نقل البيانات لخدمات الويب.
  • يمكن لـ (SOAP) تبادل المستندات الكاملة أو استدعاء إجراء عن بُعد.
  • يمكن استخدام (SOAP) لبث رسالة.
  • (SOAP) مستقل عن النظام الأساسي واللغة.
  • (SOAP) هي طريقة (XML) لتحديد المعلومات التي يتم إرسالها وكيف يتم إرسالها.
  • يتيح (SOAP) لتطبيقات العميل إمكانية الاتصال بسهولة بالخدمات البعيدة واستدعاء الطرق البعيدة.
  • على الرغم من أنّه يمكن استخدام (SOAP) في مجموعة متنوعة من أنظمة المراسلة ويمكن تسليمها عبر مجموعة متنوعة من بروتوكولات النقل، فإنّ التركيز الأولي لـ (SOAP) هو استدعاءات الإجراءات عن بُعد التي يتم نقلها عبر (HTTP).
  • توفر الأطر الأخرى بما في ذلك (CORBA) و(DCOM) و(Java RMI) وظائف مماثلة لـ (SOAP) لكنّ رسائل (SOAP) مكتوبة بالكامل في (XML)، وبالتالي فهي مستقلة عن النظام الأساسي واللغة بشكل فريد.

أساسيات بروتوكول SOAP

بروتوكول الوصول إلى الكائنات البسيط (SOAP) هو بروتوكول خفيف الوزن قائم على (XML) يُستخدم لتبادل المعلومات في بيئات التطبيقات اللامركزية والموزعة، ويمكن إرسال رسائل (SOAP) بأي طريقة تتطلبها التطبيقات طالما أنّ كل من العميل والخادم يستخدمان الطريقة نفسها، وتصف المواصفات الحالية ارتباط بروتوكول نقل واحد فقط وهو (HTTP).

تتلاءم (SOAP) تماماً مع عالم تطبيقات الإنترنت وتعد بتحسين إمكانية التشغيل البيني عبر الإنترنت لخدمات التطبيقات في المستقبل، وتستدعي طريقة حزم (SOAP) سلاسل (XML) وتسلمها إلى مثيلات المكون من خلال (HTTP).

يتم تنظيم مستندات SOAP XML حول العناصر الجذرية والعناصر الفرعية ذات القيم والمواصفات الأخرى بحيث يتم إرسال مستند (XML )يحتوي على طلب أي طريقة يتم استدعاؤها والمعلمات، ويستجيب الخادم بمستند (XML) مطابق يحتوي على النتائج.

(SOAP) لا يعتمد على تقنية مايكروسوفت وإنّه معيار مفتوح صاغه (User-Land) و(Ariba) و(Commerce One) و(Compaq) و(Developmentor) و(HP) و(IBM) و(IONA) و(Lotus)، وتم تقديم (SOAP 1.1) إلى (W3C) في 2000 كمعيار رسمي للإنترنت، وتُعد (Microsoft) واحدة من أكبر المدافعين عن (SOAP) وقد قامت بدمج (SOAP) كواجهة قياسية في بنية (NET.).

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

ومع ذلك فإنّ خدمات الويب المكتوبة في (.NET) متوافقة دائماً مع عملاء، حيث يستخدمون نفس حزمة SOAP أو المكتبة، ومع ذلك عند اختبار خدمة ويب (.NET) تحتاج إلى تأكيد ما إذا كانت الخدمة متوافقة مع تطبيقات بروتوكول (SOAP) الأخرى، وعلى سبيل المثال (Java SOAP stack) لتجنب مشاكل التشغيل التفاعلي.

المصدر: COMPUTER NETWORKING / James F. Kurose & Keith W. RossComputer Networks - The Swiss BayCOMPUTER NETWORKS LECTURE NOTES / B.TECH III YEAR – II SEM (R15)An Introduction to Computer Networks / Peter L Dordal


شارك المقالة: