مقدمة لخدمات RESTful مع WCF - تطوير تطبيقات الهاتف المحمول، خدمات الويب، هندسة SOA - التكنولوجيا
تخطى الى المحتوى

مقدمة إلى خدمات RESTful مع WCF - تطوير تطبيقات الهاتف المحمول ، خدمات الويب ، بنية SOA

الاعلانات

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

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

WCF والراحة

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

في حين أنه من الصحيح أن الكثير من WCF موجه نحو RPC (باستخدام SOAP)، فقد أتيحت له بالفعل فرصة لعرض خدمات REST واستهلاكها منذ إصدارها لأول مرة كجزء من .NET Framework 3.0. مع مجموعة .NET Framework 3.5 System.ServiceModel.Web، تمت إضافة نموذج برمجة وأيضًا بعض أجزاء البنية الأساسية التي تم إنشاؤها للعمل مع نمط REST. ويضيف .NET Framework 3.5 SP1 بعض التحسينات الصغيرة لتسهيل استخدام REST..

يتمحور نموذج البرمجة حول سمتين جديدتين، WebGetAttribute وWebInvocAttribute، وآلية قالب URI التي تسمح لك بإعلان URI والفعل الذي ستستجيب له كل طريقة. يتم تضمين البنية الأساسية في شكل ربط (WebHttpBinding) وسلوك (WebHttpBehavior) يوفران حزمة الشبكة الصحيحة لاستخدام REST. بالإضافة إلى ذلك، هناك بعض المساعدة في البنية التحتية للاستضافة من ServiceHost مخصص (WebServiceHost) وServiceHostFactory (WebServiceHostFactory).