تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس السبعون - مقدمة إلى wcf
#1
كاتب الموضوع : أحمد جمال

بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .


واحدة من التقنيات الجديدة التي واكبت ظهور .NET 3.0 كانت تقنية Windows Communication Foundation والتي يرمز لها اختصاراً WCF ، وهي مجموعة من الدوال API's التي تختص بعالم الاتصال وال web services وال remote access وخلافه .

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

هناك الكثير من التقنيات التي ظهرت لدعمك كمبرمج في تطوير برامج من هذه النوعية ، حيث وفرت لك مجموعة من الحلول لتسهيل التعامل مع ال API's الخاصة بعمليات الشبكات وخلافه ، مثل DCOM ، MSMQ ، ومع ظهور تقنية .net تم تقديم الفئة System.Runtime.Remoting الخاصة بمثل هذه العمليات ، هناك ايضاً تقنية XML Web Services ، تمكنك هذه التقنيات من تسهيل عمليات عمل نظم موزعة بصورة كبيرة جداً ، وإن كنت لا ترغب في العمل في هذا المستوى العام فيمكنك التخصيص زيادة والعثور على خيارات اكبر واوسع مقابل زيادة بسيطة في نسبة التعقيد عن طريق استخدام Named Pipes, Sockets, and P2P وهي الاشهر فعلياً بين مستخدمين ال .net على الأقل في وطننا العربي نظراً لعدم شهرة التقنيات السابقة - برغم انها توفر الكثير من الوقت فعلياً ، يمكنك البدء من الدرس السابق كمثال - .

كانت هذه الحياة لك كمبرمج .net قبل عالم WCF ، في الدرس القادم سنبدأ بالتعرف على طبيعة هذه التقنية .

نواصل في وقت لاحق ...
}}}}
تم الشكر بواسطة:
#2
البداية مع WCF :

بعد تشغيلك لل Visual Studio 2008 ، قم باختيار نوع المشروع WCF ثم WCF Service Library بالشكل التالي مثلاً :


هناك خيارات أخرى تقدمها لك WCF بحيث يمكنك تطبيقها مع خدمة RSS أو تقنية WWF افتراضياً ، هناك ايضاً ضمن اختيارات انشاء Web Site جديد تجد WCF Service ولكن ليس هذا هو موضوعنا الآن .

الآن تجد نفسك قد قمت افتراضياً بانشاء ثلاث ملفات assembly هي :
- WCF Service
- WCF Service host
- WCF client


وللربط لا بد من توافر المعلومات الثلاث التالية :

Address: وهو يحدد العنوان الذي يتم الاتصال به .
Binding: طرق الربط .
Contract: وصف المهام التي يتم تنفيذها من خلال WCF .


كانت هذه مقدمة سريعة ، يتبع ...
}}}}
تم الشكر بواسطة:
#3
شكل ومحتويات ال Address :

النقطة الأولى من معلومات WCF هي العنوان الذي ستتصل به ، له الصيغة العامة التالية :

كود :
scheme://<MachineName>[:Port]/Path
حيث أن scheme تحدد البروتوكول الذي سوف تعمل من خلاله ما بين البروتوكولات الموجودة
.MachineName تحدد المكان الذي ستتصل به Port هو المنفذ الذي سيتم الاتصال من خلاله ، وأخيراً Path وهو مسار ال Services في الجهاز الذي تود الاتصال به .

هذا على سبيل المثال :

كود :
net.tcp://localhost:8080/MyWCFService
بالنسبة لل Binding وال Contract فلن نمر عليهم في درسنا السريع لهذا اليوم حيث يكفينا معرفة بسيطة عنهم ...
}}}}
تم الشكر بواسطة:
#4
تجربة بسيطة :

قم بانشاء WCF Liabrary جديدة ، بعد انشاءها قم باضافة تعريف للدالة في IService1.cs :
C#:

كود :
[OperationContract]
int Add(int x, int y);
vb.net:

كود :
<OperationContract()> _
Private Function Add(ByVal x As Integer, ByVal y As Integer) As Integer
End Function
ومن ثم في Service1.cs قم بكتابة الدالة التالية :

C#:

كود :
public int Add(int x, int y)
{
return x + y;
}
vb.net:

كود :
Public Function Add(ByVal x As Integer, ByVal y As Integer) As Integer
Return x + y
End Function
وفقط ، قم بعمل Run وقم بتجربتها من خلال WCF Test Client بالشكل التالي مثلاً ، بعد كتابة رقمين قم بالضغط على Invoke لتجربة الحل .

أليس هذا أسهل بكثير من الدرس السابق حول Web Services ؟
}}}}
تم الشكر بواسطة:
#5
كان هذا درس سريع جداً ، ولم نتوسع في التفاصيل ، ولكن يمكن استخدام مثل هذه التقنيات لانشاء اي نوع من البرامج ، يمكن انشاء Service تقوم بعمل اي تطبيق على الشبكة فقط بمعرفة ال Address ، ولذا وإن كنت ترغب في المزيد فيمكنك مراجعة هذا الدرس الجميل على CodeProject لتطبيق شات يجمع بين WCF و WWF :
http://www.codeproject.com/KB/WCF/WCFWPFChat.aspx

والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  الدرس الأول : تحميل .net 2008 ومميزات استخدامه oneyemenweb2 1 670 07-03-13, 02:04 AM
آخر رد: abdoojh
  اعلان - انتهاء الدورة - الدرس التاسع والسبعون -) RaggiTech 0 602 14-10-12, 11:23 PM
آخر رد: RaggiTech
  الدرس الثامن والسبعون - Ajax RaggiTech 2 875 14-10-12, 11:22 PM
آخر رد: RaggiTech
  الدرس السابع والسبعون - ASP.net وقواعد البيانات RaggiTech 2 910 14-10-12, 11:19 PM
آخر رد: RaggiTech
  الدرس السادس والسبعون - ASP.net - الجزء الثالث RaggiTech 7 1,161 14-10-12, 11:14 PM
آخر رد: RaggiTech
  الدرس الخامس والسبعون - ASP.net - الجزء الثاني RaggiTech 5 1,317 14-10-12, 11:07 PM
آخر رد: RaggiTech
  الدرس الرابع والسبعون - ASP.net RaggiTech 6 1,091 14-10-12, 10:58 PM
آخر رد: RaggiTech
  الدرس الثالث والسبعون - مقدمة إلى تطوير المواقع RaggiTech 4 850 14-10-12, 10:44 PM
آخر رد: RaggiTech
  الدرس الثاني والسبعون - مقدمة إلى Mono RaggiTech 0 596 14-10-12, 10:37 PM
آخر رد: RaggiTech
  الدرس الواحد والسبعون - XML Commenting RaggiTech 2 794 14-10-12, 10:35 PM
آخر رد: RaggiTech

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم