خدمة الوب
ساهم بشكل رئيسي في تحرير هذا الموضوع |
خدمة الوب Web Service يصف مصطلح خدمة الوب أوالتي يطلق عليها أحيانا خدمات التطبيقات Application Services، الطريقة المعيارية لمكاملة التطبيقات المبنية على الوب وذلك باستخدام لغة ال XML والتقنيات SOAP، WSDL بالإضافة لـ UDDI. تتميز خدمة الوب عن تطبيق الويب بشكل أساسي بطريقة طلب الخدمة، حيث يتم طلب الخدمة عبر قابلتها البرمجية (API) وليس الرسومية (GUI)، ويتم إعادة نتيجة الطلب على هيئة XML.
خصائص خدمة الوب
- تعتبر خدمات الويب مكونات لتطبيق وليس تطبيق بحد ذاتها.
- لا تملك خدمات الويب قابلات رسومية كما هوالحال مع تطبيقات الويب الاعتيادية، وإنما تقوم بمشاركة منطق عمل ومعطيات ومهمات عبر قابلات برمجية تتعامل مباشرة مع قابلات التطبيقات الأخرى وليس مع المستخدم.
- يقوم المطورون باضافة خدمة الويب لقابلة رسومية، سواءً على صفحة ويب أوعلى برنامج تطبيقي، لكي تكون قابلة للاستخدام من قبل المستخدمين النهائيين.
- خدمة الويب غير تابعة لأي نظام تشغيل أوأي لغة برمجة، إذ أنها تستخدم لغة ال XML في صياغة جميع عمليات التواصل بينها وبين التطبيقات المتنوعة.
- لا بحاجة خدمات الويب استخدام متصفحات الانترنت أولغة الـ HTML.
- تُستخدم خدمة الويب في عملية تحويل التطبيقات العادية لتصبح تطبيقات ويب.
- توجد خدمات الويب وتنشر وتستعمل على الويب.
نمطا استخدام خدمة الوب
إعادة استخدام مكونات معينة من التطبيق
يوجد عادة توابع أومكونات معينة من تطبيق معين تُستخدم كما هي في كثير من التطبيقات الأخرى، فلا يوجد داعي لاعادة برمجتها من حديث إذ يكفي حتى نأخذ هذه المكونات ونكاملها مع التطبيق المطلوب. تقدم خدمات الويب مكونات للتطبيقات مثل تحويل العملات، وتقارير الطقس، وخدمة الترجمة من لغة لأخرى.
الوصل بين التطبيقات الموجودة
تساعد خدمة الويب على حل معضلة التكامل الداخلي للتطبيقات حيث تشكل قاعدة أوصلة وصل تربط بين التطبيقات المتنوعة وكذلك بين بيئات العمل المتنوعة، فباستخدام خدمة الويب تستطيع حتى تتبادل المعطيات بغض النظر عن نوع التطبيق أوبيئة العمل.
مكونات بيئة عمل خدمة الويب
تعتمد خدمات الويب على عدة تقنيات تعمل بشكل متكامل لتتحقق من أمن خدمة الويب، وقابلية هذه الخدمة للادارة وقدرتها على التكيف، وللتأكد من حتى خدمة الويب قادرة على التكامل مع التطبيقات بغض النظر عن المصنّع. تملك خدمة الويب ثلاث مكونات رئيسية : SOAP, WSDL , UDDI تتبادل الرسائل فيما بينها بلغة الـ XML
- XML (EXtensible Markup Language)
- SOAP (Simple Object Access Protocol)
- UDDI (Universal Description, Discovery and Integration)
- WSDL (Web Services Description Language)
أساليب تصميم خدمات الوب
الكيفية التصاعدية bottom up method:يقوم المطور بكتابة خدمة الويب بإحدى لغات البرمجة، ثم يستخدم أداة لتوليد الـ WSDL حتى يحول التوابع التي خطها لتوابع قابلة للنشر عبر الويب، وهذه الطريقة هي الأسهل.
الكيفية التنازلية top down method: يقوم المطور هنا بكتابة وثيقة الـ WSDL وبعدها يقوم بتوليد الرماز بإحدى الأدوات المتاحة للحصول على هيكل الصفوف المستخدمة والتي يقوم المطور باكمالها لاحقا، أما هذه الطريقة هي الأصعب لكنها تولد تصميم أوضح لخدمة الويب.
أنماط استخدام خدمة الويب
تُستخدم خدمة الويب بطرق مختلفة، أشهرها هي الـ RPC , SOA, REST
خدمة وب من نمط RPC Remote Procedure Call
تمثل قابلة استنادىء للتوابع الموزعة والتي تعتبر مألوفة للكثير من المطورين. الوحدة الأساسية للتواصل مع خدمة الويب في نمط RPC هي عمليات الـ WSDL. ركزت خدمات الويب منذ البداية على هذا النمط من الاستخدام، لذلك يعتبر هذا النمط هوالأشهر والأوسع استخداماً.
خدمة وب من نمط SOA Service-Oriented Architecture
تستخدم خدمة الويب هنا كتحقيق لبنية معتمدة على مفاهيم الـ SOA، والوحدة الأساسية للتواصل هنا هي الرسالة Messgae، ويدعى هذا النمط بخدمات الـ Message-Oriented. يدعم هذا النمط من قبل عدد كبير من المنتجين والمحللين الصناعيين.
خدمة وب من نمط REST Representational State Transfarer
وهي محاولة توصيف للبنى التي تستخدم الـ HTTP أوأحد البروتوكولات المشابهة، وذلك بتحديد عمليات قابلة التخاطب بعناصر معيارية معروفة (مثل : GET, POST, PUT, DELETE, من الـ (HTTP. وفي هذا النمط يتم الهجريز على الموارد التي تملك حالة ، أكثر من الهجريز على العمليات أوالرسائل كما في النمطين السابقين. يمكن للبنية التي تعتمد REST(مثل RESTful) حتى توصف رسائل الـ SOAP المارة عبر الـ HTTP عن طريق الـ WSDL، التي تعهد العمليات، والتي يمكن حتى تحقَّق باستخدام الـ SOAP أوبعدم استخدامه. يدعم اصدار WSDL 2.0 جميع طلبات الـ HTTP، أما الاصدار WSDL 1.0 فلا يدعم إلا GET, POST.
أمثلة لأشهر مستخدمي خدمات الويب
- ربماقد يكون أفضل مثال عن نمواستخدام خدمات الويب هوeBay (ملك المزادات على الإنترنت) والذي طور بشكل كبير بيئة عمل خدمات الويب بإضافة APIs والتي غيرت مواقع الويب الخاصة بها إلى بيئات عمل.
ومع eBay API تقدر التواصل مع قاعدة معطيات الـ eBay بصيغة XML . وقد أمنت الـ eBay مايزيدعن 100 خدمة ويب، وهي متاحة للمطورين لكي يقوموا ببناء تطبيقات يمكنها الاتصال بهذه الخدمات، وهي تتضمن معلومات التسعير وميزات الشراء وخيارات الدفع من خلال شركات الـ PayPal التابعة لها.
- مثال اخر عن استخدام خدمات الويب Amazon.com.
انظر أيضاً
- List of web service frameworks
- List of web service protocols
- List of web service specifications
- Service system
- Service Oriented Architecture
- Amazon Web Services
- Enterprise Information Integration (EII)
- Business Intelligence 2.0 (BI 2.0)
- Devices Profile for Web Services
- Web Processing Service
- Web server
- Microsoft Connected Services Framework
- Service Implementation Bean
- Web Services Discovery
- OAuth
- SOAPjr
الهامش
روابط خارجية
- www.w3schools.com/webservices/default.asp
- W3C Web Services Activity home page
- Web Services Architecture (W3C Working Group Note)
- Messaging Design Pattern and transparent access to distributed components
- Secure, Reliable, Transacted Web Services (IBM/Microsoft white paper)
- The Performance Woe of Binary XML
- Where to find Web Services on the Web: Investigating Web Services on the World Wide Web (2008)
- SOA terminology overview