تدرك خدمة ASP.NET+Web مشاركة البرامج
الكاتب:Eve Cole
وقت التحديث:2009-06-30 15:39:48
الملخص تقترح هذه المقالة طريقة جديدة لمشاركة البرامج من خلال مشاركة وظائف البرنامج وتتمثل ميزة هذه الطريقة في أنها تحقق مشاركة وظائف البرنامج في شكل استدعاء خدمات الويب عن بعد دون نسخ البرنامج إلى العميل كما تقلل التكلفة. كما أن بعض التكرار في الموارد على الشبكة يساعد أيضًا على مشاركة خدمات الويب الحالية ودمج الأنظمة الجديدة. علاوة على ذلك، تحلل هذه المقالة فعالية هذه الطريقة الجديدة من خلال مثال لوحدة التحقق من هوية الطالب.
مقدمة
تتمثل مشاركة البرامج التقليدية في نسخ البرنامج من خادم الشبكة إلى العميل لتحقيق مشاركة البرنامج. عيب هذه الطريقة هو أن كل عميل يحتاج إلى استخدام البرنامج يجب عليه نسخ البرنامج أولاً، مما يؤدي إلى تكرار المساحة على الشبكة يؤدي إلى كمية كبيرة من البيانات المعزولة ومنطق الأعمال المكرر.
توفر خدمات الويب حلاً قابلاً للتطبيق لتحقيق التشغيل البيني للبيانات والنظام من خلال تمكين تبادل البيانات واستدعاء منطق التطبيق عن بعد باستخدام رسائل XML، وتمكين البيانات من المرور عبر جدران الحماية، ونقل البيانات بين الأنظمة غير المتجانسة.
تقترح هذه المقالة طريقة جديدة لمشاركة البرامج من خلال مشاركة وظائف البرامج لمعالجة مشكلات مشاركة البرامج التقليدية. وتتمثل ميزة هذه الطريقة في أن مشاركة وظائف البرامج يتم تحقيقها في شكل استدعاء خدمات الويب عن بعد دون نسخ البرنامج إلى العميل كما أنه يقلل من بعض التكرار في الموارد على الشبكة، كما أنه يساعد على مشاركة خدمات الويب الحالية ودمج الأنظمة الجديدة. علاوة على ذلك، تحلل هذه المقالة فعالية هذه الطريقة الجديدة من خلال مثال لوحدة التحقق من هوية الطالب.
معنى مشاركة البرامج
مع انتشار تطبيقات الكمبيوتر وتطويرها، تم تطوير برامج الكمبيوتر العملية وتطبيقها في صناعات مختلفة وصغيرة مثل شركة أو قسم. لقد أدت هذه البرامج إلى تحسين كفاءة العمل ومستوى الإدارة الحديثة للشركة بشكل كبير، وأصبحت جوهر العمليات التجارية وإدارة الشركة. لكن الاعتماد الواسع النطاق للبرامج المخصصة في كل قسم تقريبًا في معظم الشركات أدى إلى عدد كبير من الأجزاء المفيدة ولكن المنعزلة والمتكررة من منطق الأعمال. إذا كان من الممكن تجنب ازدواجية التصميم أثناء التصميم والتطوير، وتم استخدام مشاركة وظائف البرنامج لتحقيق نفس وظائف كل وحدة، فسيؤدي ذلك إلى توفير تكاليف تطوير البرامج بشكل كبير وتوفير أساس معماري جيد لترقيات النظام وتكامله في المستقبل. بالإضافة إلى ذلك، يمكن مشاركة منطق الأعمال الحالي مع التطبيقات الأخرى من خلال قدر صغير من التحسينات، وبالتالي تقليل تكاليف التطوير.
ونظرًا لتنوع البيئات التي يتم تطوير كل تطبيق فيها ولأن التكنولوجيا تتطور باستمرار، فقد كانت مشاركة التطبيقات الموجودة لإنشاء مجموعة ميزات أمرًا صعبًا في الماضي. ولحسن الحظ، فإن ظهور تكنولوجيا خدمات الويب جعل من الممكن تحقيق مشاركة البرامج. توفر خدمة الويب لوظائف البرامج منطق أعمال يمكن مشاركته داخل الإنترنت، وتشكل في النهاية انفتاحًا يعتمد على نظام المكونات الوظيفية المختلفة. بعد ذلك، سنناقش كيفية استخدام تقنية خدمات الويب لتحقيق مشاركة البرامج.
مشاركة البرامج المعتمدة على تكنولوجيا خدمات الويب
1. مقدمة إلى تكنولوجيا خدمات الويب
يمكن اعتبار خدمات الويب بمثابة واجهات برمجة التطبيقات (APIs) المنتشرة على الإنترنت، والتي يمكن دمجها بسهولة واستدعائها بواسطة التطبيقات وحتى خدمات الويب الأخرى لتشكيل خدمات تطبيقات جديدة. إنها تتمتع بتغليف كامل، واقتران فضفاض، وقدرات تكامل عالية. ليس هناك شك في أن تكنولوجيا خدمات الويب سوف تصبح التكنولوجيا السائدة للجيل القادم من الويب، والتي هي تجسيد "البرمجيات كخدمة".
تكون بنية خدمات الويب كما يلي، وتتكون من طالب الخدمة ووكيل الخدمة ومزود الخدمة:
موفر خدمة الويب هو مالك خدمة الويب، ويقوم بالتسجيل لدى وكيل الخدمة لتكوين الخدمة ونشرها، وينتظر بصبر توفير وظائفه الخاصة للخدمات والمستخدمين الآخرين، ويكون طالب خدمة الويب هو مستخدم وظيفة الويب ، والذي يستخدم عملية البحث لاسترداد وصف الخدمة من وسيط الخدمة، ثم الارتباط بموفر الخدمة واستدعاء خدمة الويب أو التفاعل معها.
موفر خدمة الويب يعادل الوسيط الذي يربط طالب خدمة الويب مع موفر خدمة الويب المناسب، عادةً ما يوفر UDDI آلية للعثور على خدمات الويب ديناميكيًا لطالبي الخدمة.
2. تنفيذ مشاركة البرامج بناءً على خدمات الويب
في عملية تطوير البرمجيات، غالبًا ما يقوم الأشخاص بتقسيم البرنامج إلى وحدات مختلفة وفقًا للوظائف لتسهيل إعادة تنظيم وظائف الوحدة وإعادة استخدامها وتعديلها وترقيتها. لتحقيق مشاركة البرامج من خلال تكنولوجيا خدمات الويب، من الضروري أيضًا تقسيم النظام المتكامل أولاً إلى وحدات وفقًا للوظائف؛ ثم إنشاء خدمات ويب لتنفيذ هذه الوحدات الوظيفية من أجل إتاحة الوصول إلى خدمات الويب، ومن الضروري أيضًا النشر أوصاف الخدمة (نشر خدمات الويب) بحيث يمكن العثور على الوحدات الأخرى واستدعائها. وبهذه الطريقة، يمكن مشاركة وظائف البرامج التي يتم تنفيذها كخدمات ويب بواسطة التطبيقات وحتى خدمات الويب الأخرى.
عندما يحتاج طالبو الخدمة مثل التطبيقات أو خدمات الويب الأخرى إلى الاتصال بخدمات الويب، فإنهم يقومون أولاً باسترداد وصف الخدمة أو الاستعلام عن نوع الخدمة المطلوبة في مركز تسجيل الخدمة. عند العثور على الخدمة المطلوبة، يمكن استخدام وصف الخدمة لربط مزود الخدمة والاتصال بالخدمة المقابلة.
يُعرف منتج Microsoft الرائد الذي تم إطلاقه حديثًا Visual Studio.NET بأنه الأداة المفضلة لتطوير خدمات الويب. باستخدام Visual Studio.NET يمكن بسهولة إنشاء خدمات الويب واستدعاءها. فيما يلي، سيتم تقديم مثال محدد لمشاركة البرامج المستندة إلى تقنية خدمات الويب.
3. أمثلة تطبيقية لمشاركة البرامج: التنفيذ المشترك لوحدة التحقق من هوية الطالب.
يوجد حاليًا العديد من الأنظمة البرمجية في الكليات والجامعات، مثل أنظمة اختيار المقررات الدراسية، وأنظمة الاستعلام عن الدرجات، وأنظمة المقررات الدراسية عبر الإنترنت، وأنظمة المكتبات، والأنظمة المالية للطلاب، وما إلى ذلك. نظرًا لأن كل نظام مستقل عن الآخر، فإن كل نظام لديه وحدة للتحقق من هوية الطالب، مما يؤدي إلى ازدواجية وظيفية في التصميم، بالإضافة إلى ذلك، كل نظام مستقل عن الآخر، ويحتاج الطلاب إلى تذكر كلمات المرور الخاصة بالأنظمة المختلفة.
في ضوء الوضع المذكور أعلاه وشبكة الحرم الجامعي الحالية المتطورة للغاية، يمكننا استخدام خدمات الويب بالكامل لتحقيق مشاركة وحدات التحقق من هوية الطالب. سيقدم ما يلي عملية إنشاء واستدعاء خدمة الويب لمصادقة هوية الطالب باستخدام لغة C# باستخدام بيئة Visual Studio.NET.
1) إنشاء خدمات الويب
تتكون وحدة مصادقة هوية الطالب من خدمة ويب واحدة:
مستخدم صالح منطقي عام (معرف مستخدم السلسلة، سلسلة Pwd)
يتم استخدام خدمة الويب ValidUser للتحقق من هوية الطالب. تم إنشاء جدول معلومات الطالب الأساسي "الطالب" في قاعدة بيانات Sql Server StudentInfo، حيث يقوم حقلا UserID وPwd بتخزين رمز المستخدم وكلمة المرور للطالب على التوالي.
فيما يلي عرض لعملية إنشاء خدمات الويب بالتفصيل:
قم بتشغيل بيئة تطوير Visual Studio.NET وقم بإنشاء مشروع جديد من نوع "ASP.NET Web Service" WSStudentLogin.
ب تنفيذ تعليمات برمجية محددة لخدمات الويب.
باستخدام System.Data.SqlClient؛
//حذف الكود...
خدمة الفئة العامة 1: System.Web.Services.WebService
{
سلسلة ConStr = ""؛
ConnStr="DATABASE=StudentsInfo;SERVER=10.1.111.19;UID=sa;PWD=;";
//حذف الكود...
[طريقة ويب]
مستخدم صالح منطقي عام (معرف مستخدم السلسلة، سلسلة Pwd)
{
علامة منطقية = خطأ؛
سلسلة sqlStr = ""؛
// إنشاء كائن اتصال بقاعدة البيانات
SqlConnection tempConn=new SqlConnection(ConnStr);
sqlStr="select * from Student Where ID='"+userID+"' and pwd='"+Pwd+"';";
// أنشئ كائن أمر
SqlCommand tempComm=new SqlCommand(sqlStr,tempConn);
tempConn.Open();
SqlDataReader tempReader=tempComm.ExecuteReader(CommandBehavior.CloseConnection);
if (tempReader.HasRows) flag=true;
tempReader.Close();
tempComm.Dispose();
علم العودة؛
}
}
تجدر الإشارة إلى أن الطرق الموضحة في [WebMethod] هي فقط خدمات الويب التي يمكن الاتصال بها عن بعد. ولذلك، لا يمكن حذف [WebMethod] الموجود أمام الطريقة.
لإتاحة خدمة ويب للآخرين، يجب نشرها على خادم ويب يمكن الوصول إليه من قبل العملاء الذين ترغب في دعمهم. لنشر خدمة الويب إلى خادم آخر غير خادم التطوير، يمكنك إضافة مشروع تثبيت ويب أو نسخ الملفات المطلوبة إلى الخادم الهدف. نظرًا لقيود المساحة، لا تناقش هذه المقالة هذا الأمر بشكل متعمق، ومن المفترض أن يتم نشر خدمة الويب في هذا المثال على خادم التطوير.
بعد إنشاء خدمة الويب ونشرها، يمكننا استدعاء خدمة الويب المقابلة على العميل. فيما يلي وصف لكيفية تحديد موقع وظائف خدمة الويب والإشارة إليها على العميل.
2) استدعاء خدمة الويب
إن عملية استخدام خدمة الويب هي في الواقع عملية ربط مستخدم خدمة الويب بخدمة الويب واستدعاء أساليبها. لتبسيط عملية الربط. يوفر Visual Studio.NET أساليب فئات وكيل الخدمة. تقوم فئة وكيل الخدمة بإنشاء فئة محلية بناءً على مستند وصف خدمة الويب (XXX.WSDL). أثناء عملية التنفيذ، يستخدم العميل المعلومات الموجودة في فئة الوكيل للوصول إلى خدمة الويب وتنفيذ استدعاء الطريقة الفعلية. يوفر لنا Visual Studio.NET طريقة بسيطة لتحقيق هذه العملية:
إنشاء برنامج عميل للوصول إلى خدمة الويب.
يمكن أن تكون برامج العميل للوصول إلى خدمة الويب عبارة عن أنواع مختلفة من التطبيقات أو خدمات الويب الأخرى. هنا، نقوم بإنشاء مشروع WebApplication2 جديد من النوع "ASP.NET WEB Application".
ب. مرجع الخدمة.
أولاً، انقر فوق إضافة مرجع ويب في قائمة المشروع. بعد ذلك، نظرًا لأن خدمة الويب في هذا المثال موجودة على الكمبيوتر المحلي، فإننا ننقر فوق الارتباط "خدمة الويب على الكمبيوتر المحلي" في جزء المتصفح. ثم انقر فوق الارتباط Service1 من القائمة المتوفرة لاسترداد معلومات حول خدمة الويب. ثم انقر فوق إضافة مرجع لإضافة مرجع ويب إلى خدمة الويب المستهدفة. سيقوم Visual Studio.NET بتنزيل وصف الخدمة وإنشاء فئة وكيل تعمل كواجهة بين التطبيق وخدمة الويب.
ج.أمثلة التعليمات البرمجية المحددة لاستدعاء خدمات الويب في برامج العميل.
باطلة خاصة Button1_Click(مرسل الكائن، System.EventArgs e) { // إنشاء كائن فئة الوكيل localhost.Service1 ClientProxy=new localhost.Service1(); يحاول {// الوصول إلى خدمات الويب من خلال كائنات فئة التعليمات البرمجية إذا (ClientProxy.ValidUser(TxtUserId.Text,txtPwd.Text)) Label1.Text="OK"; آخر Label1.Text = "خطأ" ; } قبض (ه) {رمي ه؛} أخيراً {ClientProxy.Dispose();} } |
آخر
توفر تكنولوجيا خدمات الويب أساسًا تقنيًا جيدًا لتحقيق مشاركة البرامج وتكامل النظام استنادًا إلى أنظمة المعلومات الحالية. ومع ذلك، فمن الضروري جعل مشاركة البرامج المستندة إلى تقنية خدمة الويب عملية حقًا. نحتاج أيضًا إلى حل المشكلات التالية: أولاً، الأمان والموثوقية، أولاً، موثوقية الاتصال لنقل شبكة خدمة الويب، وثانيًا، موثوقية محتوى خدمة الويب، أي ضمان سلامة البيانات وسريتها. والثاني هو التحكم في حقوق استخدام الخدمة، حيث تعد خدمات الويب تجسيدًا لـ "البرنامج كخدمة". من يُحظر عليه استخدام هذه الخدمة، ومن يُسمح له باستخدام هذه الخدمة، وكيفية فرض رسوم مقابل استخدام هذه الخدمة، وما إلى ذلك. جميعها تحتاج إلى حل في مشكلة الاستخدام الفعلي. بالإضافة إلى ذلك، فإن مشكلات مثل القدرة الاستيعابية لخدمات الويب، ونشر خدمات الويب واكتشافها، والتعامل الفاشل مع مكالمات خدمة الويب من قبل العملاء هي أيضًا مشكلات تحتاج إلى حل.
ملخص
تقترح هذه الورقة تحقيق مشاركة البرامج من منظور مشاركة وظائف البرامج، وتناقش استخدام تقنية خدمات الويب لتحقيق مشاركة وظائف البرامج عن بعد، وتستخدم وحدة التحقق من هيئة الطلاب لتحليل فعالية ومزايا مشاركة وظائف البرامج. إن البحث حول تقاسم وظائف البرمجيات له أهمية كبيرة لتحقيق الحوسبة الموزعة، ويتطلب المزيد من البحث.