ما هي خدمات الويب؟ Archiالتكنولوجيا، الأنواع، الأمثلة

⚡ ملخص ذكي

توفر خدمات الويب وسيلة موحدة لتطبيقات العميل والخادم للتواصل عبر شبكة الإنترنت العالمية. يشرح هذا المورد كيفية عمل خدمات الويب، وأنواعها SOAP وRESTful، ومكونات WSDL وUDDI، وأدوارها المعمارية، وخصائصها الرئيسية.

  • 🌐 التعريف الأساسي: خدمة الويب هي وحدة برمجية مستقلة تقوم بمهمة محددة وتتواصل بين العميل والخادم عبر الويب.
  • 📨 مراسلة XML: تتبادل خدمات الويب البيانات بصيغة XML، وعادة ما يتم تغليفها في رسائل SOAP المرسلة عبر بروتوكول HTTP القياسي، بحيث يمكن لأي لغة قراءتها.
  • 🧱 المكونات الرئيسية: تعتمد خدمة الويب الوظيفية على SOAP للمراسلة، وWSDL لوصف الخدمة، وUDDI لنشرها واكتشافها.
  • 👥 Archiأدوار البنية: تحدد البنية ثلاثة أدوار - الموفر، والمُطالب، والوسيط - التي تنشر وتجد وتربط الخدمات من خلال سجل.
  • ⚙️ الخصائص الأساسية: تعتمد خدمات الويب على لغة XML، وهي مترابطة بشكل فضفاض، وتدعم المكالمات المتزامنة أو غير المتزامنة، وتمكّن إجراءات RPC، وتسمح بتبادل المستندات الغنية.

خدمات الويب Architecture

ما هي خدمة الويب؟

خدمة الإنترنت هي وسيلة موحدة لنشر الاتصال بين تطبيقات العميل والخادم على شبكة الويب العالمية (WWW). خدمة الويب هي وحدة برمجية مصممة لأداء مجموعة معينة من المهام.

  • يمكن البحث عن خدمات الويب في الحوسبة السحابية عبر الشبكة ويمكن أيضًا استدعاؤها وفقًا لذلك.
  • عند استدعائها، ستكون خدمة الويب قادرة على توفير الوظيفة للعميل، الذي يستدعي خدمة الويب تلك.

كيف تعمل خدمات الويب؟

كيف تعمل خدمات الويب

يُظهر الرسم البياني أعلاه رؤية مبسطة جدًا لكيفية عمل خدمة الويب فعليًا. يقوم العميل باستدعاء سلسلة من مكالمات خدمة الويب عبر طلبات إلى خادم يستضيف خدمة الويب الفعلية.

تُجرى هذه الطلبات عبر ما يُعرف باستدعاءات الإجراءات عن بُعد. استدعاءات الإجراءات عن بُعد (RPC) هي استدعاءات تُجرى لأساليب مُستضافة بواسطة خدمة الويب ذات الصلة.

كمثال، Amazon توفر خدمة ويب توفر أسعارًا للمنتجات المباعة عبر الإنترنت عبر amazon.com. يمكن أن تكون الطبقة الأمامية أو طبقة العرض بتنسيق .Net أو Java، ولكن أي لغة برمجة ستكون قادرة على التواصل مع خدمة الويب.

المكون الرئيسي لتصميم خدمة الويب هو البيانات التي يتم نقلها بين العميل والخادم، وهي XML. XML (لغة الترميز الموسعة) هي نظيرة للغة HTML ولغة وسيطة سهلة الفهم تفهمها العديد من لغات البرمجة.

لذا، عندما تتواصل التطبيقات مع بعضها البعض، فإنها تتواصل فعلياً بلغة XML. وهذا يوفر منصة مشتركة للتطبيقات المطورة بلغات برمجة مختلفة للتواصل فيما بينها.

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

لماذا تحتاج إلى خدمة ويب؟

تستخدم تطبيقات الأعمال الحديثة مجموعة متنوعة من منصات البرمجة لتطوير تطبيقات الويب. قد يتم تطوير بعض التطبيقات باستخدام Java، وآخرون في .Net، بينما البعض الآخر في Angular JS، Node.js، إلخ.

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

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

أنواع خدمات الويب

يوجد نوعان رئيسيان من خدمات الويب:

  1. خدمات الويب الخاصة بالصابون.
  2. خدمات الويب المريحة.

لكي تعمل خدمة الويب بكفاءة تامة، لا بد من توفر مكونات معينة. يجب أن تكون هذه المكونات موجودة بغض النظر عن لغة البرمجة المستخدمة في خدمة الويب. دعونا نلقي نظرة على هذه المكونات بمزيد من التفصيل.

SOAP (بروتوكول الوصول إلى كائن بسيط)

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

إليك ما تتكون منه رسالة SOAP:

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

يوضح الرسم البياني أدناه مثالاً بسيطًا للاتصال عبر SOAP.

بروتوكول الصابون

سنناقش SOAP بالتفصيل في هذا البرنامج التعليمي.

WSDL (خدمات الويب Descriptلغة الأيونات)

لا يمكن استخدام خدمة الويب إذا لم يتم العثور عليها. ينبغي على العميل الذي يستدعي خدمة الويب أن يعرف مكان وجود خدمة الويب فعلياً.

ثانيًا، يحتاج تطبيق العميل إلى معرفة وظيفة خدمة الويب تحديدًا، حتى يتمكن من استدعاء خدمة الويب الصحيحة. ويتم ذلك بمساعدة ملف WSDL، المعروف باسم خدمات الويب. Descriptلغة ion. ملف WSDL هو ملف قائم على XML، يُخبر تطبيق العميل بوظيفة خدمة الويب. باستخدام مستند WSDL، يستطيع تطبيق العميل فهم موقع خدمة الويب وكيفية استخدامها.

مثال على خدمة الويب

فيما يلي مثال لخدمات الويب لملف WSDL.

<definitions>
   <message name="TutorialRequest">
      <part name="TutorialID" type="xsd:string"/>
   </message>

   <message name="TutorialResponse">
      <part name="TutorialName" type="xsd:string"/>
   </message>

   <portType name="Tutorial_PortType">
      <operation name="Tutorial">
         <input message="tns:TutorialRequest"/>
         <output message="tns:TutorialResponse"/>
      </operation>
   </portType>

   <binding name="Tutorial_Binding" type="tns:Tutorial_PortType">
      <soap:binding style="rpc"
         transport="http://schemas.xmlsoap.org/soap/http"/>
      <operation name="Tutorial">
         <soap:operation soapAction="Tutorial"/>
         <input>
            <soap:body
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="urn:examples:Tutorialservice"
               use="encoded"/>
         </input>

         <output>
            <soap:body
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               namespace="urn:examples:Tutorialservice"
               use="encoded"/>
         </output>
      </operation>
   </binding>
</definitions>

الجوانب المهمة التي يجب ملاحظتها حول أمثلة إعلان WSDL المذكورة أعلاه لخدمات الويب هي كما يلي:

  1. تُستخدم معلمة الرسالة في تعريف WSDL لتحديد عناصر البيانات المختلفة لكل عملية تُنفذها خدمة الويب. ففي مثال خدمة الويب المذكور أعلاه، لدينا رسالتان يمكن تبادلهما بين خدمة الويب وتطبيق العميل: الأولى هي "TutorialRequest"، والثانية هي عملية "TutorialResponse". تحتوي رسالة TutorialRequest على عنصر يُسمى "TutorialID" وهو من نوع سلسلة نصية. وبالمثل، تحتوي عملية TutorialResponse على عنصر يُسمى "TutorialName" وهو أيضًا من نوع سلسلة نصية.
  2. – يصف هذا في الواقع العملية التي يمكن أن يقوم بها موقع الويب، والتي تُسمى في حالتنا "البرنامج التعليمي". يمكن لهذه العملية أن تستقبل رسالتين: الأولى هي رسالة الإدخال، والثانية هي رسالة الإخراج.
  3. يحتوي هذا العنصر على البروتوكول المستخدم. في حالتنا، نحدد استخدام بروتوكول HTTP (http://schemas.xmlsoap.org/soap/http). كما نحدد تفاصيل أخرى لجسم العملية، مثل مساحة الاسم وما إذا كان يجب تشفير الرسالة.

سنتناول "WSDL" بالتفصيل في هذا البرنامج التعليمي.

يونيفرسال Descriptالأيون والاكتشاف والتكامل (UDDI)

يعد UDDI معيارًا لوصف ونشر واكتشاف خدمات الويب التي يوفرها موفر خدمة معين. فهو يوفر مواصفات تساعد في استضافة المعلومات على خدمات الويب.

لقد ناقشنا في الموضوع السابق WSDL وكيف يحتوي على معلومات حول ما تقوم به خدمة الويب بالفعل. ولكن كيف يمكن لتطبيق العميل تحديد موقع ملف WSDL لفهم العمليات المختلفة التي تقدمها خدمة الويب؟ لذا فإن UDDI هو الحل لهذا ويوفر مستودعًا يمكن استضافة ملفات WSDL عليه. وبالتالي، سيكون لتطبيق العميل إمكانية الوصول الكامل إلى UDDI، الذي يعمل كقاعدة بيانات تحتوي على جميع ملفات WSDL.

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

مميزات خدمات الويب

لقد فهمنا بالفعل سبب ظهور خدمات الويب في المقام الأول، وهو توفير منصة تُمكّن التطبيقات المختلفة من التواصل فيما بينها. ولكن دعونا نلقي نظرة على قائمة مزايا خدمات الويب التي تُبيّن أهمية استخدامها.

  1. الكشف عن وظائف الأعمال على الشبكة خدمة الويب هي وحدة برمجية مُدارة تُوفر وظائف مُحددة لتطبيقات العميل أو المستخدمين النهائيين. يُمكن استدعاء هذه الوظائف عبر بروتوكول HTTP، ما يعني إمكانية الوصول إليها عبر الإنترنت. في الوقت الحاضر، تتواجد جميع التطبيقات على الإنترنت، مما يُعزز أهمية خدمات الويب. هذا يعني أن خدمة الويب يُمكن أن تكون موجودة في أي مكان على الإنترنت وتُقدم الوظائف المطلوبة حسب الحاجة.
  2. التوافق بين التطبيقات تتيح خدمات الويب للتطبيقات المختلفة التواصل فيما بينها وتبادل البيانات والخدمات. يمكن لجميع أنواع التطبيقات التواصل فيما بينها. لذا، بدلاً من كتابة شفرة برمجية خاصة لا تفهمها إلا تطبيقات محددة، يمكنك الآن كتابة شفرة عامة تفهمها جميع التطبيقات.
  3. بروتوكول موحد يفهمه الجميع تستخدم خدمات الويب بروتوكولًا صناعيًا موحدًا للاتصال. جميع الطبقات الأربع (نقل الخدمة، مراسلة XML، الخدمة) Descriptتستخدم طبقات (ion و Service Discovery) بروتوكولات محددة جيدًا في حزمة بروتوكولات خدمات الويب.
  4. تخفيض تكلفة الاتصالات - تستخدم خدمات الويب SOAP عبر بروتوكول HTTP، حتى تتمكن من استخدام الإنترنت منخفض التكلفة الموجود لديك لتنفيذ خدمات الويب.

خدمات الويب Architecture

يحتاج كل إطار عمل إلى نوع من البنية لضمان عمل إطار العمل بأكمله على النحو المطلوب. وبالمثل، في خدمات الويب، خدمات الويب Architecture يتكون من ثلاثة أدوار متميزة كما هو موضح أدناه:

  1. مزود – يقوم المزود بإنشاء خدمة الويب وإتاحتها لتطبيقات العميل التي ترغب في استخدامها.
  2. الطالب - الطالب ليس سوى تطبيق العميل الذي يحتاج إلى الاتصال بخدمة ويب. يمكن أن يكون تطبيق العميل عبارة عن .Net، Javaأو أي تطبيق آخر قائم على لغة معينة يبحث عن نوع من الوظائف عبر خدمة ويب.
  3. وسيط - الوسيط ليس سوى التطبيق الذي يوفر الوصول إلى UDDI. وكما ذُكر سابقاً، فإن UDDI يمكّن تطبيق العميل من تحديد موقع خدمة الويب.

يوضح الرسم البياني أدناه كيفية تفاعل مزود الخدمة، ومقدم طلب الخدمة، وسجل الخدمة مع بعضهم البعض.

خدمات الويب Architecture

  1. نشر – يقوم المزود بإبلاغ الوسيط (سجل الخدمة) بوجود خدمة الويب باستخدام واجهة النشر الخاصة بالوسيط لجعل الخدمة متاحة للعملاء.
  2. - يستشير مقدم الطلب الوسيط لتحديد موقع خدمة ويب منشورة.
  3. مأزق – من خلال المعلومات التي حصل عليها من الوسيط (سجل الخدمة) حول خدمة الويب، يستطيع مقدم الطلب ربط خدمة الويب أو استدعائها.

خصائص خدمة الويب

تتمتع خدمات الويب بالخصائص السلوكية الخاصة التالية:

  1. فهي تعتمد على XML تستخدم خدمات الويب لغة XML لتمثيل البيانات في طبقتي العرض ونقل البيانات. ويُغني استخدام XML عن أي تبعية للشبكات أو أنظمة التشغيل أو المنصات، لأن XML هي اللغة المشتركة التي يفهمها الجميع.
  2. المتباعدة – تعني الاقترانات غير المحكمة أن العميل وخدمة الويب غير مرتبطين ببعضهما البعض، مما يعني أنه حتى إذا تغيرت خدمة الويب بمرور الوقت، فلا ينبغي لها أن تغير الطريقة التي يستدعي بها العميل خدمة الويب. يؤدي تبني بنية الاقتران غير المحكمة إلى جعل أنظمة البرامج أكثر قابلية للإدارة ويسمح بتكامل أبسط بين الأنظمة المختلفة.
  3. Syncوظيفة متزامنة أو غير متزامنة - Syncتشير hronicity إلى ربط العميل بتنفيذ الخدمة. في العمليات المتزامنة، ينتظر العميل في الواقع حتى تكمل خدمة الويب عملية ما. ومن الأمثلة على ذلك على الأرجح سيناريو يتم فيه تنفيذ عملية قراءة وكتابة لقاعدة البيانات. إذا تمت قراءة البيانات من قاعدة بيانات واحدة ثم كتابتها إلى أخرى، فيجب إجراء العمليات بطريقة متسلسلة. تسمح العمليات غير المتزامنة للعميل باستدعاء خدمة ثم تنفيذ وظائف أخرى بالتوازي. هذه واحدة من التقنيات الشائعة وربما الأكثر تفضيلاً لضمان عدم توقف الخدمات الأخرى عند تنفيذ عملية معينة.
  4. القدرة على دعم استدعاءات الإجراءات عن بعد (RPCs) – تتيح خدمات الويب للعملاء استدعاء الإجراءات والوظائف والأساليب على الكائنات البعيدة باستخدام بروتوكول يستند إلى XML. تكشف الإجراءات عن بعد معلمات الإدخال والإخراج التي يجب أن تدعمها خدمة الويب.
  5. يدعم تبادل المستندات – إحدى الفوائد الرئيسية لـ XML هي طريقتها العامة في تمثيل ليس فقط البيانات ولكن أيضًا المستندات المعقدة. يمكن أن تكون هذه المستندات بسيطة مثل تمثيل عنوان حالي، أو يمكن أن تكون معقدة مثل تمثيل كتاب كامل.

الأسئلة الشائعة

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

نعم. يمكن لأدوات الذكاء الاصطناعي إنشاء تعريفات WSDL، واقتراح هياكل نقاط النهاية، وإنشاء حالات اختبار، والتحقق من صحة استجابات SOAP أو REST. مع ذلك، ينبغي على المطورين مراجعة المخرجات لضمان التوافق.tracتأكد من صحة قواعد الأمان قبل النشر.

بروتوكول SOAP هو بروتوكول مراسلة صارم قائم على لغة XML، ويتضمن معايير مدمجة للأمان والمعاملات. أما REST فهو نمط معماري يستخدم طرق HTTP بسيطة، وغالبًا ما يستخدم JSON. يناسب SOAP أنظمة المؤسسات الرسمية، بينما يُعد REST أخف وزنًا وأكثر شيوعًا لواجهات برمجة تطبيقات الويب.

WSDL (خدمات الويب Descriptملف WSDL (لغة ion) هو ملف XML يصف وظيفة خدمة الويب، وموقعها، وكيفية استدعائها. تقرأ تطبيقات العميل ملف WSDL لفهم العمليات المتاحة وتنسيقات الرسائل.

تلخيص هذه التدوينة بـ: