يزود العديد من مؤلفي التطبيقات المبرمجين بمكونات يمكن إعادة استخدامها في برامج أخرى. عادةً ما نقوم بإدخال مكونات الطرف الثالث هذه في برامجنا الخاصة ونستدعي الوظائف الجاهزة لتنفيذ وظائف معقدة نسبيًا. في الواقع، يمكننا أيضًا نشر الوظائف في مكونات الطرف الثالث من خلال الشبكة لتوفير الخدمات لمزيد من المستخدمين بسهولة أكبر.
بالنسبة لتطوير .NET، يمكن تغليف مكونات الطرف الثالث من خلال تقنيات ASP.NET (للبشر) أو خدمة الويب (للأجهزة). يستخدم ما يلي ASP.NET لنشر وظيفة التنفيذ في مكون Matlab كمثال. الفرضية هي أنه تم تثبيت Matlab على الخادم.
قم بإنشاء موقع ASP.NET جديد في VS2005، وانقر بزر الماوس الأيمن على دليل الموقع في جزء Solution Explorer، وحدد إضافة مرجع، وأضف مكون COM الخاص بـ Matlab: مكتبة النوع لتطبيق Matlab (الإصدار XX).
أضف مربع نص وزرًا وعنصر تحكم حرفيًا إلى صفحة الويب. يتم استخدام TextBox لإدخال التعبيرات، ويؤكد الزر التنفيذ، ويخرج النتائج الحرفية. أضف رمز الحدث التالي لاستدعاء وظيفة التنفيذ في مكون Matlab لتنفيذ عبارة Matlab:
Protected Sub Button1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) يعالج Button1.Click
Dim matlab As New MLApp.MLApp
Dim strMatLab كسلسلة
strMatLab = TextBox1.Text
Dim strResult As String = matlab.Execute(strMatLab)
strResult = strResult.Replace(Chr(10), "<br>")
strResult = strResult.Replace(" ", " ")
Me .Literal1.Text = strResult
matlab.Quit()
End Sub
قم بتشغيل هذا الموقع في VS2005، وأدخل تعبيرًا في صفحة الويب التي تظهر، مثل "dsolve('Dx=x^2+5')"، وستظهر النتائج. سيتم عرضها بعد النقر فوق الزر: "ans = 5^(1/2)*tan(5^(1/2)*t+5^(1/2)*C1)". ولكن إذا كنت تستخدم IIS لنشر هذا الموقع، فسوف يحدث خطأ أثناء وقت التشغيل والسبب هو أن ASP.NET ليس لديه الإذن بإنشاء المكونات. وفقًا لرسالة الخطأ، نحتاج إلى إضافة جملة إلى ملف web.config الخاص بموقع الويب:
<identity impersonate="true" userName="xx"password="xx"/>
يجب أن يكون المستخدم المحدد هنا مستخدمًا لديه الأذونات ذات الصلة على جانب الخادم. إذا لم يتم تحديد ذلك، فسيتم إجراء المصادقة على صفحة العميل. بالطبع، ليس من الآمن حفظ أسماء المستخدمين وكلمات المرور بنص عادي في web.config، ويجب تشفيرها في تطبيقات حقيقية.
في هذا الصدد، أكملنا الإصدار عبر الإنترنت لوظائف تقييم تعبيرات Matlab. يمكنك إخطار الأصدقاء الذين لم يقوموا بتثبيت Matlab بتسجيل الدخول إلى موقع الويب الخاص بك لاستخدام وظائف الحوسبة القوية في Matlab. (ملاحظة: هذا المثال للتوضيح فقط. تعد عبارات Matlab القوية وصندوق الأدوات كافية للسماح للمستخدمين البعيدين بالوصول إلى نظام الملفات الخاص بك من خلال صفحة الويب هذه.)
نظرًا لطبيعة بروتوكول HTTP وخصائص التنفيذ من جانب الخادم، فإن هذا نوع التغليف لمكونات الطرف الثالث مناسب بشكل عام لنشر وظائف معالجة البيانات، ولكنه غير مناسب لنشر وظائف التحكم. وفي الوقت نفسه، هذه الطريقة غير مناسبة للخدمات التي يتم تقديمها في الوقت الفعلي إلى حد كبير أو التي تتطلب الحفاظ على الحالة. لأسباب أمنية، يمكننا أيضًا إعادة تغليف مكونات الطرف الثالث وإضافة تصفية البيانات ومعالجة الاستثناءات.
المبدأ بسيط جدا. أتمنى أن تناقش معي قيمة هذا الحل في التطبيقات العملية.
المرجع:
1. Li Honggen، تطبيق خوارزمية MATLAB في .NET
( http://www.microsoft.com/china/community/Column/25.mspx )
2. Matlab 7.1، مستندات المساعدة ذات الصلة بخادم الويب Matlab