خدمة الويب

خدمة الويب ( WS ) هي إما:

  • خدمة يقدمها جهاز إلكتروني لجهاز إلكتروني آخر، ويتواصلان مع بعضهما البعض عبر الإنترنت ، أو
  • خادم يعمل على جهاز كمبيوتر، ويستمع للطلبات على منفذ معين عبر الشبكة، ويقدم مستندات الويب ( HTML ، JSON ، XML ، الصور).

في خدمة الويب، يتم استخدام تقنية الويب مثل HTTP لنقل تنسيقات الملفات القابلة للقراءة آليًا مثل XML و JSON.

عمليًا، توفر خدمة الويب عادةً واجهة ويب كائنية التوجه لخادم قاعدة البيانات، والتي يستخدمها، على سبيل المثال، خادم ويب آخر أو تطبيق جوال ، لتوفير واجهة مستخدم للمستخدم النهائي. كما توفر العديد من المؤسسات التي تقدم البيانات في صفحات HTML منسقة، هذه البيانات على خادمها بصيغة XML أو JSON، غالبًا عبر خدمة ويب لتمكين نشرها . ومن التطبيقات الأخرى التي تُقدم للمستخدم النهائي تطبيق " الدمج" ، حيث يستهلك خادم الويب عدة خدمات ويب على أجهزة مختلفة ويُجمّع المحتوى في واجهة مستخدم واحدة.

خدمات الويب (عامة)

جافا سكريبت غير المتزامنة و XML

تُعدّ تقنية AJAX (جافا سكريبت غير المتزامنة وXML) تقنيةً سائدةً في خدمات الويب. وقد تطورت هذه التقنية من خلال دمج خوادم HTTP وعملاء جافا سكريبت و XML العادي (على عكس SOAP وخدمات الويب W3C)، وهي تُستخدم الآن بشكل متكرر مع JSON بالإضافة إلى XML أو بدلاً منه.

استراحة

نقل الحالة التمثيلية (REST) ​​هو بنية لخدمات الويب ذات السلوك الجيد والتي يمكن أن تعمل على نطاق الإنترنت.

في وثيقة صدرت عام 2004، حددت منظمة W3C ما يلي كميزة رئيسية تميز خدمات الويب:

يمكننا تحديد فئتين رئيسيتين من خدمات الويب:

اتحاد شبكة الويب العالمية، هندسة خدمات الويب [ 1 ]

هناك عدد من خدمات الويب التي تستخدم لغات الترميز:

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

تُعدّ واجهة برمجة تطبيقات الويب (Web API) تطورًا في خدمات الويب، حيث اتجه التركيز نحو اتصالات أبسط تعتمد على نقل الحالة التمثيلية (REST). [ 2 ] لا تتطلب واجهات برمجة تطبيقات RESTful بروتوكولات خدمات الويب القائمة على XML ( مثل SOAP وWSDL) لدعم واجهاتها.

خدمات الويب التابعة لاتحاد شبكة الويب العالمية (W3C)

فيما يتعلق بخدمات الويب التابعة لاتحاد شبكة الويب العالمية (W3C)، عرّف الاتحاد خدمة الويب على النحو التالي:

خدمة الويب هي نظام برمجي مصمم لدعم التفاعل بين الأجهزة عبر الشبكة. ولها واجهة موصوفة بصيغة قابلة للمعالجة آليًا (وتحديدًا WSDL ). تتفاعل الأنظمة الأخرى مع خدمة الويب وفقًا لوصفها باستخدام رسائل SOAP، والتي تُنقل عادةً عبر بروتوكول HTTP مع تسلسل XML بالتزامن مع معايير الويب الأخرى.

W3C، مسرد خدمات الويب [ 3 ]

قد تستخدم خدمات الويب التابعة لاتحاد شبكة الويب العالمية (W3C) بروتوكول SOAP عبر HTTP، مما يتيح تفاعلات أقل تكلفة (وأكثر كفاءة) عبر الإنترنت مقارنةً بالحلول الاحتكارية مثل EDI/B2B. إلى جانب SOAP عبر HTTP، يمكن أيضًا تنفيذ خدمات الويب على آليات نقل موثوقة أخرى مثل FTP . في وثيقة صدرت عام 2002، حدد فريق عمل هندسة خدمات الويب بنية خدمات الويب، والتي تتطلب تطبيقًا موحدًا لـ "خدمة الويب".

توضيح

بنية خدمات الويب: يرسل مزود الخدمة ملف WSDL إلى UDDI. يتصل طالب الخدمة بـ UDDI لمعرفة مزود البيانات التي يحتاجها، ثم يتصل بمزود الخدمة باستخدام بروتوكول SOAP. يتحقق مزود الخدمة من صحة طلب الخدمة ويرسل بيانات منظمة في ملف XML باستخدام بروتوكول SOAP. يُعاد التحقق من صحة ملف XML هذا من قِبل طالب الخدمة باستخدام ملف XSD.

يصف مصطلح "خدمة الويب" طريقةً موحدةً لدمج تطبيقات الويب باستخدام معايير XML وSOAP وWSDL وUDDI المفتوحة عبر شبكة بروتوكول الإنترنت . يُستخدم XML كصيغة بيانات لتخزين البيانات وتوفير البيانات الوصفية المتعلقة بها، بينما يُستخدم SOAP لنقل البيانات، ويُستخدم WSDL لوصف الخدمات المتاحة، ويُحدد UDDI الخدمات المتاحة.

خدمة الويب هي وسيلة اتصال بين جهازين إلكترونيين عبر الشبكة. وهي عبارة عن وظيفة برمجية تُقدم عبر عنوان شبكة على الويب، وتكون الخدمة متاحة دائمًا كما هو الحال في مفهوم الحوسبة الخدمية.

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

قد تستخدم البرامج المختلفة لغات برمجة مختلفة، ولذا تبرز الحاجة إلى طريقة لتبادل البيانات لا تعتمد على لغة برمجة محددة. مع ذلك، تستطيع معظم أنواع البرامج تفسير وسوم XML. وبالتالي، يمكن لخدمات الويب استخدام ملفات XML لتبادل البيانات.

يجب تحديد قواعد التواصل مع الأنظمة المختلفة، مثل:

  • كيف يمكن لنظام ما أن يطلب بيانات من نظام آخر.
  • ما هي المعايير المحددة المطلوبة في طلب البيانات؟
  • ما هي بنية البيانات المنتجة؟ (عادةً، يتم تبادل البيانات في ملفات XML، ويتم التحقق من صحة بنية ملف XML مقابل ملف .xsd.)
  • ما هي رسائل الخطأ التي يجب عرضها عند عدم مراعاة قاعدة معينة للاتصال، لتسهيل عملية استكشاف الأخطاء وإصلاحها .

تُعرَّف جميع قواعد الاتصال هذه في ملف يُسمى WSDL (لغة وصف خدمات الويب)، وله .wsdlامتداد . (تسعى مقترحات خدمات الويب المستقلة ( AWS ) إلى تطوير خدمات ويب أكثر مرونة لا تعتمد على قواعد صارمة. [ أ ] )

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

أساليب التصميم الآلي

خدمات الويب في بنية موجهة نحو الخدمات

يمكن للأدوات الآلية أن تساعد في إنشاء خدمة ويب. بالنسبة للخدمات التي تستخدم WSDL، من الممكن إما إنشاء WSDL تلقائيًا للفئات الموجودة (نموذج من الأسفل إلى الأعلى) أو إنشاء هيكل الفئة بناءً على WSDL الموجود (نموذج من الأعلى إلى الأسفل).

  • يستخدم المطور نموذجًا تصاعديًا، حيث يقوم أولًا بكتابة فئات التنفيذ (بلغة برمجة معينة)، ثم يستخدم أداة توليد ملفات WSDL لعرض طرق هذه الفئات كخدمة ويب. هذا الأسلوب أسهل في التطوير، ولكنه قد يكون أصعب في الصيانة إذا كانت الفئات الأصلية عرضة للتغيير المتكرر. [ 5 ]
  • يستخدم المطور نموذجًا تنازليًا، حيث يكتب مستند WSDL أولًا، ثم يستخدم أداة توليد التعليمات البرمجية لإنشاء الهيكل الأساسي للفئة، والذي يُستكمل حسب الحاجة. يُعتبر هذا النموذج عمومًا أكثر تعقيدًا، ولكنه يُنتج تصميمات أكثر وضوحًا ومقاومة للتغيير. طالما لم تتغير تنسيقات الرسائل بين المُرسِل والمُستقبِل، فإن التغييرات في المُرسِل والمُستقبِل أنفسهما لا تؤثر على خدمة الويب. تُعرف هذه التقنية أيضًا باسم " العقد أولًا"، لأن WSDL (أو العقد بين المُرسِل والمُستقبِل) هو نقطة البداية. [ 6 ]
  • يمكن للمطور الذي يستخدم WSDL الفرعي (SWSDL) [ 7 ] (أي WSDL مع عملية المجموعة الفرعية في WSDL الأصلي) إجراء اختبار خدمة الويب والتطوير من أعلى إلى أسفل.

نقد

كثيراً ما يشكو منتقدو خدمات الويب غير RESTful من أنها معقدة للغاية [ 8 ] وتعتمد على بائعي البرامج الكبيرة أو المكاملين، بدلاً من تطبيقات المصادر المفتوحة النموذجية.

كما توجد مخاوف بشأن الأداء بسبب استخدام خدمات الويب لـ XML كصيغة للرسائل و SOAP/HTTP في التغليف والنقل. [ 9 ]

اختبار الانحدار لخدمات الويب

يُجرى اختبار الوظائف والاختبارات غير الوظيفية لخدمات الويب باستخدام تحليل WSDL. ويتم اختبار الانحدار بتحديد التغييرات التي أُجريت لتحديث البرمجيات. ويمكن تصنيف احتياجات اختبار انحدار خدمات الويب إلى ثلاث فئات رئيسية: التغييرات في WSDL، والتغييرات في الكود، وإعادة اختبار العمليات بشكل انتقائي. ويمكننا تمثيل هذه الاحتياجات الثلاث في ثلاثة أشكال وسيطة من WSDL الفرعي [ 7 وهي: WSDL الفرق (DWSDL)، وWSDL الوحدة (UWSDL)، وWSDL المُختزل (RWSDL). ثم تُدمج هذه الأشكال الثلاثة من WSDL الفرعي لتكوين WSDL المُدمج (CWSDL)، والذي يُستخدم بدوره لاختبار انحدار خدمة الويب. وهذا يُسهم في إدارة تغييرات خدمات الويب المؤتمتة (AWSCM) [ 10 ] ، من خلال اختيار حالات الاختبار المناسبة لإنشاء مجموعة اختبار مُختزلة من مجموعة الاختبار القديمة [ 11 ] .

يمكن أيضًا أتمتة اختبار خدمات الويب باستخدام العديد من أدوات أتمتة الاختبار مثل SoapUI و Oracle Application Testing Suite (OATS) [ 12 ] [ 13 ] Unified Functional Testing و Selenium وما إلى ذلك.

إدارة تغيير خدمات الويب

يتعلق العمل بتسجيل وتصوير التغييرات التي تُجرى على خدمة ويب. يمكن إجراء تصوير التغييرات وحسابها باستخدام ملفات وسيطة (ملف WSDL فرعي). [ 7 ] تُعدّ معرفة تأثير التغييرات مفيدة في الاختبار، والتطوير من أعلى إلى أسفل، وتقليل اختبارات الانحدار. AWSCM [ 10 ] أداةٌ تُتيح تحديد عمليات المجموعات الفرعية في ملف WSDL لإنشاء ملف WSDL فرعي.

اكتشاف خدمات الويب والبحث عنها

رغم أن الهدف من UDDI كان أن يكون دليلًا للخدمات ووسيلة لاكتشاف خدمات الويب، إلا أن العديد من الموردين أوقفوا حلولهم أو مستودعاتهم الخاصة بـ UDDI بين عامي 2005 و2008، بما في ذلك مايكروسوفت، وساب، وآي بي إم، وغيرهم. [ 14 ] [ 15 ] وقدّمت دراسة رئيسية نُشرت في مؤتمر WWW2008 (بكين، الصين) [ 16 ] حالة خدمات الويب القائمة على بروتوكول SOAP، وخلصت إلى أن 63% فقط من خدمات الويب المتاحة القائمة على SOAP في وقت الدراسة كانت نشطة أو قابلة للاستخدام. كما وجدت الدراسة أن محركات البحث أصبحت مصدرًا مثاليًا للبحث عن خدمات الويب مقارنةً بسجلات الخدمات مثل UDDI نظرًا لتعقيد تصميمها. [ 17 ]

انظر أيضاً

ملحوظات

  1. قارن: أويا 2008 ، "في ظل خدمات الويب الحالية، [...] يجب على أنظمة أصحاب المصلحة اتباع القواعد المحددة مسبقًا لخدمة أعمال معينة، بما في ذلك تلك المتعلقة ببروتوكولات الأعمال لإرسال/استقبال الرسائل، وتلك المتعلقة بتشغيل النظام. [...] هناك حاجة إلى آلية أكثر مرونة، حيث يمكن للأنظمة التي تُبنى بحرية وتعمل بشكل مستقل تبادل رسائل الأعمال دون قواعد صارمة متفق عليها مسبقًا. نطلق على ذلك اسم خدمات الويب المستقلة (AWS)، واقترحنا إطار عمل يُسمى مواءمة النموذج الديناميكي (DMH) مع خوارزميته، التي تُعدّل ديناميكيًا نماذج عمليات الأعمال المختلفة بين الأنظمة [...]." [ 4 ]

مراجع

  1. "هندسة خدمات الويب § العلاقة بشبكة الويب العالمية وهندسة REST" . W3C . تم الاطلاع عليه بتاريخ 11 نوفمبر 2017 .
  2. بنسليمان، د.؛ داستدار، س.؛ شيث، أ. (2008). "دمج الخدمات: الجيل الجديد من تطبيقات الويب" . مجلة IEEE للحوسبة عبر الإنترنت . 10 (5): 13-15 . doi : 10.1109/MIC.2008.110 . S2CID 8124905 . 
  3. "مسرد مصطلحات خدمات الويب § خدمة الويب" . اتحاد شبكة الويب العالمية . 11 فبراير 2004. تم الاطلاع عليه بتاريخ 24 يناير 2017 .
  4. أويا، ماكوتو (2008-09-02). "خدمات الويب المستقلة القائمة على مواءمة النموذج الديناميكي". في: أويا، ماكوتو؛ أودا، ريويا؛ ياسونوبو، تشيزوكو (محررون). نحو مجتمع مستدام على الشبكات المنتشرة: المؤتمر الثامن للاتحاد الدولي لمعالجة المعلومات حول الأعمال الإلكترونية والخدمات الإلكترونية والمجتمع الإلكتروني (I3E 2008)، 24-26 سبتمبر 2008، طوكيو، اليابان . سلسلة IFIP للتقدم في تكنولوجيا المعلومات والاتصالات. المجلد 286. سبرينغر ساينس آند بيزنس ميديا ​​(نُشر عام 2008). ص 139. ISBN   9780387856902تم الاطلاع عليه بتاريخ 19-08-2015 .
  5. "إنشاء خدمات ويب من الأسفل إلى الأعلى" . إكليبس . تم الاطلاع عليه بتاريخ 11 نوفمبر 2017 .
  6. "إنشاء خدمات ويب من أعلى إلى أسفل" . إكليبس . تم الاطلاع عليه بتاريخ 11 نوفمبر 2017 .
  7. 1 2 3 تشاتورفيدي، أنيميش (2014). استخدام مجموعة فرعية من WSDL للوصول إلى خدمة المجموعة الفرعية لأغراض التحليل . المؤتمر الدولي السادس لـ IEEE حول تكنولوجيا وعلوم الحوسبة السحابية، 2014. ص 688. doi : 10.1109/CloudCom.2014.149 . ISBN  978-1-4799-4093-6.
  8. براي، تيم (28-10-2004). "WS-Pagecount" . TBray.org . تم الاسترجاع في 22-04-2011 .
  9. غراي، ناب (2005). "أداء برمجيات جافا الوسيطة - جافا RMI، JAX-RPC، وCORBA" . جامعة ولونغونغ : 31-39 . تُظهر النتائج المعروضة في هذه الورقة أن طبيعة بيانات الاستجابة لها تأثير أكبر على الأداء النسبي مما تم أخذه في الاعتبار في معظم الدراسات السابقة.
  10. 1 2 تشاتورفيدي، أنيميش (2014). إدارة تغيير خدمات الويب الآلية AWSCM - أداة . المؤتمر الدولي السادس لـ IEEE حول تكنولوجيا وعلوم الحوسبة السحابية لعام 2014. ص 715. doi : 10.1109/CloudCom.2014.144 . ISBN  978-1-4799-4093-6.
  11. تشاتورفيدي، أنيميش؛ غوبتا، أتول (2013). منهجية مدعومة بأدوات لإجراء اختبارات الانحدار بكفاءة لخدمات الويب . المؤتمر الدولي السابع لمعهد مهندسي الكهرباء والإلكترونيات لعام 2013 حول صيانة وتطوير الأنظمة الموجهة نحو الخدمات والأنظمة السحابية. ص 50. doi : 10.1109/MESOCA.2013.6632734 . ISBN  978-1-4673-4889-8.
  12. مجموعة أدوات اختبار تطبيقات أوراكل
  13. اختبار خدمات الويب باستخدام مجموعة أدوات اختبار تطبيقات أوراكل
  14. كريل، بول (16 ديسمبر 2005). "مايكروسوفت، آي بي إم، إس إيه بي توقف جهودها في سجل UDDI" . إنفوورلد . تم الاسترجاع في 28 مايو 2022 .
  15. كوين راديتش (27 أبريل 2021). "إزالة خدمات UDDI من نظام تشغيل الخادم - تطبيقات Win32" . docs.microsoft.com . تم الاطلاع عليه بتاريخ 28 مايو 2022 .
  16. "WWW2008 – WWW 2008: المؤتمر الدولي السابع عشر للويب العالمي (مرحباً)" . مؤرشف من الأصل بتاريخ 4 أكتوبر 2022. تم الاطلاع عليه بتاريخ 28 مايو 2022 .
  17. المصري، إيهاب؛ محمود، قصي ح. (21-04-2008). "دراسة خدمات الويب على شبكة الإنترنت العالمية" . وقائع المؤتمر الدولي السابع عشر لشبكة الإنترنت العالمية . WWW '08. نيويورك، نيويورك، الولايات المتحدة الأمريكية: رابطة آلات الحوسبة. ص 795-804 . doi : 10.1145/1367497.1367605 . ISBN  978-1-60558-085-2. S2CID 12570844 .