تضامنًا مع حق الشعب الفلسطيني |
سواب
يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. (يونيو 2020) |
صوب
|
صوب
اختصار لـ: البروتوكول المبسط لتطبيقات الكائنات أو (Simple Object Application Protocol)
هو أحد البروتوكولات المستخدمة في عملية نقل البيانات بين شبكات الحواسيب مستعملا لغة الترميز القابلة للامتداد وذلك عند استخدام خدمات الشبكة العنكبوتية (بالإنجليزية Web services) في نقل البيانات. ويقوم بعملية نقلة البيانات المكتوبة باستخدام لغة الترميز القابلة للامتداد باستخدام بروتوكولات الاتصال بروتوكول نقل النص التشعبي ,بروتوكول نقل النص التشعبي الآمن.
وهناك العديد من طرق إرسال البيانات عبر هذا البروتوكول ولكن أكثر الطرق استخداما ً هو نداء الإجراء البعيد أو نداء الإجراء البعيد وهذه الطريقة تعتمد على قيام جهاز واحد (العميل (بالإنجليزية: Client) على إرسال إشارة طلب (بالإنجليزية: Request) ليقوم جهاز آخر - المـَستقبل للطلب - (الخادم (بالإنجليزية: Server) بإرسال إشارة للجهاز الآخر - العميل - بهذا الطلب (بالإنجليزية: Response). وحيث أن لغة لغة الترميز القابلة للامتداد هي من اللغات المتعارف عليها من قِبل جميع أنظمة التشغيل وكذلك هي الوسيلة المعتمدة لكتابة/نقل البيانات بين الأجهزة عبر الشبكة لذلك فبروتوكول صوب هو البروتوكول المساعد في عملية نقل هذه البيانات بين الأجهزة خاصة إذا كانت التطبيقات التي تتطلب نقل بيانات تقوم بذلك عبر تطبيقات خدمات الشبكة العنكبوتية (بالإنجليزية Web services).
نشأته وتاريخه
وضعت شركة مايكروسوفت هذا البروتوكول في سنة 1999 ليحوله بعدها مجمع ال دبل يو ثري سي (W3C) إلى بروتوكول قياسي ويمكن تلخيص التغييرات التي خضع لها كما يلي:
النسخة | تاريخ الإصدار | الكاتب أو الناشر |
---|---|---|
0.9 | سبتمبر 1999 | مايكروسوفت |
1.0 | نوفمبر 1999 | آي إي تي آف |
1.1 | أبريل 2000 | أي بي آم |
1.2 | سبتمبر 2000 إلى ماي 2002 | دبل ثري سي (إعادة كتابة النسخة 1.1) |
بنية الرسائل المتبادلة عبر صوب
تتكون الرسائل المتبادلة عبر بروتوكول SOAP من جزأين:
الغلاف
يحتوي على معلومات عن الرسالة نفسها للسماح بتوجيهها ومعالجتها.
العنوان
(غير إجباري) يحتوي على معلومات العنوان مثل معلومات عن المصادقة والصفقة.
المحتوى أو الكتلة
يحتوي على معلومات حول النداء والإجابة.
المرفقات
وهي غير اجبارية مثل الرسوم الهندسية، أو الوثائق القانونية، أو غيرها.
كيف يشتغل صوب
من جانب الزبون
يرسل الزبون إلى الموزع رسائله من نوع صوب–إكس أم أل ملفوفة في ظروف طلبات من نوع بروتوكول نقل النص التشعبي.
من جانب الموزع
بالمقابل يرد الموزع بإجابة من نوع بروتوكول نقل النص التشعبي تتضمن ردا صوب–إكس أم أل. فمثلا إذا كان الموزع موزع تطبيقات من نوع طومكات أو ويبسفير فتتطلب معالجة رسائل الزبون وجود استماع في انتظار وصول رسائل الزبون لمعالجتها. ويتم ذلك عبر تنفيذ مستمع (Listener) مثلا بواسطة servlet سيرفلت ينفذ في موزع التطبيقات. وتتلخص مهمته في استخراج رسالة SOAP-XML من النداء بروتوكول نقل النص التشعبي ومعالجتها.
فوائد صوب
ما لفائدة من استعمال صوب؟ يطرح هذا السؤال نفسه لأن تطبيقات الكائنات يمكنها استعمال آر بي سي أو نداء الطرق المتباعدة (RPC) دون اللجوء لبروتوكول أيش تي تي بي والجواب أن أجهزة حماية شبكات المعلومات تمنع مرور ال آر بي سي الذي يتطلب فتح منافذ (Ports) اتصالات عديدة مما يعرض أمن وسلامة المعلومات إلى الخطر بيد أن استعمال بروتوكول أيش تي تي بي لنقل الرسائل يوفر سلامة أفضل باستعمال الشهادات الرقمية كما أنه قابل للتشغيل عبر كل متصفحات الشبكة العنكبوتية ومختلف الموزعات على غرار اختلاف أنظمة تشغيلها.
مميزات ونقائص صوب
المميزات
مفتوح ولديه خاصية التكيف مع غيره من بروتوكولات النقل
استعمال بروتوكول نقل النص التشعبي يسمح لصوب باجتياز أجهزة حماية الشبكات عبر المنافذ المتاحة
مستقل تماما عن لغة البرمجة أو أرضية التنفيذ
استعمال لغة إكس آم أل القريبة من لغة الإنسان يسهل فهم الرسائل ومن ثم تصحيح الأخطاء التي قد تقع في الرسائل
مؤهل لإدماج تطبيقات وأنظمة معلومات متباعدة
النقائص
كثرة المعلومات التي تفرض استعمالها لغة إكس أم أل يثقل بدوره المبادلات خاصة إذا كان حجم المعلومات المتداولة كبيرا
يعتبر بعض المنتقدين لصوب أنه لا يضيف توظيفات كثيرة بالنسبة لما يستطيع تقديمه بروتوكول نقل النص التشعبي وإكس أم أل صوب يصف الطريقة التي تتصل التطبيقات بعضها ببعض مما يؤدي إلى توثيق تزاوج قوي بين الخادم والموزع عكس ما يسمح به نمط الهندسة الموجهة نحو الموارد مثل ريست Rest
المراجع
- https://www.w3.org/2002/07/soap-translation/soap12-part0.html
- https://www.w3schools.com/xml/xml_soap.asp
- https://www.w3schools.com/xml/xml_soap.asp
- https://www.journaldunet.fr/web-tech/developpement/1202749-soap-vs-rest-les-principales-differences/
- https://www.w3.org/TR/soap12-part1/#terminology