هذه احدى الرسائل المزعجة فى الويندوز عندما تريد ان تحذف ملف او مجلد ما ,وهى تنتج لاسباب مختلفة اما لعدم وجود صلاحية للحذف او ان هناك برنامج آخر يستخدم هذا الملف اوالمجلد يمكنك ان تتغلب على هذه المشكلة عن طريق البرنامج الآتى Unlocker
السلام عليكم ورحمة الله وبركاته ,من مساوىء التعليم فى مصر هو خلوه من الروح ,مثل الجسد الميت ,بل ولا يوجد تحفيز على العلم ,وسأعطى مثال لذلك وهو ما يتعلمه الاطفال فى الصف الرابع الابتدائى عن غرائب الحيوانات وطيور لا تطير والحيتان ,فسئلت احد الاطفال فى عائلتى عن الحوت ,قال لى لا اعلم ما شكله ,تخيل ان تدرس عن شىء ولا تعلم كيف شكله وهو ليس شىء لا يرى بالعين المجردة ,ولكن اكبر المخلوقات الحية الموجودة حاليا ,لماذا لا يتم تزويدالمدارس بادوات العرض داتاشو مع كمبيوتر ,وليس هذا فقط بل تعليم المدرسين كيف يستعملونها او تعيين موظف دعم فنى مسئول عن تشغيل هذه الادوات للمدرسين ونكون من بابين نحن الرابحين ,تعليم الاطفال وتوفير فرص عمل,ايضا تعليم الاطفال العمل الجماعى ,هذا الشىء لا يتم تعليمه ابدا للاطفال فى المدارس ثم بعدما يكبرون يجدوا انه مطلوبا منهم ان يأخذوا كورسات فى العمل الجماعى Working In Teams ,قد يقول قائل وهل يعى الاطفال هذه الاشياء ,اقول لك اذا كان النمل يعيها فبالتأكيد بامكان الاطفال ان يعوها ,واليكم هذا الفيديو من البى بى سى عن النمل بعد حدوث الفيضان وكيف يكافح من اجل البقاء عن طريق تشبيك ارجلهم بارجل بعض لبناء مستعمرة طافية على وجه الماء وكيف يكافحون من اجل بقاء الملكة ,طالما لا يتعلم اطفالنا هذه الاخلاق ,فستظل امة الاسلام ذليلة.
Web Service او خدمة الويب هى عبارة عن برنامج قادر على التعامل مع البيانات عبر الشبكة مثل الشبكة المحلية او الانترنت باستخدام تقنيتين مفتوحتى المصدر هما SOAP و XML, سأقوم بشرح كيفية عمل Web Service باستخدام تقنية Dot Net.
مع صدور Dot Net 3.0 أصبح هناك نوعان من الويب سرفيس .
ASP.NET Web Service.
Windows Communication Foundation (WCF).
سأتكلم عن ال ASP.NET Web Service .
من أجل ان تعمل الويب سرفيس ستحتاج الى سرفر عليه IIS وسنكتفى هنا بالسرفر المحلى الذى يمكن ان نقوم بتنصيب ال IIS عليه من اسطوانة اكس بى او ما بعده (لن اتكلم عن اعداد ال IIS فى ويندوز فيستا او ويندوز سبعة).
يمتاز استخدام الويب سرفيس بالآتى :
تناقل البيانات عبر منفذ 80 بسهولة عبر الانترنت والشبكة المحلية .
تستخدم الويب سرفيس تقنية ال XML وهى مدعمة من قبل جهات عدة .
سهولة دمجها فى العديد من البرامج وسأعطى مثال بسيط هنا عن كيف ان الويب سرفيس تحل بعض المشاكل التى تواجهنا فى بيئة العمل ومثال ذلك استخدام InfoPath ,فاذا كنت استخدمت ال InfoPath لعلك واجهت مشكلة فتح ال Form فى البداية لان ال InfoPath يقوم بجلب البيانات من قاعدة البيانات كلها بدون عمل فلترة لانه يعتمد على View وال View لا يمكن ان تقبل متغيراتParameters حتى الآن ,ونقوم بحل هذه المشكلة عن طريق جعل مصدر بيانات ال InfoPath هو Web Service ونعطى المتغيرات لهذه الويب سرفيس .
لنفهم اولا بعض التقنية التى تعتمد عليها Web Service .
SOAP هى اختصار ل Simple Object Access Protocol وهو نظام Protocol للتعامل مع البيانات فى صورة XML عبر بروتوكولى HTTPو HTTPs, لن نتعامل معه مباشرة فالدوت نت يتعامل معها ذاتيا.
WSDL وهو اختصار ل Web Service Description Language وهى لغة تستخدم لكتابة تعريف لل Web service فى صورة XML وخصوصا هى تعرفنا بعنوان الWeb Service و الادوات التى توفرها لنا هذه الخدمة methods للتعامل معها, لن نقوم بكتابتها يدويا فالفجوال ستوديو يقوم بانشاءها ذاتيا.
UDDI وهى اختصار Universal Description Discovery and Integration وهو يسمح لنا بعمل مكتبة للويب سرفيس ليتم استخدامها فيما بعد كفهرس للخدمات التى نقدمها.
بناء ويب سرفيس بلغة VB.NET باستخدام Visual Studio 2008 :
قم بفتح الفجوال ستوديو ومن قائمة File اختر Create Website .
من نافذة New Website اختر ASP.NET Web service واكتب اسمه webserviceDemo. هل نوعه HTTP ولا FileSystem الامر يرجع الي كيفية التعامل مع هذه الويب سرفيس ,فاذا كنت ستتعامل معها على جهازك فقط فسيكفيك ان تكون من نوع FileSystem اما اذا كنت ستتعامل معها عن طريق الشبكة المحلية فاختر من نوع HTTP.
نلاحظ وضغ ملف service.vb فى الApp_code و وضع ملف service.asmx فى المشروع ,حيث service.asmx هى صفحة ال Web service اما service.vb فتعتبر هى صفحة Code Behind للخدمة والتى سنكتب فيها الكود.
نلاحظ انه تم وضع كود بسيط فى صفحة service.vb .
نلاحظ وجود <WebMethod()> _ وهو تاج واجب الوجود لجعل ال Method Exposed اى متاحة ,فاى Method بدون <WebMethod()> _ لن تكون متاحة مباشرة للعميل الذى سيستخدم Webmethod اى اننا نستخدم <WebMethod()> _ لجعلها متاحة للعميل .
ايضا هناك Namespace يمكننا تغيير ال Namespace التلقائى http://tempuri.org/ الى ال NameSpace الخاص بنا وهو الدومين الخاص بنا ,لن يغير هذا من عمل الويب سيرفيس ,ولكنه يفيد فى حالة وجود استخدام اكتر من Method يستخدمهم العميل بنفس الاسم فسيتم معرفة الفارق عن طريق هذا ال Namespace.
سنقوم بحذف هذا الجزء
Public Function HelloWorld() As String
Return "Hello World"
End Function
ونقوم بكتابة الخاصة بنا ولتكن مثلا كالتالى :
Public Function CalcSum(ByVal first As Decimal, ByVal last As Decimal) _As Decimal
Return (first + last)
End Function
يمكننا تجربة ال WebService مبدأيا بالذهاب الى Solution وعمل ضغطة بزر الفأرة اليمين على ملف service.asmx وعمل browse .
نكتب Method اخرى تطلب مننا رقم الOrder فى جدول Orders الموجود بقاعدة بيانات Northwind وترجع لنا البيانات عن هذه الطلب
<WebMethod()> _
Public Function order(ByVal orderid As Integer) As System.Data.DataSet
Dim con As New SqlConnection("server=.;database=northwind;integrated security = true;")
Dim com As New SqlCommand("select * from orders where orderid=@orderid", con)
com.Parameters.AddWithValue("@orderid", orderid)
Dim da As New SqlDataAdapter(com)
Dim ds As New System.Data.DataSet
da.Fill(ds)
Return ds
End Function
الآن نريد تجربة ما قمنا بعمله من Methods وعمل Consumption لهم.
نصنع مشروع Window Application ونسميه مثلا WinConsumption .
نضغط على ملف المشروع فى Solution Explorer ضغطة بالفأرة يمين ونختار Add service reference .
الآن نريد استهلاك السرفيس داخل المشروع نصنع واجهة كما بالشكل
نستخدم Namespace Imports Webconsumption.myservice وهو الخاص بالويب سرفيس .
وهذا هو الكود
Public Class Form1
Dim myserv As New Webconsumption.myservice.ServiceSoapClient
Private Sub btncalcsum_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btncalcsum.Click
MessageBox.Show(myserv.CalcSum(txtlast.Text, txtfirst.Text))
End Sub
Private Sub btnshoworder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnshoworder.Click
Dim ds As New Data.DataSet
ds = myserv.order(txtorder.Text)
DataGridView1.DataSource = ds.Tables(0)
End Sub
End Class
خلق الله الملائكة عقولاً بلا شهوة ، وخلق البهائم شهوة بلا عقول، وخلق ابن آدم وركب فيه العقل والشهوة ، فمن غلب عقله شهوته التحق بالملائكة ، ومن غلبت شهوته عقله التحق بالبهائم