ما هي خدمة الويب؟ خدمات ويب XML. نظرة عامة على التكنولوجيا

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

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

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

  • SOAP (بروتوكول الوصول إلى كائن بسيط)
  • UDDI (الوصف العالمي والاكتشاف والتكامل)
  • WSDL (لغة وصف خدمات الويب)

كم عدد أنواع خدمات الويب المختلفة الموجودة؟

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

  • تقبل خدمة الويب SOAP طلب XML وتقوم بإنشاء مخرجات XML.
  • تعد خدمة الويب REST أكثر عمومية ويمكنها قبول XML وكذلك JSON حسب الطلب وتولد الإخراج إلى XML وكذلك JSON أو حتى HTML

يمكن دراسة هذه المسألة بمزيد من التفصيل عن قضيتنا.

لنتصل الخدماتمورد يقوم بتنفيذ وظيفة أعمال بالخصائص التالية:

    قابل لإعادة الاستخدام

    محددة بواحدة أو أكثر من الواجهات الواضحة المستقلة عن التكنولوجيا ؛

    ضعيف الارتباط بموارد أخرى مماثلة ويمكن استدعاؤها من خلال بروتوكولات الاتصال التي توفر القدرة على التفاعل بين الموارد مع بعضها البعض.

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

1.1 أساسيات خدمات الويب

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

تعتمد خدمات الويب على التقنيات العامة التالية:

    TCP / IP- بروتوكول عالمي مفهومة من قبل جميع أجهزة الشبكة ، من الحاسبات المركزية إلى الهواتف المحمولة وأجهزة المساعد الرقمي الشخصي ؛

    لغة البرمجة- لغة ترميز عالمية تُستخدم لعرض المعلومات بواسطة أجهزة المستخدم ؛

    XML(لغة ​​الترميز الموسعة) هي لغة عالمية للعمل مع أي نوع من البيانات.

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

وبالتالي ، فإن خدمات الويب تحل المشكلة الأصلية - مشكلة دمج التطبيقات ذات الطبيعة المختلفة وبناء نظم المعلومات الموزعة... هذا هو الاختلاف الأساسي الرئيسي بين خدمات الويب وسابقاتها.

خدمات الويب - هذا هو تطبيقات XML ، ربط البيانات بالبرامج أو الكائنات أو قواعد البيانات أو بالعمليات التجارية ككل. بين خدمة الويب والبرنامج ، يتم تبادل مستندات XML في شكل رسائل. تحدد معايير خدمات الويب تنسيق هذه الرسائل ، والواجهة التي يتم تمرير الرسالة إليها ، وقواعد ربط محتوى الرسالة من وإلى التطبيق الذي ينفذ الخدمة ، وآليات نشر واسترجاع الواجهات.

XML(إنجليزيهX شد م أركوب إل عذاب- قابل للتوسيع لغة توصيف النص؛ نطق [ ikc-em-ale]). موصى به اتحاد شبكة ويب العالمية(W3C). تصف مواصفات XML مستندات XML وتصف جزئيًا سلوك معالجات XML (البرامج التي تقرأ مستندات XML وتوفر الوصول إلى محتوياتها). تم تصميم XML كلغة ذات طابع رسمي بسيط بناء الجملةمريحة لل خلقوبرامج معالجة المستندات وفي نفس الوقت سهلة القراءة وإنشاء المستندات من قبل البشر ، مع التركيز على استخدام الإنترنت. يُطلق على اللغة اسم Extensible لأنها لا تصلح الترميز المستخدم في المستندات: يتمتع المطور بحرية إنشاء الترميز وفقًا لاحتياجات منطقة معينة ، ويكون مقيدًا فقط بالقواعد النحوية للغة. مزيج من بناء الجملة الرسمي البسيط ، وقابلية الاستخدام البشري ، وقابلية التوسع ، والتشفير القائم يونيكودأدى تمثيل محتوى المستندات إلى انتشار استخدام كل من XML نفسه والعديد من اللغات المتخصصة المشتقة القائمة على XML في مجموعة متنوعة من أدوات البرمجيات.

تطبيقات XML القياسية

يمكن استخدام XML لأكثر من مجرد وصف مستند فردي. يمكن لمستخدم فردي أو شركة أو لجنة معايير تحديد المجموعة المطلوبة من عناصر XML وهيكل المستندات لتطبيقها على فئة معينة من المستندات. يتم استدعاء مجموعة مماثلة من العناصر ووصف لهيكل الوثيقة تطبيق XMLأو قاموس XML... على سبيل المثال ، يمكن للمؤسسة تحديد تطبيق XML لإنشاء المستندات التي تصف الهياكل الجزيئية أو العروض التقديمية متعددة الوسائط أو تحتوي على رسومات متجهة.

خدمات الويبيمكن استخدامها في العديد من التطبيقات. سواء تم تشغيل خدمات الويب من أجهزة كمبيوتر سطح المكتب أو أجهزة الكمبيوتر المحمولة الخاصة بالعميل ، يمكن استخدامها للوصول إلى تطبيقات الإنترنت مثل إعادة الطلب أو تتبع الطلبات.

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

كما يظهر في الشكل. 1 ، خدمات الويب عبارة عن غلاف يوفر طريقة قياسية للتفاعل مع بيئات برمجة التطبيقات مثل نظم إدارة قواعد البيانات (DBMS) ، .NET ، J2EE (Java2 Platform ، Enterprise Edition) ، CORBA (بنية وسيط طلب كائن مشترك) ،وسطاء تخطيط موارد المؤسسات ( تخطيط موارد المؤسسات (ERP)،وسطاء الاندماج ، إلخ.

رسم بياني 1. تتفاعل خدمات الويب مع أنظمة التطبيقات

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

مثال بسيط: البحث عن المعلومات

حاليًا ، يتم استدعاء معظم الخدمات عبر الإنترنت عن طريق إدخال البيانات في نماذج HTMLوإرسال هذه البيانات إلى الخدمة عن طريق إضافتها إلى سلسلة Uniform Resource Locator ( محدد موقع المعلومات ، URL):

http://www.google.com/search؟q=Skate+boots&btnG=Google+Search

يوضح هذا المثال بساطة تفاعلات الويب (مثل البحث أو شراء الأسهم أو الاستعلام عن مسار) حيث يتم تضمين المعلمات والكلمات الرئيسية مباشرةً في عنوان URL. في هذه الحالة ، يتم تقديم استعلام بحث بسيط عن أحذية التزلج في سلسلة الاستعلام لمحرك بحث Google. تمثل الكلمة الرئيسية للبحث الخدمة التي سيتم الوصول إليها ، ومعلمة Skate + boots هي سلسلة البحث التي تم إدخالها في نموذج HTML على صفحة موقع Google على الويب. ستقوم خدمة بحث Google بتمرير هذا الطلب إلى محركات البحث المختلفة ، والتي ستعرض قائمة بعناوين URL للصفحات التي تتطابق مع معلمة البحث Skate + boot. تعتمد هذه الطريقة غير الفعالة للبحث في الويب بالكامل على مطابقة السلسلة النصية المحددة والمفهرسة صفحات HTML.

XMLهي أفضل طريقة لإرسال البيانات. يوفر XML مزايا كبيرة عند نقل البيانات عبر الإنترنت. الآن يمكن تمثيل الطلب السابق كـ مستند XML:

xmlns: s = "www.xmlbus.com/SearchService">

تزلج

أحذية

الحجم 7.5

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

يتم تقديم هذا المثال في شكل رسالة بروتوكول الوصول إلى الكائنات البسيط (SOAP) ، وهي نموذج قياسي لرسائل XML ، وهي إحدى التقنيات التي تكمن وراء خدمات الويب. في رسالة SOAP ، يتم تمثيل اسم الخدمة المطلوبة ومعلمات الإدخال كعناصر XML منفصلة. يوضح هذا المثال أيضًا استخدام مساحة اسم XML (xmlns :) ، وهي عنصر مهم آخر في خدمات الويب. نظرًا لأن مستندات XML تدعم أنواعًا متعددة من البيانات والهياكل المعقدة وتجميع المخططات ، فإن تقنيات خدمات الويب الحديثة توفر ميزة كبيرة على الإمكانات الحالية للوصول إلى تطبيقات البرامج عبر HTML وعناوين URL.

الاستخدام العملي لخدمات الويب في IBM Lotus Domino 7

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

سلسلة المحتوى:

هذا المحتوى هو الجزء الأول من سلسلة # من المقالات: الاستخدام العملي لخدمات الويب في IBM Lotus Domino 7

https: //www..jsp؟ series_title_by = عملي + استخدام + خدمات الويب + في + ibm + lotus + domino + 7

ترقبوا المزيد من المقالات في هذه السلسلة.

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

لحسن الحظ ، يمكن شرح خدمات الويب بطريقة يفهمها الجميع دون الخوض في تفاصيل كيفية عملها. يجب أن تحاول فهم ماهية خدمات الويب ، حيث إن تطبيقاتها (وما يتصل بها من خدمات الهندسة الموجهة ، SOA) في عالم تكنولوجيا المعلومات تتوسع باستمرار.

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

أصبح الآن من الأسهل بكثير العمل مع خدمات الويب دون لمس تقنيات المستوى المنخفض المخفية ، حيث قام بائعي البرامج ومجتمع المصادر المفتوحة بالكثير خلال السنوات القليلة الماضية لفصل واجهة خدمات الويب عن المهام منخفضة المستوى. يتيح لك هذا العمل ببساطة عن طريق ربط المكونات ، دون الخوض في الوثائق المطولة الخاصة بتنسيق رسائل XML.

ستساعد هذه السلسلة من المقالات مطوري Domino على فهم واستخدام خدمات الويب في IBM Lotus Domino V7.0. تحتوي هذه المقالة التمهيدية على معلومات مفيدة كافية لأي شخص يريد أن يفهم ما هي خدمات الويب. تسهل التقنيات الموجودة في Lotus Domino V7.0 على المطورين إنشاء خدمات الويب واستخدامها ، وسوف ندخل في مزيد من التفاصيل حول هذا الأمر لاحقًا.

أولاً ، دعنا نفهم ما هي خدمة الويب.

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

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

التواصل بين ثلاث آلات أو أكثر

على الرغم من أن الأمثلة توضح المعاملات داخل جهاز واحد أو جهازين ، يمكن أيضًا استخدام خدمات الويب للتواصل بين أجهزة كمبيوتر متعددة. على سبيل المثال ، يمكن إجراء إعادة توجيه المعاملات أو تخزينها بواسطة جهاز وسيط ، أو يمكن أن تؤدي المكالمة إلى خدمة ويب على خادم واحد إلى إنشاء مكالمة لخدمة على خادم آخر.

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

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

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

يتضمن هيكل الاتصال باستخدام خدمات الويب العديد من العناصر التي سنتطرق إليها في هذه المقالة. ومع ذلك ، تظل الفكرة هي نفسها مثل الحوار العادي - تتواصل البرامج باستخدام لغة مألوفة لها ، وأحيانًا عبر شبكة. يمكن أن توجد البرامج إما على جهاز كمبيوتر واحد أو أن تكون موجودة على أجهزة مختلفة في أجزاء مختلفة من العالم ، ومتصلة عبر الإنترنت بواسطة أجهزة التوجيه والخوادم. الخبر السار هو أن البرامج وأجهزة الكمبيوتر لا يجب أن تكون هي نفسها. تتيح خدمات الويب الاتصال بين برنامجي Microsoft .NET على نفس الكمبيوتر المحمول أو برنامج Java على خادم iSeries كندي يقوم بتشغيل برنامج C ++ على كمبيوتر Linux من الصين.

يتم استخدام التقنيات القياسية التالية في الاتصال عبر خدمات الويب:

  • XML.اللغة (تنسيق البيانات) التي تستخدمها مكونات خدمات الويب.
  • بروتوكول SOAP.رسائل XML المتبادلة بين البرامج
  • مكتبة وصف خدمات الويب (WSDL).ملف XML يحدد تنسيق رسائل SOAP وكيفية إرسالها

يمكن أيضًا استخدام تقنية قياسية تُعرف باسم الوصف الشامل والاكتشاف والتكامل (UDDI) للتواصل بين خدمات الويب. سنغطي هذا لاحقًا في هذه المقالة ، ولكن نظرًا لأن UDDI غير مطلوب ، فإن العديد من خدمات الويب لا تستخدمها.

بعض المصطلحات: النشر واستخدام خدمات الويب

قبل أن نبدأ في توضيح شروطنا ، دعنا نلقي نظرة على بعض مصطلحات خدمات الويب.

عندما نتحدث عن نشر خدمة ويب ، فإننا نعني برنامجًا ينشر ملف WSDL ويسمح للبرامج الأخرى باستخدام الخدمة. تسمى البرامج التي تنشر خدمات الويب بالموفرين.

عندما نتحدث عن استخدام خدمة ويب ، فإننا نعني برنامجًا يقوم بالاتصال بخدمة ويب على جهاز آخر. يُطلق على مستخدمي خدمات الويب اسم العملاء.

XML: اللغة الأم

يستخدم XML للتواصل بين مكونات خدمات الويب. الرسائل المرسلة بين التطبيقات ، وكذلك الملفات التي تحدد خدمة الويب ، تكون بتنسيق XML. يوضح الشكل 1 بنية ملف XML بسيط.

الشكل 1. هيكل XML الأساسي

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

هناك العديد من الفوائد لكتابة خدمات الويب بتنسيق XML ، بما في ذلك:

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

    بالإضافة إلى ذلك ، تسمح مساحات الأسماء بالعديد من العناصر التي لها نفس الاسم بأن يكون لها تعريفات مختلفة حسب الحاجة. على سبيل المثال ، قد يشتمل عنصر StockPrice في مساحة اسم واحدة على رمز المؤشر والسعر ، بينما في مساحة اسم أخرى قد يتكون من رمز المؤشر والسعر وانخفاض وأدنى ارتفاع يومي وأعلى سعر خلال 12 شهرًا.

العيوب الوحيدة في XML ، إذا كانت بالفعل عيوب ، هي:

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

لكن هذه المشاكل ليست ذات صلة مقارنة بمزايا تنسيق XML.

SOAP: الرسائل الصادرة

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

يُعرف البيان الذي يصف قواعد تنسيق رسائل XML لخدمات الويب باسم SOAP. يحدد هيكل الرسائل بحيث تعرف البرامج كيفية إرسال البيانات وتفسيرها. يظهر الهيكل الأساسي لرسالة SOAP في الشكل 2.

الشكل 2. الهيكل الأساسي لرسالة SOAP

سيبدو في XML كما يلي:

FOO

في الحالة الأساسية ، لديك حزمة SOAP تتضمن جسم SOAP وجسمًا يحتوي على البيانات المراد نقلها. في بعض الأحيان يوجد أيضًا رأس SOAP اختياري (داخل الحزمة ، قبل الجسم) يحتوي على معلومات إضافية.

تعليمات SOAP

على الرغم من أن تنسيق SOAP قياسي وله نفس التعليمات ، يجب أن نتذكر أن البائعين المختلفين قد ينفذون هذه التعليمات بشكل مختلف قليلاً. على سبيل المثال ، يمكن أن تكون بنية مساحات الأسماء و XML في رسالة SOAP التي تم إنشاؤها بواسطة Apache Axis مختلفة تمامًا عن البنية التي تم إنشاؤها بواسطة Microsoft .NET. ومع ذلك ، يمكن للعميل أو الخادم المكتوب جيدًا التعامل مع أي رسالة SOAP مكتوبة جيدًا.

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

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

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

البروتوكولات: كيف يتم إرسال الرسائل

لم نتطرق بعد إلى السؤال ، كيف يتم نقل كل هذه الرسائل عبر SOAP؟

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

بشكل نموذجي ، يعرّف ملف WSDL البروتوكول المستخدم لإرسال رسالة SOAP على أنها HTTP. يرسل عميل SOAP الرسائل وفقًا للبروتوكول المحدد.

شروط خدمات الويب الأخرى التي قد تصادفها

لقد توصلنا بالفعل إلى المصطلحات الأساسية ، ولكن قد تسمع المزيد عند الحديث عن خدمات الويب.

روابط ضعيفة

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

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

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

UDDI

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

في حين أن UDDI هو معيار مهم جدًا لتعريف خدمات الويب ، إلا أن أهميته تتضاءل إلى حد كبير من خلال حقيقة أنه عنصر اختياري لخدمات الويب ، وعندما يتم منحه خيار استخدامه أم لا ، يختار الكثير عدم استخدامه.

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

ومع ذلك ، هذا المكون غير مطلوب في بنية خدمات الويب.

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

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

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

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

بالإضافة إلى ذلك ، قد لا يتم استخدام HTTP دائمًا في المراسلة ، لذلك لا يمكنك ببساطة استخدام أمان خدمات الويب بالإضافة إلى أمان HTTP الحالي.

هناك العديد من الإرشادات التي تغطي هذه الجوانب وغيرها من جوانب أمان خدمات الويب: WS-Security و WS-Policy و WS-Trust و WS-Privacy. يعمل العديد من بائعي البرامج واللجان على هذه القضايا لعدة سنوات. على الرغم من أن تطبيقات خدمات الويب لا تدعم جميع إرشادات الأمان ، إلا أن معايير الأمان الحالية تطبق عادةً على الأقل عددًا قليلاً من مسارات الأمان الأساسية.

Middleware و Enterprise Service Bus

هناك مجموعة أخرى كبيرة إلى حد ما من معايير خدمات الويب ، مجمعة معًا في جزء كبير إلى حد ما ، والتي تسمى عادةً تعليمات WS- *. يغطيان معًا العديد من مشكلات التصميم التي تظهر عندما تقوم بتجميع العديد من خدمات الويب في بيئة واحدة. تتعامل معايير WS- * مع قضايا مثل:

  • حماية
  • مصداقية
  • تبادل الرسائل
  • المعاملات
  • جودة الخدمة

هناك حاجة إلى هذه المعايير العديدة لأن المراسلة بين عميل خدمة ويب وخادم في بيئة إنتاج يمكن أن تكون أكثر تعقيدًا من مجرد طلب / استجابة. على سبيل المثال ، كيف يمكنك التأكد من وصول الرسالة إلى البائع وإعادتها إلى العميل؟ ماذا لو كان طلب SOAP يتكون من عدة أجزاء؟ كيف تدير العمليات التي تتضمن خدمات الويب التي تصل إلى خدمات الويب الأخرى؟ ماذا لو أرسل البرنامج سلسلة من الطلبات مع أوقات الاستجابة؟

بالنسبة لبائعي البرامج الكبار ، يمثل العمل بهذه المعايير تحديات وفرصًا. قام العديد من البائعين بتسويق حزم البرامج الوسيطة لخدمات الويب بالكامل ، والتي تسمى غالبًا Enterprise Service Bus أو ESB ، والتي تتعامل مع جميع المهام المذكورة أعلاه أو بعضها على الأقل في وقت واحد. تعتبر ESBs هذه قيمة أيضًا لأنها يمكن أن تجمع خدمات ويب متعددة معًا داخل نفس المؤسسة وتوفر وظائفها وتسجيل إجراءاتها وتخزين الرسائل في قوائم الانتظار.

الخدمات الهندسية الموجهة

أخيرًا ، العمارة الموجهة نحو الخدمة. في معظم الحالات ، يكون هذا مجرد مزيج من كل ما سبق: خدمات الويب غير المترابطة من بائعين مختلفين ، والتشغيل البيني وفقًا للمعايير المقبولة (ربما بمشاركة ESBs) ويتم تجميعها معًا بواسطة برامج مختلفة تأخذ البيانات من الخدمات واستخدامها بطرق مختلفة.

نظرًا لأن SOA هي بنية برمجية ، فهناك قدر هائل من التنسيق والتخطيط المتضمن في بنائها. إنها ليست مجرد مجموعة من الخدمات مختلطة معًا ؛ إنه تنظيم كيفية تجميع الخدمات ونشرها ، وما هي أدوات الإدارة والبرمجيات الوسيطة المستخدمة ، وكيفية مراقبة الخدمات والنظام العام وإدارتها.

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

لماذا هو مهم؟

الآن ، أنت تعرف بالفعل شيئًا عن كيفية عمل خدمات الويب - يقرأ العميل ملف WSDL الخاص بالموفر وتنسيقاته ويرسل رسالة SOAP وفقًا لذلك ، ويتلقى رسالة SOAP أخرى ردًا على ذلك. فلماذا هو مهم جدا؟ ماذا جرى؟

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

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

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

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

على سبيل المثال ، بدلاً من برنامج كبير يجمع معلومات حول العديد من العمليات ، ويحولها إلى رسوم بيانية ويظهرها للمستخدمين ، يمكننا إنشاء لوحة تحكم تعرض البيانات الواردة من العديد من خدمات الويب. يتم استلام البيانات المجمعة من خدمة واحدة أو أكثر ، ويتم إنشاء الرسومات الناتجة بواسطة خدمة ويب أخرى تتلقى البيانات وتخرج نوعًا من الرسم البياني.

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

بصفتك متخصصًا في تكنولوجيا المعلومات ، يمكنك القيام بكل من تطوير الواجهة والخدمات ، أو كليهما. إن فهم كيفية عمل كل شيء معًا (أو على الأقل معرفة ما هو) أمر مهم للعمل في مشروع مثل هذا.

من الجيد أيضًا وجود العديد من الأدوات التي يمكن أن تساعدك على تقديم خدمات الويب واستخدامها ويمكنها القيام بالكثير من العمل الشاق نيابة عنك. في أجزاء لاحقة من هذه المقالة ، سنرى كيف يمكنك بسهولة تقديم خدمات الويب للعملاء أو الأنظمة باستخدام IBM Lotus Domino V7.0.

من اين نبدأ؟ ومباشرة من جهة الاتصال ، منفذ العميل: يرن الهاتف في استوديو الإنترنت. مدير الحساب يلتقط الهاتف ويحيي. من الجانب الآخر يبدو الأمر مثل:

- يوم جيد. أحتاج إلى موقع ويب بسيط. ماهو السعر؟ (نفس القصة مع تطبيقات الويب).


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

- حسنًا ، لدي عمل لبيع النوافذ. سيكون من الجيد إنشاء موقع على شبكة الإنترنت بحيث يمكنك أن تجعل من نفسك نافذة "افتراضية" هناك. اختر اللون والمواد والأحجام. حدد الكمية. انظر كيف سيبدو. حسنًا ، سيذهب المتخصصون لدينا إلى المكان. صفقة؟


هذا بالفعل مثير للاهتمام. ولكن هذا ليس كل شيء:

- ونعم ، لدي أمنية أخرى. لدينا تقسيم فرعي في موسكو وسانت بطرسبرغ ونوفوسيبيرسك. فريق العمل كبير ، سير العمل ، كما تعلم. يمكنك فعل شيء مثل ... شبكة اجتماعية صغيرة داخل الموقع ، أم ماذا؟ سيكون التواصل أكثر ملاءمة لنا ، دون أي "طلبات". ولتخزين المستندات في "سحابة" واحدة - سمعت أنهم يفعلون ذلك.


يسجل مدير الحساب كل شيء ، ويقوم بعمل تقدير تقريبي ، ويسمي التكلفة. يدور العميل المحتمل عينيه (يمكنك سماعه حتى على الهاتف) ، ويقول "أسعارك مجرد مساحة" ويتم تعليقها بأدب.

بالطبع ، هذا موقف هائل ، لكن هذا يحدث طوال الوقت عند برمجة تطبيقات الإنترنت وعند إنشاء مواقع الويب. هدفنا معك هو معرفة سبب حدوث ذلك.

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

يعد تطوير خدمات الويب ، إلى حد كبير ، نفس تطوير الموقع. ولكن مع "BUT" واحد كبير: على عكس المواقع الترويجية المألوفة بالفعل وأفراد الشركات ، تتمتع الخدمة عبر الإنترنت بوظيفة فريدة. يمكن أن يكون هذا منشئ منتج (كما في المثال أعلاه) ، واستضافة صور ، وشبكة اجتماعية مغلقة لاستخدام الشركات ، وشبكة اجتماعية مفتوحة (danedayboh) ، ولوحة رسائل ...

بشكل أساسي ، يقرر أولئك الذين يهتمون بالابتكار والراحة وتقنيات الويب الحديثة إنشاء خدمة ويب. في هذه الحالة ، تعمل الوظيفة الفريدة بمثابة "بطاقة رابحة" للأعمال التجارية ، ومن المفترض أن تساعد هذه الوظيفة في خنق المنافسين وزيادة قاعدة العملاء.

وكل هذا يعني أن:

  • سوف يستغرق الأمر بعض الوقت لمعرفة كل إمكانيات المشروع المستقبلي. عادة الكثير من الوقت.
  • ستكون هناك حاجة إلى مهمة فنية مفصلة. الأفضل من ذلك ، نموذج أولي.
  • ستحتاج خدمة الويب نفسها إلى التطوير (غير متوقع ، أليس كذلك؟). افعل ذلك من الصفر أو باستخدام التطورات الحالية. لكن على أي حال ، لن يكون من الممكن "تجميعها" على الركبة ، خارج الصندوق ، وفقًا للقالب و "بطريقة سريعة".
  • سيحتاج المنتج إلى اختبار شامل قبل إطلاقه.

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

على سبيل المثال لدينا:عندما ذكر العميل شبكة اجتماعية داخلية ، وتخزين سحابي للبيانات ، ومنشئ نوافذ ، أصبح من الممكن تسميتها خدمة ويب. لذلك ، تم استدعاء التكلفة "غير متوقع" للعميل.

أسعار "الفضاء" في تطوير خدمات الإنترنت مقياس مبرر. هذه مهمة موضوعية صعبة وتستغرق وقتا طويلا.

وما إذا كانت الشركة تحتاج إلى مثل هذه الخدمة فهي مهمة للمسوقين لديك.


موضوع خاص ومحبوب هو الشبكات الاجتماعية

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

نتيجة لذلك ، نتلقى الكثير من الرسائل في البريد وفي المجتمع مع النص "بيع / طور لنا تطبيق أعمال / لعبة / شيء آخر". شيء من هذا القبيل:

نعم ، 5000 روبل لعدة أسابيع من العمل - تقريبًا. نحن نتحدث الآن فقط عن النسخ الجيدة ، وليس تلك التي تكتسب جمهورًا من 200 مستخدم وتذبل.

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

لا تخطئ. احسب قوتك. إطلاق مشاريع الإنترنت الناجحة. آمين.

تم تطوير فكرة خدمات الويب من قبل عمالقة صناعة الكمبيوتر مثل Sun و Oracle و HP و Microsoft و IBM. هذه الفكرة ليست جديدة ، لكنها خطوة كبيرة للأمام نحو سهولة الوصول إلى البرامج عبر الشبكة. استنادًا إلى تنسيقات الاتصال القياسية ، يمكن لخدمات الويب بشكل عام تغيير الطريقة التي نفكر بها في كيفية إنشاء مواقع الويب.

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

بفضل خدمات الويب ، يمكن إتاحة وظائف أي برنامج عبر الإنترنت. وبالتالي ، يمكن لبرامج مثل PHP و ASP و JSP scripts و JavaBeans وكائنات COM وجميع أدوات البرمجة المفضلة الأخرى لدينا الآن الوصول إلى بعض البرامج التي تعمل على خادم آخر (أي خدمة ويب) واستخدام الاستجابة الواردة منها على موقعها على الويب أو تطبيق.

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

يتمتع أي شخص عمل مع Hotmail مؤخرًا ببعض الخبرة في خدمات الويب: تعد مصادقة مستخدم Passport إحدى الخدمات التي تعد جزءًا من مبادرة Microsoft .NET. في حين أنه متاح مجانًا ، لذلك يمكن لمنشئي مواقع الويب تنفيذ مصادقة المستخدم بسهولة على مواقعهم.

أساسيات

المبادئ الكامنة وراء خدمات الويب بسيطة بشكل مدهش. ولا يضيفون أي شيء جديد إلى عالم الحوسبة الموزعة والإنترنت:

  • يحدد الشخص المسؤول عن خدمة الويب تنسيق الطلبات إلى خدمة الويب الخاصة به والردود عليها
  • يقوم أي جهاز كمبيوتر على الشبكة بتقديم طلب إلى خدمة الويب
  • تقوم خدمة الويب بمعالجة الطلب ، وتنفيذ بعض الإجراءات ، ثم إرسال استجابة

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

المعايير في القلب

السبب وراء اهتمامنا فجأة بخدمات الويب هو أنها تستند إلى معايير وبروتوكولات مفتوحة لتبادل البيانات ونقلها.

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

الفرق بين خدمات الويب والتقنيات الأخرى التي صادفها المطورون (على سبيل المثال ، DCOM ، الأنابيب المسماة ، RMI) هو أن خدمات الويب تستند إلى معايير مفتوحة ، ومن السهل إتقانها ، وهذه المعايير مدعومة على نطاق واسع من قبل جميع أنظمة Unix و منصات Windows.

بروتوكول الوصول إلى الكائنات البسيط (SOAP) هو بروتوكول قياسي تم تطويره بواسطة W3C. يحدد تنسيق الطلبات إلى خدمات الويب.

يتم تجميع الرسائل بين خدمة الويب والمستخدم في مغلفات SOAP. تحتوي الرسائل إما على طلب لتنفيذ إجراء ، أو أن الاستجابة هي نتيجة هذا الإجراء. المغلف ومحتوياته مشفرة بتنسيق XML وسهلة الفهم. هذا ما يبدو عليه طلب SOAP البسيط الذي يتم إرساله عبر HTPP إلى خدمة ويب:

Xmlns: env = "http://www.w3.org/2001/06/soap-envelope">


xmlns: m = "http://www.somesite.com/Postcode">
WC1A8GH
المملكة المتحدة

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

وستبدو الإجابة كما يلي:

Xmlns: env = "http://www.w3.org/2001/06/soap-envelope">

Env: encodingStyle = "http://www.w3.org/2001/06/soap-encoding"
xmlns: m = "http://www.somesite.com/Postcode">
نعم

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

الآن حول UDDI

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

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

كيف يعمل كل شيء

إذن كيف أجد خدمة الويب التي أريدها؟

دعنا نتخيل أنني مطور موقع وطلب مني عميلي إضافة ميزة جديدة إلى الموقع: إضافة التحقق من الرمز البريدي في نموذج التسجيل.

لإجراء هذا الفحص ، سأحتاج إلى إنشاء قاعدة بيانات لجميع الرموز البريدية لجميع البلدان الثلاثين التي تعمل فيها شركتنا ، ثم التحقق من مراسلات الرمز البريدي إلى المدينة المشار إليها في التسجيل أثناء التسجيل. لكن ليس لدي هذه البيانات ، وأعتقد أن جمع مثل هذه البيانات يجب أن ينفق مبلغًا كبيرًا من المال.

بدلاً من الدفع لشراء قاعدة بيانات ، وكتابة الكود بنفسي ، ومراقبة سلامة وصحة جميع البيانات وتصحيح البرامج النصية ، أذهب فقط إلى دليل UDDI وأبحث عن خدمة ويب يمكنها القيام بالمهمة نيابة عني. .. . عندما أقوم بزيارة www.uddi.org ، أجري بحثًا وأعثر على خدمة رائعة من شركة XYZ Corp.

أنا أفكر جيدًا في تعريف تنسيق خدمة الويب (التعريف مكتوب بلغة WSDL (لغة وصف خدمات الويب) ، أتأكد من أن الخدمة تفعل ما أحتاجه بالضبط. ثم سألت زملائي عن سمعة شركة XYZ Corp. ، اكتشفت أنها قوية ثم اتصلت بـ XYZ لطرح سؤال عن السعر ، إذا كان سعر الوصول إلى الخدمة في متناول ميزانيتي ، فأنا أكتب صفحة JSP بسيطة لموقعي تستدعي خدمة الويب XYZ Corp ، وعفوًا ، يحصل الموقع على رمز بريدي تحقق فوري.

إنه يستحق وقتك

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

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

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

تطوير الخدمة

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

يعد اختيار أدوات تطوير خدمات الويب واسع النطاق. ويتضمن أدوات من شركات مثل Sun (Open Net) و Microsoft (.NET) و HP (الخدمات الإلكترونية) و IBM (خدمات الويب). هناك أيضًا أطر عمل مفتوحة المصدر. على سبيل المثال ، يهدف مشروع Mono Project إلى استبدال مجموعة أدوات Microsoft .NET من خلال توفير برامج التحويل البرمجي ووقت التشغيل والمكتبات لتشغيل نفس خدمات الويب على جميع الأنظمة الأساسية ، بما في ذلك Unix.

على الرغم من تنوع الخوادم وأدوات تطوير خدمات الويب ، فإنهم جميعًا يدعمون نفس بروتوكول SOAP ولغة XML ونظام UDDI.

سلبيات

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

  • يؤدي استخدام XML كتنسيق لنقل البيانات إلى حقيقة أن رسائلك ستكون كبيرة جدًا في الحجم: فعلامات XML نفسها تشغل مساحة كبيرة ، وهذا يفرض علينا عبئًا معينًا في إنشاء الرسائل ونقلها وتفسيرها.
  • نظرًا لأننا نستخدم أجهزة الكمبيوتر البعيدة لأداء وظائف معينة ، فإننا نعتمد كليًا على الإنترنت ، مما يؤدي إلى إنشاء عدد كبير جدًا من الروابط غير الموثوقة في السلسلة بين خادم الويب الخاص بنا وخدمة الويب.
  • تقوم شركات قليلة الآن بإنشاء خدمات الويب ، وقليل من الشركات يستخدمها. لا يزال الأمر يستغرق وقتًا طويلاً لتصحيح أخطاء نظام خدمات الويب وتحسينه.
  • لم يتم اعتماد نظام الترخيص والرسوم لاستخدام خدمات الويب من قبل المطورين بعد. نظرًا لحقيقة أنه لا يزال هناك عدد قليل جدًا من خدمات الويب ، تحاول معظم الشركات ترك انطباع جيد لدى عملائها المحتملين من خلال خفض تكلفة الخدمات عمدًا وتقديم شروط ترخيص مواتية. سيستغرق الأمر بعض الوقت قبل تحديد التكلفة الحقيقية لخدمات الويب.

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

ترجمة: الكسندر كاتشانوف (http://webmascon.com)