برمجة WCF: إنشاء تطبيقات Windows المستندة إلى الخدمة

إفشاء: يساعدك دعمك في الحفاظ على تشغيل الموقع! نحصل على رسوم إحالة لبعض الخدمات التي نوصي بها في هذه الصفحة.


تعد Windows Communication Foundation (WCF) بيئة وقت تشغيل ومجموعة من واجهات برمجة التطبيقات في .NET Framework مستخدمة في إنشاء تطبيقات متصلة موجهة نحو الخدمة. WCF هو نموذج برمجة موحدة من Microsoft لبناء تطبيقات موجهة نحو الخدمة.

نبذة تاريخية

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

تم تقديم WCF لأول مرة كجزء من .NET Framework 3.0 في عام 2006 ، وتم تحديثه بشكل أكبر في الإصدارين 3.5 و 4.0 من .NET Framework. يتوفر أحدث إصدار من WCF كجزء من الإصدار 4.5 من .NET Framework.

يتم استخدام Windows Communication Foundation في الكثير من البرامج القائمة على .NET Framework.

ميزات WCF

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

تطبق WCF معايير الصناعة الحديثة لقابلية التشغيل البيني لخدمات الويب ، مثل HTTP و SOAP و XML و WS-Addressing و W3C Web Services Addressing وغيرها الكثير. يمكن تبادل الرسائل (أو يجب أن نقول البيانات) بعدة أنماط مختلفة.

نمط الاتصال الأكثر شيوعًا هو الرد على الطلب ، لكن WCF يدعم الأنماط الأخرى أيضًا ، مثل الرسائل أحادية الاتجاه أو نمط التبادل المزدوج. يمكن تشفير الرسائل لحماية البيانات ، ويمكن فرض مصادقة المستخدم. يتم تطبيق الأمان باستخدام حلول الصناعة القياسية مثل SSL أو WS-SecureConversation. يمكن نقل الرسائل باستخدام بروتوكولات وترميزات مختلفة ، غالبًا مثل رسائل SOAP المشفرة بالنص عبر HTTP. يدعم WCF أيضًا إرسال الرسائل عبر TCP أو MSMQ أو الأنابيب المسماة ، مشفرة كنص أو باستخدام ثنائي محسن باستخدام معيار MTOM. يمكن أيضًا إنشاء بروتوكولات النقل والترميزات المخصصة.

يدعم WCF تبادل الرسائل الموثوق به باستخدام الجلسات التي يتم تنفيذها عبر WS-ReliableMessaging والرسائل المنتظرة باستخدام MSMQ. تم تضمين دعم المراسلة الدائمة أيضًا في WCF ، مما يمنع فقدان البيانات الناتج عن مشاكل الاتصال.

يتوفر دعم مكثف للمعاملات في WCF ، باستخدام أحد نماذج المعاملات الثلاثة: WS-AtomicTransactions أو واجهات برمجة التطبيقات من مساحة الاسم System.Transaction أو منسق المعاملات الموزعة لـ Microsoft.

WCF هو نظام أساسي مرن للغاية ، مما يسمح بسهولة التوسعة والتكامل مع تقنيات Microsoft الأخرى ، على سبيل المثال مؤسسة Windows Workflow Foundation (WF) و Microsoft BizTalk و Silverlight.

باستخدام WCF

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

يتطلب إنشاء خدمة WCF وعميل في Visual Studio IDE ست خطوات:

  1. تحديد عقد خدمة WCF يحدد العمليات التي تدعمها الخدمة. يتم إنشاء العقود من خلال تحديد واجهة C ++ أو C # أو Visual Basic ، ويجب أن تتوافق كل طريقة في الواجهة مع عملية خدمة معينة. يجب أن يتم تطبيق ServiceContractAttribute على كل واجهة ، ويجب أن يتم تطبيق OperationContractAttribute على كل عملية ، وإلا فلن يتم كشفها.
  2. يتم تنفيذ عقد الخدمة عن طريق إنشاء فئة تطبق واجهة المستخدم المعرفة للخدمة.
  3. تتكون استضافة خدمة WCF وتشغيلها من المهام التالية: إنشاء مثيل URI للعنوان الأساسي للخدمة ، واستضافة الخدمة ، وإضافة نقطة نهاية تعرض الخدمة ، وتمكين تبادل البيانات الوصفية ، وفتح مضيف الخدمة.
  4. يتضمن إنشاء عميل إنشاء وكيل للخدمة وملف تكوين باستخدام أداة الأداة المساعدة لبيانات تعريف نموذج الخدمة لسطر الأوامر.
  5. يتكون تكوين العميل من تحديد نقطة النهاية التي يستخدمها العميل للوصول إلى الخدمة. تحتوي نقطة النهاية على عنوان وملزم وعقد ، ويجب تحديد كل منها في عملية تكوين العميل.
  6. يؤدي استخدام عميل فعليًا إلى استدعاء الخدمة من الوكيل الذي تم إنشاؤه وإغلاق العميل بمجرد اكتمال مكالمة العملية.

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

هل أتعلم واستخدم WCF?

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

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

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

موارد WCF

إذا كنت تعمل على تطوير تطبيقات خادم العميل لنظام Microsoft الأساسي ، فيجب أن تلقي نظرة على الموارد التالية على WCF:

  • توفر الصفحة الرئيسية لـ Microsoft Communication Network (MSDN) Windows Communication Foundation نظرة عامة كاملة على WCF – بما في ذلك الوثائق والموارد المرجعية والأدلة والبرامج التعليمية.
  • يصف WCF شبكة مطوري Microsoft (MSDN) في Visual Studio أدوات WCF المتوفرة في Visual Studio ويوفر إرشادات قصيرة.
  • تعد سيناريوهات نشر تطبيق WCF لشبكة مطوري Microsoft (MSDN) مقالة رائعة تعرض سيناريوهات استخدام WCF وحالات الاستخدام المختلفة.

كتب WCF

اخترنا اثنين من أكثر الكتب احترامًا حول WCF:

  • برمجة خدمات WCF: تصميم وبناء أنظمة موجهة نحو الخدمة يمكن صيانتها (2015) بقلم جوفال لوي ومايكل مونتغومري: يوفر هذا الكتاب رؤية فريدة من نوعها ، بدلاً من التوثيق ، لمساعدتك على تعلم الموضوعات والمهارات التي تحتاجها لبناء قابلة للصيانة وقابلة للتوسيع وقابلة لإعادة الاستخدام التطبيقات القائمة على WCF.
  • تطوير خدمات WCF متعددة الطبقات باستخدام Entity Framework (2014) بواسطة Mike Liu: إذا كنت مطورًا C # أو VB.NET أو C ++ وتريد البدء في WCF و Entity Framework ، فهذا الكتاب مناسب لك. سيعلمك هذا الكتاب جميع الأساسيات لتطوير خدمات WCF باستخدام Entity Framework كخلفية.

استنتاج

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

لقد أوجزنا بالفعل بعض الحالات التي يمكن فيها لـ WCF أن تحدث فرقًا كبيرًا من منظور تقني. على الرغم من أنها تقنية من Microsoft ، تدعم WCF إمكانية التشغيل التفاعلي مع معظم الأنظمة التي لا تعمل بنظام Windows ، طالما أنها تشغل Java.

مزيد من القراءة والموارد

لدينا المزيد من الأدلة والبرامج التعليمية والرسوم البيانية ذات الصلة بالتشفير والتطوير:

  • Microsoft Visual Basic / Visual Studio: هذا هو التمهيدي الأساسي لبرنامج Visual Studio مع التركيز على Visual Basic.
  • مقدمة عن ADO.NET: نظام .NET الرئيسي للتفاعل مع قواعد البيانات.
  • موارد C #: باعتبارها واحدة من أكثر اللغات شيوعًا في مادة NET. من المفيد جدًا معرفة C #.

ما هو الرمز الذي يجب أن تتعلمه?

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

ما هو الرمز الذي يجب أن تتعلمه؟
ما هو الرمز الذي يجب أن تتعلمه?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map