الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

التخاطب بين الخوادم وطريقة توفير بيئات ملائمة للمشاريع

بدأه حسين احمد طالب في 14 ديسمبر 2013 · 4 رد · 1,669 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

قاعدة بيانات  على خادم ومستخدمين موزعين على الشبكة :

نستخدم مثل هذه الحالة دائما في حال اردنا ان نكون تطبيق سطح مكتب (windows application)  لمستخدمين موزعين على شبكة يشتركون بقاعدة بيانات واحدة .بمعنى في شركة ما لدينا موضفين موزعين على مستوى العالم او بلد او على شبكة محلية واحدة يشتركون بقاعدة بيانات واحدة أي تحديث لأي موضف على قاعدة البيانات يظهر عن البقية فمثلا لدينا موضف اجازات فيوسط البلد يدخل كل اجازات الموضفين وموضف اخر في شرق البلد يحتاج ان يعرف اجازة أي موضف .فنحل هذه المسئلة بوضع قاعدة بيانات المستخدمين على خادم وكل المستخدمين  يتصلون بقاعدة البيانات هذه عن طريق Connection String الخاصة بها  .قاعدة البيانات هنا قد تكون  SqL server , oracle ونفعل بها خاصية الوصول عن بعد .

 

14-12-2013+10-42-35+%D8%B5.png

لماذا نستخدم تطبيق سطح مكتب  وقاعدة بيانات موزعة لماذا لانستخدم  تطبيق ويب  WEB application ؟

السبب هو بعض الشركات  او المؤسسات لا تريد ان يكون تطبيقاها بشكل ويب  كل شخص يستطيع الوصول اليه عن طريق متصفح الانترنت تريد فقط من لديه تطبيق الشركة  يستطيع الوصول الى بياناتها

والسبب الثاني الأهم هم في الشبكات المحلية لا يفضل استخدام تطبيقات الويب في التطبيقات الموزعة لان تتسبب تأخر في نقل البيانات بين الخادم والمستخدم تخيل تطبيق وندوز Windows ينقل عبر الشبكة فقط البيانات Data المضافة او المحدثة بينه وبين  قاعدة البيانات لان التطبيق عند المستخدم والقاعدة البيانات عند الخادم . اما في تطبيقات الويب التطبيق وقاعدة البيانات عند الخادم ففي كل طلب للخادم من قيل المستخدم  Request يرسل الخادم صفحة بشكل HTML  ويحدث عليها المستخدم ويعيد ارسال الصفحة الى الخادم لان كما نعلم لغة التخاطب بيننا وبين الخوادم هي HTML

 

 

 

قاعدة بيانات  وتطبيق ويب على خادم وخادم احتياطي  ومستخدمين موزعين على الشبكة :

نستخدم مثل هذه الحالة دائما في حال اردنا ان تكون لنا دائمة نسخة احتياطية من البيانات التي على الخادم بشكل دائم وتلقائي يعني أي مستخدم يحدث على الخادم ينتقل نسخة من تحديثة على الخادم الأحتياطي تلقائيا بدون أي كود فيحتوي الخادم الاحتياطي نسخة مطابقة لبيانات الخادم المستخدم ففي حالة أي عطل في الخادم ينقل المستخدمون  الذبن بعملون على الخادم الأساسي الى الخادم الاحتياطي ويجدون كل بياناتهم مطابقة ولا يوجد أي بيانات مفقودة  . تتم هذه العملية عن طريق  Sql server Agent من خلال اعدادات  الخوادم نجعل خادم النسخة الاحتياطية  Agent للخادم الأول ونعمل  Replication بين الخوادم .اذن العملية كلها مجرد ضبط اعدادات الخادمين من خلال  Sql server لكل خادم لاتوجد أي برمجة .

 

14-12-2013+10-43-26+%D8%B5.png

 

 

مخاطبة بين الخوادم :

نستخدم مثل هذه الحالة  في اردنا عمل مخاطة بين خادم واخر مثلا شركة ياهو Yahoo توفر خادم يخص الطقس  فليس الحاجة ان اردنا ان نكون مشروع يحتاج الى الطقس الحالي في حساباته ان نبرمج  وضع اجهزة حساب الطقس نستطيع استخدام الخادم الخاص بشركة ياهو   Yahoo  اذن هي مخاطبة بين خادمنا وخادم شركة ياهو Yahoo . وكذالك لو صممنا قاعدة بيانات تابعة لمؤسسة ما ومؤسسة اخرى ارادة وصول جزئي للبيانات الخاصة بألمؤسسة الأولى على سبيك المثال في المؤسسة الأول يدخلون معلومات مواطنين وموضفين في قاعدة بياناتهم والمؤسسة الثانية تحتاج فقط الى بيانات الموضفين المدخلة بشكل دائم اذن هنا ايضا مخاطبة بين خادمين .للعلم البيانات تنتقل بين الخوادم بشكل  XML لذالك يجب مراعاته الامر في برمجة  Class

 لحل هذه المشكلة نستخدم Web Service لعمل هذه الخاطبة ففي حالة الطقس شركة ياهو  Yahoo توفر هذه Web Service فقط نحن نستدعيها ونستخدمها وفي الحالة الثانية المؤسسة الأولى تستدعي Web Service وهذه Web Service تضيف في قاعدة البيانات المؤسسة الثانية . ممكن ان نضع Web Service على خادم رقم (2) او على خادم اخر .

 

14-12-2013+10-43-47+%D8%B5.png

استخدام  Web Service

 

نفتح مشروع جديد من نوع Web ونضيف له  Web service

 

14-12-2013+10-08-52+%D8%B5.png

 

 

بعد ان نفتح Web service  سوف يضهر لنا الشكل كما في الأسف للعلم Web service   هو  مشروع حاله حال أي مشروع نستطيع اضافة Class لها ودوال و أي امر نحتاجه .ففي صفحة Web service نستطيع ان نكون Web service من خلال كتابة Web Method ونكتب الخدمة Web service بشكل دالة Function ,Sub حسب ستخدامنا لها

14-12-2013+10-10-37+%D8%B5.png

 

 

هنا هوا ضاف Web service بأسم  HelloWord وتعيد رسالة نصية الان نقوم بأستدعاء هذه Web service

 

الان لأستخدام هذه الخدمة Web service في أي مشروع من داخل المشروع نختار Add ومنه نختار Refrence Add Web

ومن  Address نختار عنوان الخادم واسم صفحة الخدمة على الخادم كما في الشكل ستضهر لنا كل الخدمات الموجودة ضمن هذه Web service . ونعطي اسم للخدمة داخل المشروع Web refrence name وبعده نختار Add Refrence ستضاف الخدمة الى المشروع

14-12-2013+10-33-35+%D8%B5.png

 

هذه شكل الخدمة بعد اضافتها للمشروع

14-12-2013+10-37-06+%D8%B5.png

نستدعي الدالة HellWord في الخدمة بشكل التالي سوف يعرض لنا رسالة ترحيبة الموجودة في الخدمة

 

Dim serviceNew As New localhost.WebService1
        MsgBox(serviceNew.HelloWorld())
 

 

 

 

لكي  نقوم برفع web service على خادم ,نقوم بالتالي نشتري عنوان عام    Public  IP  وليكن (169.254.243.53) بحاسبتنا ونفتح IIS Manager ونختار Add web  ونضيف مشروع Web service اليه بالشكل التالي . نختار  مكان خزن المشروع الخاص بنا ونحدد له منفذ خاص به وليكن (80) ونختار العنوان العام Public  IP الخاص به ونعمل اضافة

 

14-12-2013+11-52-30+er%D8%B5.png

 

 

اي عنوان الخدمة على الانترنت بشكل التالي (169.254.243.53:80)

الان لكي نضيف هذه web service  الى اي مشروع خاص  بنا نختار Add web refrence و   فقط التغير في URL نكتبه بشكل التالي

 

URL:  http:\169.254.243.53:80\webservice1.asmx

 

مدونتي

http://hussienahmmed.blogspot.com/

3

------------------

حسين الربيعي

 

مهندس برامجيات من العراق

 

ادرس  في  RIT  في الولايات المتحدة

 

مدونتي

http://hussienahmmed.blogspot.com/

 

قناة اليوتيوب الخاصة بلدورات

https://www.youtube.com/user/alxs1aa

#2

حمل المقالة من هنا

  https://www.dropbox.com/s/2dw82jov40vp5dd/قاعدة%20بيانات%20%20على%20خادم%20ومستخدمين%20موزعين%20على%20الشبكة.pdf

تم تعديل هذه المشاركة بواسطة حسين احمد طالب في 14 ديسمبر 2013 في 13:48

1

------------------

حسين الربيعي

 

مهندس برامجيات من العراق

 

ادرس  في  RIT  في الولايات المتحدة

 

مدونتي

http://hussienahmmed.blogspot.com/

 

قناة اليوتيوب الخاصة بلدورات

https://www.youtube.com/user/alxs1aa

#3

مجهود واضح

بارك الله بك

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#4

رائع ................................................ :)

#5

جزاك الله خيرا اخي

الموضوع الذي تطرقت اليه موضوع رائع وان كان يخفى على كثير من المبرمجين المبتدئين

لهذا ارجو اكمال المقال بسرد الامثلة حتى تنال الفائدة التطبيقية هذا لاننا باشد الحاجة الى برمجة التطبيقات المتصلة عن طريق الشبكات نرجو توضيح اتصالات قاعدة البيانات العميل والخادم والخادم والخادم

client server /multi master replication بعدة قاعدة بيانات مثل اوركل او سيكول سرفر او ماي سكول

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…