تطبيق خادم العميل على مقبس دفق TCP. تطبيقات خادم العميل

مزايا

  • يجعل من الممكن، في معظم الحالات، توزيع وظائف نظام الحوسبة بين عدة أجهزة كمبيوتر مستقلة على الشبكة. هذا يجعل من السهل صيانة نظام الكمبيوتر. وعلى وجه الخصوص، لا يؤثر استبدال الخادم أو إصلاحه أو ترقيته أو نقله على العملاء.
  • يتم تخزين كافة البيانات على الخادم، والذي، كقاعدة عامة، محمي بشكل أفضل بكثير من معظم العملاء. من الأسهل فرض ضوابط الأذونات على الخادم للسماح فقط للعملاء الذين لديهم حقوق الوصول المناسبة بالوصول إلى البيانات.
  • يسمح لك بالجمع بين عملاء مختلفين. يمكن للعملاء الذين لديهم منصات أجهزة وأنظمة تشغيل مختلفة وما إلى ذلك في كثير من الأحيان استخدام موارد خادم واحد.

عيوب

  • يمكن أن يؤدي فشل الخادم إلى جعل شبكة الكمبيوتر بأكملها غير صالحة للعمل.
  • يتطلب دعم تشغيل هذا النظام وجود متخصص منفصل - مسؤول النظام.
  • ارتفاع تكلفة المعدات.

بنية خادم العميل متعددة المستويات- نوع من بنية خادم العميل يتم فيه تنفيذ وظيفة معالجة البيانات على واحد أو أكثر خوادم منفصلة. يتيح لك ذلك فصل وظائف تخزين البيانات ومعالجتها وتقديمها للمزيد الاستخدام الفعالقدرات الخوادم والعملاء.

حالات خاصة للعمارة متعددة المستويات:

شبكة خادم مخصصة

شبكة خادم مخصصة(إنجليزي) شبكة العميل/الخادم) هي شبكة محلية (LAN) فيها أجهزة الشبكةمركزية ويديرها خادم واحد أو أكثر. يجب على محطات العمل الفردية أو العملاء (مثل أجهزة الكمبيوتر الشخصية) الوصول إلى موارد الشبكة من خلال الخادم (الخوادم).

الأدب

فاليري كورجوفأنظمة خادم العميل متعددة المستويات. دار نشر الأنظمة المفتوحة(17 يونيو 1997). مؤرشفة من الأصلي في 26 آب (أغسطس) 2011. تم الاسترجاع 31 يناير، 2010.


مؤسسة ويكيميديا. 2010.

توفر تقنية خادم العميل وجود عمليتين متفاعلتين مستقلتين - الخادم والعميل، ويتم الاتصال بينهما عبر الشبكة.

الخوادم هي العمليات المسؤولة عن دعم و نظام الملفاتوالعملاء عبارة عن عمليات ترسل طلبًا وتتوقع استجابة من الخادم.

يتم استخدام نموذج خادم العميل عند بناء نظام يعتمد على نظام إدارة قواعد البيانات (DBMS)، وكذلك الأنظمة البريدية. هناك أيضًا ما يسمى ببنية خادم الملفات، والتي تختلف بشكل كبير عن بنية خادم العميل.

يتم تخزين البيانات الموجودة في نظام خادم الملفات على خادم ملفات (Novell NetWare أو WindowsNT Server)، وتتم معالجتها على محطات العمل من خلال تشغيل "أنظمة إدارة قواعد البيانات لسطح المكتب" مثل Access وParadox وFoxPro وما إلى ذلك.

يقع نظام إدارة قواعد البيانات (DBMS) على محطة العمل، ويتم تنفيذ معالجة البيانات من خلال عدة عمليات مستقلة وغير متناسقة. يتم نقل جميع البيانات من الخادم عبر الشبكة إلى محطة العمل، مما يؤدي إلى إبطاء سرعة معالجة المعلومات.

يتم تنفيذ تقنية خادم العميل من خلال تشغيل تطبيقين (على الأقل) - العملاء والخادم، اللذين يتقاسمان الوظائف فيما بينهما. الخادم هو المسؤول عن تخزين البيانات ومعالجتها مباشرة، ومن الأمثلة على ذلك SQLServer، Oracle، Sybase وغيرها.

يتم تشكيل واجهة المستخدم من قبل العميل، والتي تعتمد على أدوات خاصة أو أنظمة إدارة قواعد البيانات لسطح المكتب. تتم معالجة البيانات المنطقية جزئيًا على العميل وجزئيًا على الخادم. يتم إرسال الطلبات إلى الخادم من قبل العميل، عادة في SQL. تتم معالجة الطلبات المستلمة بواسطة الخادم ويتم إرجاع النتيجة إلى العميل (العملاء).

في هذه الحالة، تتم معالجة البيانات في نفس المكان الذي تم تخزينها فيه - على الخادم، لذلك لا يتم نقل حجم كبير منها عبر الشبكة.

مزايا بنية خادم العميل

توفر تقنية خادم العميل الخصائص التالية لنظام المعلومات:

  • مصداقية

يتم تعديل البيانات بواسطة خادم قاعدة البيانات باستخدام آلية المعاملة، والتي تعطي مجموعة العمليات خصائص مثل: 1) الذرية، والتي تضمن سلامة البيانات عند أي إتمام للمعاملة؛ 2) استقلالية المعاملات لمختلف المستخدمين؛ 3) مقاومة الفشل - حفظ نتائج إتمام المعاملة.

  • قابلية التوسع، أي قدرة النظام على أن يكون مستقلاً عن عدد المستخدمين وحجم المعلومات دون استبدال البرنامج المستخدم.

تدعم تقنية خادم العميل آلاف المستخدمين وغيغابايت من المعلومات من خلال النظام الأساسي للأجهزة المناسب.

  • الأمن، أي. حماية موثوقةمعلومات من
  • المرونة. في التطبيقات التي تعمل مع البيانات، هناك طبقات منطقية: واجهة المستخدم؛ قواعد المعالجة المنطقية; إدارة البيانات.

كما ذكرنا سابقًا، في تقنية خادم الملفات، يتم دمج الطبقات الثلاث في تطبيق واحد متجانس يعمل على محطة عمل، وجميع التغييرات في الطبقات تؤدي بالضرورة إلى تعديل التطبيق، وتختلف إصدارات العميل والخادم، ومن اللازمة لتحديث الإصدارات على كافة محطات العمل .

توفر تقنية خادم العميل في تطبيق من مستويين تنفيذ جميع وظائف الإنشاء على العميل، ويمكن تنفيذ جميع وظائف إدارة معلومات قاعدة البيانات على الخادم؛

يتيح التطبيق ثلاثي المستويات وجود طبقة متوسطة تنفذ قواعد العمل، وهي المكونات الأكثر قابلية للتغيير.

تسمح لك المستويات المتعددة بتكييف تطبيقك الحالي بمرونة وفعالية من حيث التكلفة مع متطلبات العمل المتغيرة باستمرار.

قسم العام و التعليم المهنيمنطقة بريانسك

مؤسسة تعليمية حكومية

كلية كلينتسوفسكي للنسيج

برنامج لأنظمة المعلومات الآلية

تكنولوجيا خادم العميل

طالب غرام. أ-90________________(بتروشينكو أ.و.)

المعلم _______________________ (شيروكوفا أ.ل.)

كلينتسي - 2011

1. الخوادم. أساسيات الخادم

2. نموذج خادم العميل

3. تصنيف الخوادم القياسية

4. خاتمة

1. الخوادم. أساسيات الخادم

الخادم (من الخادم الإنجليزي، يخدم). اعتمادًا على الغرض، هناك عدة تعريفات لمفهوم الخادم.

1. الخادم (الشبكة) - عقدة شبكة منطقية أو فعلية تخدم الطلبات لعنوان و/أو اسم مجال واحد (مجاور) أسماء النطاقات)، يتكون من واحد أو نظام من خوادم الأجهزة التي يتم تنفيذ واحد أو نظام من برامج الخادم عليها

2. الخادم ( برمجة) - البرنامج الذي يتلقى الطلبات من العملاء (في بنية خادم العميل).

3. الخادم ( المعدات) - جهاز كمبيوتر (أو جهاز كمبيوتر خاص) مخصص و/أو متخصص لأداء وظائف خدمية معينة.

3. الخادم في تكنولوجيا المعلومات - مكون البرمجياتنظام حاسوبي يؤدي وظائف خدمية بناء على طلب العميل، مما يتيح له الوصول إلى موارد معينة.

الترابط بين المفاهيم. يعمل تطبيق الخادم (الخادم) على جهاز كمبيوتر، ويسمى أيضًا "الخادم"، وعند النظر في طوبولوجيا الشبكة، تسمى هذه العقدة "الخادم". بشكل عام، قد يكون تطبيق خادم يعمل على محطة عمل عادية، أو أن تطبيق خادم يعمل على كمبيوتر خادم ضمن الهيكل قيد النظر يعمل كعميل (أي أنه ليس خادمًا من وجهة نظر طوبولوجيا الشبكة).

2. نموذج خادم العميل

يتميز نظام خادم العميل بوجود عمليتين مستقلتين متفاعلتين - العميل والخادم، والتي يمكن تنفيذها بشكل عام على أجهزة كمبيوتر مختلفة، تبادل البيانات عبر الشبكة.

يتم استدعاء العمليات التي تنفذ خدمة، مثل نظام الملفات أو خدمة قاعدة البيانات الخوادم(الخوادم). يتم استدعاء العمليات التي تطلب الخدمات من الخوادم عن طريق إرسال طلب ثم انتظار الاستجابة من الخادم عملاء(العملاء).

وفقًا لهذا المخطط، يمكن بناء أنظمة معالجة البيانات القائمة على نظام إدارة قواعد البيانات (DBMS) والبريد والأنظمة الأخرى. سنتحدث عن قواعد البيانات والأنظمة المبنية عليها. وهنا سيكون الأمر أكثر ملاءمة ليس فقط للنظر فيه بنية خادم العميلومقارنتها مع آخر - خادم الملفات.

في نظام خادم الملفات، يتم تخزين البيانات على خادم ملفات (على سبيل المثال، Novell NetWare أو Windows NT Server)، وتتم معالجتها على محطات العمل، والتي، كقاعدة عامة، تقوم بتشغيل أحد ما يسمى "أنظمة إدارة قواعد البيانات المكتبية" " - الوصول، FoxPro، Paradox، الخ..

التطبيق الموجود على محطة العمل "مسؤول عن كل شيء" - عن الإنشاء واجهة المستخدمومعالجة البيانات المنطقية والمعالجة المباشرة للبيانات. يوفر خادم الملفات فقط أكثر من ذلك مستوى منخفض- فتح وإغلاق وتعديل الملفات. يرجى ملاحظة - الملفات، وليس قواعد البيانات. يقع نظام إدارة قاعدة البيانات على محطة العمل.

وبالتالي، هناك العديد من العمليات المستقلة وغير المتسقة التي تشارك في المعالجة المباشرة للبيانات. بالإضافة إلى ذلك، لتنفيذ أي معالجة (بحث، تعديل، جمع، وما إلى ذلك)، يجب نقل جميع البيانات عبر الشبكة من الخادم إلى محطة العمل ( انظر الشكل. مقارنة بين نماذج خادم الملفات وخادم العميل)


أرز. مقارنة بين نماذج خادم الملفات ونماذج خادم العميل

في نظام خادم العميل، يوجد (على الأقل) تطبيقان - عميل وخادم، يتقاسمان فيما بينهما تلك الوظائف التي، في بنية خادم الملفات، يتم تنفيذها بالكامل بواسطة تطبيق على محطة عمل. يتم تخزين البيانات ومعالجتها مباشرة بواسطة خادم قاعدة بيانات، والذي يمكن أن يكون Microsoft خادم قاعدة البيانات، أوراكل ، سايبيس ، الخ.

يتم إنشاء واجهة المستخدم من قبل العميل، والتي يمكنك استخدامها خط كاملأدوات خاصة، بالإضافة إلى معظم أنظمة إدارة قواعد البيانات لسطح المكتب. يمكن تنفيذ منطق معالجة البيانات على كل من العميل والخادم. يرسل العميل الطلبات إلى الخادم، والتي تتم صياغتها عادةً بلغة SQL. يقوم الخادم بمعالجة هذه الطلبات ويرسل النتيجة إلى العميل (بالطبع يمكن أن يكون هناك العديد من العملاء).

وبالتالي، تكون هناك عملية واحدة مسؤولة عن معالجة البيانات بشكل مباشر. وفي الوقت نفسه، تتم معالجة البيانات في نفس المكان الذي يتم فيه تخزين البيانات - على الخادم، مما يلغي الحاجة إلى نقل كميات كبيرة من البيانات عبر الشبكة.

ما الذي توفره بنية خادم العميل؟

دعونا نلقي نظرة على هذه البنية من وجهة نظر احتياجات العمل. ما هي الصفات التي يجلبها خادم العميل إلى نظام المعلومات؟

مصداقية

يقوم خادم قاعدة البيانات بتعديل البيانات بناءً على آلية المعاملة، والتي تمنح أي مجموعة من العمليات المعلنة كمعاملة الخصائص التالية:

  • الذرية- تحت أي ظرف من الظروف، إما سيتم تنفيذ جميع عمليات المعاملة أو لن يتم تنفيذ أي منها؛ سلامة البيانات عند إتمام المعاملة؛
  • استقلال- بدأت المعاملات من قبل مستخدمين مختلفينولا تتدخلوا في شؤون بعضكم البعض؛
  • التسامح مع الخطأ- بعد إتمام المعاملة، لن يتم فقدان نتائجها بعد الآن.

تعد آلية المعاملة التي يدعمها خادم قاعدة البيانات أكثر كفاءة من الآلية المماثلة في أنظمة إدارة قواعد البيانات لسطح المكتب، وذلك لأن يتحكم الخادم مركزيًا في تشغيل المعاملات. بالإضافة إلى ذلك، في نظام خادم الملفات، يمكن أن يؤدي الفشل في أي من محطات العمل إلى فقدان البيانات وعدم إمكانية الوصول إلى محطات العمل الأخرى، بينما في نظام خادم العميل، لا يؤثر الفشل على العميل أبدًا على سلامة البيانات ومدى توفرها للعملاء الآخرين.

قابلية التوسع

قابلية التوسع هي قدرة النظام على التكيف مع النمو في عدد المستخدمين وحجم قاعدة البيانات مع زيادة كافية في أداء النظام الأساسي للأجهزة، دون استبدال البرامج.

من المعروف أن قدرات أنظمة إدارة قواعد البيانات المكتبية محدودة للغاية - من خمسة إلى سبعة مستخدمين و30-50 ميجا بايت على التوالي. الأرقام، بالطبع، تمثل بعض القيم المتوسطة، في حالات محددةيمكنهم الانحراف في أي من الاتجاهين. والأهم من ذلك، أنه لا يمكن التغلب على هذه العوائق من خلال زيادة قدرات الأجهزة.

يمكن للأنظمة القائمة على خوادم قواعد البيانات أن تدعم آلاف المستخدمين ومئات الجيجابايت من المعلومات - ما عليك سوى منحهم النظام الأساسي للأجهزة المناسب.

أمان

يوفر خادم قاعدة البيانات وسائل قوية لحماية البيانات من الوصول غير المصرح به، وهو أمر غير ممكن في أنظمة إدارة قواعد البيانات المكتبية. وفي الوقت نفسه، تتم إدارة حقوق الوصول بمرونة شديدة - وصولاً إلى مستوى حقول الجدول. بالإضافة إلى ذلك، يمكنك حظر الوصول المباشر إلى الجداول تمامًا، مما يسمح للمستخدم بالتفاعل مع البيانات من خلال الكائنات الوسيطة - طرق العرض والإجراءات المخزنة. لذلك يمكن للمسؤول التأكد من أنه لن يقرأ أي مستخدم ذكي جدًا ما ليس من المفترض أن يقرأه.

المرونة

في تطبيق البيانات، هناك ثلاث طبقات منطقية:

  • واجهة المستخدم ;
  • قواعد المعالجة المنطقية(قواعد الاعمال)؛
  • إدارة البيانات(فقط لا تخلط بين الطبقات المنطقية والمستويات المادية، والتي سنتحدثأقل).

كما ذكرنا سابقًا، في بنية خادم الملفات، يتم تنفيذ الطبقات الثلاث في تطبيق واحد متجانس يعمل على محطة عمل. ولذلك، فإن التغييرات في أي من الطبقات تؤدي بشكل واضح إلى تعديل التطبيق وتحديث إصداراته لاحقًا على محطات العمل.

في تطبيق خادم العميل ذو المستويين الموضح في الشكل أعلاه، كقاعدة عامة، يتم تنفيذ جميع وظائف إنشاء واجهة مستخدم على العميل، ويتم تنفيذ جميع وظائف إدارة البيانات على الخادم، ولكن يمكن تنفيذ قواعد العمل على حد سواء على الخادم باستخدام آليات برمجة الخادم (الإجراءات المخزنة، والمشغلات، وطرق العرض، وما إلى ذلك) وعلى العميل.

في تطبيق ثلاثي الطبقات، توجد طبقة متوسطة ثالثة تنفذ قواعد العمل، وهي مكونات التطبيق الأكثر تغييرًا ( انظر الشكل. نموذج تطبيق خادم العميل ثلاثي المستويات)

أرز. نموذج تطبيق خادم العميل ثلاثي المستويات

إن وجود مستويات متعددة وليس واحدًا يسمح بالمرونة و الحد الأدنى من التكاليفتكييف التطبيق مع متطلبات العمل المتغيرة.

دعونا نحاول توضيح كل ما سبق بمثال صغير. لنفترض أن قواعد الرواتب (قواعد العمل) الخاصة بمؤسسة معينة قد تغيرت وأن البرنامج المقابل يحتاج إلى التحديث.

1) في نظام خادم الملفات، نقوم "ببساطة" بإجراء تغييرات على التطبيق وتحديث إصداراته على محطات العمل. لكن هذا "ببساطة" يستلزم الحد الأقصى من تكاليف العمالة.

2) في نظام خادم العميل ثنائي المستوى، إذا تم تنفيذ خوارزمية كشوف المرتبات على الخادم في شكل قاعدة كشوف المرتبات، فسيتم تنفيذها بواسطة خادم قواعد العمل، ويتم تنفيذها، على سبيل المثال، كخادم OLE، ونحن سيقوم بتحديث أحد كائناته دون تغيير أي شيء ولا في تطبيق العميلولا على خادم قاعدة البيانات.

هي مكونات غير متساوية شبكة المعلومات. يمتلك البعض موردًا وبالتالي يطلق عليهم خوادم، والبعض الآخر يصل إلى هذه الموارد ويطلق عليهم اسم العملاء. دعونا نلقي نظرة على كيفية تفاعلهم مع بعضهم البعض وما هي بنية خادم العميل.

بنية خادم العميل

تمثل بنية “Client-Server” تفاعل المكونات الهيكلية في الشبكة بناءً على مكونات شبكة معينة، حيث تكون المكونات الهيكلية هي العقد الخادم والمزود لشبكات معينة وظائف متخصصة(الخدمات)، وكذلك العملاء الذين يستخدمون هذه الخدمة. يتم تقسيم الوظائف المحددة عادةً إلى ثلاث مجموعات بناءً على حل مشكلات محددة:

  • تم تصميم وظائف إدخال البيانات وعرضها لتفاعل المستخدم مع النظام؛
  • الوظائف المطبقة - لكل منها مجموعتها الخاصة؛
  • تم تصميم وظائف إدارة الموارد لإدارة نظام الملفات وقواعد البيانات المختلفة والمكونات الأخرى.

على سبيل المثال، جهاز كمبيوتر بدون إتصال شبكةيمثل مكونات العرض والتطبيق والتحكم مستويات مختلفة. تتضمن هذه المستويات نظام التشغيل والتطبيقات والبرامج المساعدة والأدوات المساعدة المتنوعة. وبنفس الطريقة، يتم عرض كافة المكونات المذكورة أعلاه على شبكة الإنترنت. الشيء الرئيسي هو ضمان تفاعل الشبكة بشكل صحيح بين هذه المكونات.

كيف تعمل بنية خادم العميل

تُستخدم بنية خادم العميل في أغلب الأحيان لإنشاء قواعد بيانات خاصة بالشركة، حيث لا يتم تخزين المعلومات فحسب، بل تتم معالجتها أيضًا بشكل دوري أساليب مختلفة. قاعدة البيانات هي العنصر الرئيسي في أي نظام معلومات مؤسسي، ويضم الخادم جوهر قاعدة البيانات هذه. وبالتالي فإن العمليات الأكثر تعقيدًا المتعلقة بإدخال البيانات وتخزينها ومعالجتها وتعديلها تتم على الخادم. عندما يصل مستخدم (عميل) إلى قاعدة البيانات (الخادم)، تتم معالجة الطلب: الوصول مباشرة إلى قاعدة البيانات وإرجاع الاستجابة (نتيجة المعالجة). نتيجة المعالجة هي رسالة شبكة حول نجاح العملية أو حدوث خطأ. يمكن لأجهزة الكمبيوتر الخادم التعامل مع الطلبات المتزامنة من عملاء متعددين لنفس الملف. يتيح لك هذا العمل عبر الشبكة تسريع عمل التطبيقات التي تستخدمها.

بنية خادم العميل: تطبيق التكنولوجيا

يتم استخدام هذه البنية للوصول إلى الموارد المختلفة باستخدام تقنيات الشبكة: قواعد بيانات، خوادم البريدوجدران الحماية والخوادم الوكيلة. يمكن أن يؤدي تطوير تطبيقات خادم العميل إلى تحسين أمان وموثوقية وأداء التطبيقات المستخدمة والشبكة ككل. تُستخدم تطبيقات خادم العميل في أغلب الأحيان لأتمتة الأعمال.

يجب أن يلبي نظام إدارة قواعد البيانات الحديث عددًا من المتطلبات، أهمها خادم قاعدة بيانات ذكي عالي الأداء. بعد ذلك، سننظر في الاتجاهات الرئيسية في تطورها ونناقش الآليات المحددة التي تتجسد فيها.

لا تزال عملية التحسين الفني لخادم قاعدة البيانات غير مرئية لمعظم المستخدمين نظم إدارة قواعد البيانات الحديثة. لذلك، عند اختيار نظام معين، فإنهم، كقاعدة عامة، لا يأخذون في الاعتبار أيضًا المستوى الفنيالقرارات المتضمنة في آلية عمله، ولا تأثير هذه القرارات عليه الأداء العامنظام إدارة قواعد البيانات. وفي الوقت نفسه، لا يتم تحديد جودتها من خلال ثراء واجهات المستخدم أو تنوع أدوات دعم التطوير، ولكنها تعتمد في المقام الأول على ميزات بنية خادم قاعدة البيانات. بعد ذلك، سيتم النظر في نماذج تكنولوجيا خادم العميل، وسيتم تحديد مكان خادم قاعدة البيانات في هذه النماذج، وسيتم وصف أهم آليات خادم قاعدة البيانات - الإجراءات والقواعد (المشغلات) والأحداث - بإيجاز. سيتم توضيح الأخير بأمثلة تستخدم لهجة SQL المعتمدة في Ingres DBMS.

نماذج التكنولوجيا وخادم العميل.

يعد "خادم العميل" نموذجًا للتفاعل بين أجهزة الكمبيوتر الموجودة على الشبكة. كقاعدة عامة، أجهزة الكمبيوتر ليست متساوية. ولكل منهم غرضه الخاص، المختلف عن الآخرين، ويلعب دوره الخاص. تمتلك بعض أجهزة الكمبيوتر الموجودة على الشبكة المعلومات وتتحكم فيها موارد الحوسبة، مثل المعالجات ونظام الملفات وخدمة البريد وخدمة الطباعة وقاعدة البيانات. تتمتع أجهزة الكمبيوتر الأخرى بالقدرة على الوصول إلى هذه الخدمات باستخدام خدمات الأولى. يُطلق على الكمبيوتر الذي يدير هذا المورد أو ذاك عادةً اسم خادم هذا المورد، ويسمى الكمبيوتر الذي يريد استخدامه العميل. يتم تحديد خادم معين حسب نوع المورد الذي يمتلكه. لذلك، إذا كان المورد قاعدة بيانات، فإننا نتحدث عنه خادم قاعدة البياناتوالغرض منه هو خدمة طلبات العملاء المتعلقة بمعالجة البيانات؛ إذا كان المورد هو نظام الملفات، فإننا نتحدث عنه خادم الملفاتأو خادم الملفات وما إلى ذلك.

على الشبكة، يمكن لنفس الكمبيوتر أن يعمل كعميل وخادم. على سبيل المثال، في نظام المعلومات الذي يتضمن أجهزة كمبيوتر شخصية، وكمبيوتر مركزي، وكمبيوتر صغير يعمل بنظام UNIX، يمكن للأخير أن يعمل كخادم قاعدة بيانات، يخدم الطلبات من العملاء - أجهزة كمبيوتر شخصية، وكعميل، يرسل الطلبات إلى الكمبيوتر المركزي حاسوب.

وينطبق نفس المبدأ على تفاعل البرامج. إذا كان أحدهم يؤدي وظائف معينة، مما يوفر للآخرين مجموعة مناسبة من الخدمات، فإن هذا البرنامج يعمل كخادم. تسمى البرامج التي تستخدم هذه الخدمات العملاء. وبالتالي، غالبًا ما يُطلق على جوهر نظام إدارة قواعد البيانات العلائقي الموجه نحو SQL اسم خادم قاعدة البيانات، أو خادم SQL، ويسمى البرنامج الذي يصل إليه لخدمات معالجة البيانات عميل SQL.

في البداية، كان لدى أنظمة إدارة قواعد البيانات بنية مركزية (الشكل 10). في ذلك، يتم تشغيل نظام إدارة قواعد البيانات (DBMS) نفسه وبرامج التطبيقات التي تعمل مع قواعد البيانات الكمبيوتر المركزي(كمبيوتر مركزي أو كمبيوتر صغير). وكانت قواعد البيانات موجودة هناك أيضًا. تم توصيل المحطات الطرفية بالكمبيوتر المركزي وكانت بمثابة محطات عمل للمستخدم. جميع العمليات المتعلقة بمعالجة البيانات، مثل: دعم إدخال المستخدم، وإنشاء الاستعلامات وتحسينها وتنفيذها، والتبادل مع الأجهزة ذاكرة خارجيةوما إلى ذلك، تم تنفيذها على جهاز كمبيوتر مركزي، مما فرض متطلبات صارمة على أدائها. ترتبط ميزات الجيل الأول من نظام إدارة قواعد البيانات ارتباطًا مباشرًا بهندسة أنظمة الكمبيوتر المركزية والحواسيب الصغيرة وتعكس جميع مزاياها وعيوبها بشكل مناسب. ومع ذلك، نحن مهتمون أكثر الوضع الحالينظام إدارة قواعد البيانات متعدد المستخدمين، والذي أصبحت بنية خادم العميل هي المعيار الفعلي له.

الشكل 10 - الأنظمة ذات البنية المركزية

للحصول على فكرة أوضح عن ميزاته، من الضروري النظر في عدة نماذج لتكنولوجيا خادم العميل، وهو ما سيتم القيام به.

فإذا افترض أن المتوقع نظام معلومات(IS) سيكون لديه تقنية "خادم العميل"، مما يعني أن برامج التطبيقات المنفذة في إطارها سيتم توزيعها بطبيعتها. بمعنى آخر، سيتم تنفيذ بعض وظائف برنامج التطبيق (أو، ببساطة، التطبيق) في برنامج العميل، والآخر - في برنامج الخادم، وسيتم تحديد بروتوكول معين لتفاعلهم.

المبدأ الأساسي لتكنولوجيا خادم العميل هو تقسيم وظائف التطبيق التفاعلي القياسي إلى أربع مجموعات ذات طبيعة مختلفة. المجموعة الأولى هي وظائف إدخال البيانات وعرضها. تجمع المجموعة الثانية بين الوظائف التطبيقية البحتة المميزة لشيء معين موضوع النقاش(على سبيل المثال، ل النظام المصرفي- فتح حساب، تحويل الأموال من حساب إلى آخر، الخ). تتضمن المجموعة الثالثة الوظائف الأساسية لتخزين وإدارة موارد المعلومات (قواعد البيانات، وأنظمة الملفات، وما إلى ذلك). وأخيراً فإن وظائف المجموعة الرابعة هي الوظائف الخدمية (تلعب دور الروابط بين وظائف المجموعات الثلاث الأولى.

ووفقا لهذا، يتم تمييز المكونات المنطقية التالية في أي تطبيق:

مكون العرض الذي ينفذ وظائف المجموعة الأولى؛

مكون تطبيق يدعم وظائف المجموعة الثانية؛

مكون الوصول مصادر المعلومات، ودعم وظائف المجموعة الثالثة، ويتم تقديم وتوضيح الاتفاقيات الخاصة بطرق تفاعلهم (بروتوكول التفاعل).

يتم تحديد الاختلافات في تطبيقات تكنولوجيا العميل والخادم من خلال أربعة عوامل. أولاً، ما هي أنواع البرامج التي تم دمج كل مكون من هذه المكونات فيها. ثانيا، ما هي الآليات البرمجية المستخدمة لتنفيذ وظائف المجموعات الثلاث. ثالثاً، كيفية توزيع المكونات المنطقية بين أجهزة الكمبيوتر الموجودة على الشبكة. رابعا ما هي الآليات المستخدمة لربط المكونات مع بعضها البعض.

هناك أربعة أساليب يتم تنفيذها في النماذج:

نموذج خادم الملفات (خادم الملفات - FS);

· نموذج الوصول إلى البيانات عن بعد (Remote Data Access - RDA)؛

· نموذج خادم قاعدة البيانات (DataBase Server - DBS);

· نموذج خادم التطبيقات (Application Server - AS).

نموذج FS هو الأساس ل الشبكات المحليةحواسيب شخصية. منذ وقت ليس ببعيد كانت تحظى بشعبية كبيرة بين المطورين المحليين الذين استخدموا أنظمة مثل FoxPRO و Clipper و Clarion و Paradox وما إلى ذلك. جوهر النموذج بسيط ومعروف للجميع. يعتبر أحد أجهزة الكمبيوتر الموجودة على الشبكة خادم الملفاتويوفر خدمات معالجة الملفات لأجهزة الكمبيوتر الأخرى. يعمل خادم الملفات تحت سيطرة الشبكة نظام التشغيل(على سبيل المثال، Novell NetWare) ويلعب دور مكون للوصول إلى موارد المعلومات (أي الملفات). على أجهزة الكمبيوتر الأخرى على الشبكة، يتم تشغيل تطبيق، والذي يجمع رمزه بين مكون العرض التقديمي ومكون التطبيق (الشكل 11). بروتوكول التبادل عبارة عن مجموعة من المكالمات ذات المستوى المنخفض التي توفر للتطبيق إمكانية الوصول إلى نظام الملفات على خادم الملفات.

الشكل 11 - نموذج خادم الملفات

كان نموذج FS بمثابة الأساس لتوسيع القدرات نظام إدارة قواعد البيانات الشخصيةنحو دعم وضع المستخدمين المتعددين. في مثل هذه الأنظمة على عدة حواسيب شخصيةيتم تنفيذ كل من البرنامج التطبيقي ونسخة من نظام إدارة قواعد البيانات، ويتم تضمين قواعد البيانات في ملفات مشتركة موجودة على خادم الملفات. عندما يصل برنامج تطبيقي إلى قاعدة بيانات، يقوم نظام إدارة قواعد البيانات (DBMS) بإعادة توجيه الطلب إلى خادم الملفات. يحدد هذا الطلب الملفات التي توجد بها البيانات المطلوبة. واستجابة للطلب، يرسل خادم الملفات كتلة البيانات المطلوبة عبر الشبكة. يقوم نظام إدارة قواعد البيانات (DBMS)، بعد استلامه، بتنفيذ الإجراءات على البيانات التي تم الإعلان عنها تطبيق برنامج.

تشمل العيوب التكنولوجية للنموذج ارتفاعًا ازدحام انترنت(نقل ملفات متعددة، المطلوبة من قبل التطبيق)، نطاق ضيق من عمليات معالجة البيانات ("البيانات هي ملفات")، ونقص التدابير الأمنية الكافية للوصول إلى البيانات (الحماية فقط على مستوى نظام الملفات)، وما إلى ذلك. في الواقع، ما ورد أعلاه ليس عيوبًا، ولكنه نتيجة للقيود المتأصلة في نموذج FS، والتي تحددها طبيعته. ينشأ سوء الفهم عند استخدام نموذج FS لأغراض أخرى، على سبيل المثال، عندما يحاولون تفسيره على أنه نموذج خادم قاعدة بيانات. مكان نموذج FS في التسلسل الهرمي لنماذج خادم العميل هو مكان نموذج خادم الملفات، وليس أكثر. وهذا هو السبب في أن محاولات إنشاء مشاريع واسعة النطاق بناءً على نموذج FS محكوم عليها بالفشل. أنظمة الشركات- المحاولات التي تمت في الماضي القريب وغالباً ما تتم الآن.

يختلف نموذج RDA الأكثر تقدمًا من الناحية التكنولوجية بشكل كبير عن نموذج FS في طبيعة مكون الوصول إلى موارد المعلومات. هذا عادة ما يكون خادم SQL. في نموذج RDA، يتم دمج رموز مكون العرض التقديمي ومكون التطبيق وتنفيذها على جهاز الكمبيوتر العميل. ويدعم هذا الأخير كلاً من وظائف إدخال البيانات وعرضها، بالإضافة إلى وظائف التطبيق البحتة. يتم توفير الوصول إلى موارد المعلومات إما عن طريق مشغلي لغة خاصة (لغة SQL، على سبيل المثال، إذا كنا نتحدث عن قواعد البيانات)، أو عن طريق استدعاء وظائف مكتبة خاصة (إذا كانت هناك واجهة برمجة التطبيقات المناسبة - API).

يرسل العميل طلبات إلى موارد المعلومات (على سبيل المثال، قواعد البيانات) عبر الشبكة حاسب يستخدم عن بعد. يقوم بتشغيل نواة نظام إدارة قواعد البيانات (DBMS)، الذي يعالج الاستعلامات، وينفذ الإجراءات الموضحة فيها، ويعيد النتيجة إلى العميل، بتنسيقها على شكل كتلة بيانات (الشكل 12). في هذه الحالة، يكون البادئ في معالجة البيانات هو البرامج التي تعمل على أجهزة الكمبيوتر العميلة، في حين يتم تعيين دور سلبي لنواة نظام إدارة قواعد البيانات (DBMS) - خدمة الاستعلامات ومعالجة البيانات.

الشكل 12 - نموذج الوصول إلى البيانات عن بعد

يزيل نموذج RDA العيوب الكامنة في كلا النظامين ذوي البنية المركزية والأنظمة التي تحتوي على خادم ملفات.

أولا وقبل كل شيء، يؤدي نقل مكون العرض التقديمي ومكون التطبيق إلى أجهزة الكمبيوتر العميلة إلى تخفيف الحمل على خادم قاعدة البيانات بشكل كبير، مما يقلل من الرقم الإجماليعمليات نظام التشغيل. يتم تحرير خادم قاعدة البيانات من الوظائف غير المعتادة بالنسبة له؛ يتم تحميل معالج الخادم أو المعالجات بالكامل بمعالجة البيانات والاستعلامات والمعاملات. أصبح هذا ممكنًا من خلال إزالة الأجهزة الطرفية وتجهيز محطات العمل بأجهزة كمبيوتر لها موارد حوسبة محلية خاصة بها، والتي تستخدمها برامج الواجهة الأمامية بالكامل. من ناحية أخرى، تم تقليل حمل الشبكة بشكل حاد، نظرًا لأنه لا يتم إرسال طلبات الإدخال / الإخراج من العميل إلى الخادم (كما هو الحال في الأنظمة التي تحتوي على خادم ملفات)، ولكن الطلبات في لغة SQL، حجمها هو أصغر بكثير.

الميزة الرئيسية لنموذج RDA هي توحيد واجهة خادم العميل في شكل لغة SQL. في الواقع، تفاعل مكون التطبيق مع نواة نظام إدارة قواعد البيانات (DBMS) مستحيل بدون وسيلة اتصال موحدة. يجب أن تكون الطلبات المقدمة من البرنامج إلى النواة مفهومة لكليهما. للقيام بذلك، ينبغي صياغتها في لغة خاصة. ولكنه موجود بالفعل في نظام إدارة قواعد البيانات لغة SQL، والتي تمت مناقشتها بالفعل. ولذلك، فمن المستحسن استخدامه ليس فقط كوسيلة للوصول إلى البيانات، ولكن أيضًا كمعيار للاتصال بين العميل والخادم.

يمكن مقارنة هذا التواصل بمحادثة بين عدة أشخاص، عندما يجيب أحدهم على أسئلة الآخرين (يتم طرح الأسئلة في وقت واحد). علاوة على ذلك، فهو يفعل ذلك بسرعة كبيرة لدرجة أن وقت انتظار الرد يقترب من الصفر. السرعه العاليهيتم التواصل في المقام الأول من خلال صياغة واضحة للسؤال، عندما لا يحتاج السائل والمجيب إلى مشاورات إضافية حول جوهر القضية. يتبادل المتحدثون عدة عبارات قصيرة لا لبس فيها، ولا يحتاجون إلى توضيح أي شيء.

لسوء الحظ، نموذج RDA لا يخلو من عدد من العيوب. أولاً، يؤدي التفاعل بين العميل والخادم عبر استعلامات SQL إلى تحميل الشبكة بشكل كبير. ثانيًا، الإدارة المرضية للتطبيقات في نموذج RDA تكاد تكون مستحيلة بسبب الجمع بين وظائف ذات طبيعة مختلفة (وظائف العرض والتطبيق) في برنامج واحد.

جنبا إلى جنب مع نموذج RDA، أصبح نموذج DBS الواعد يتمتع بشعبية متزايدة (الشكل 13). يتم تنفيذ هذا الأخير في بعض نظم إدارة قواعد البيانات العلائقية(إنفورميكس، إنجرس، سايبيس، أوراكل). لأنه يقوم على الآلية الإجراءات المخزنة- أداة برمجة خادم SQL. يتم تخزين الإجراءات في قاموس قاعدة البيانات، ومشاركتها بين عملاء متعددين، وتنفيذها على نفس الكمبيوتر الذي يعمل عليه خادم SQL. اللغة التي يتم تطوير الإجراءات المخزنة بها هي امتداد إجرائي للغة استعلامات SQLوهو فريد لكل نظام إدارة قواعد بيانات محدد.

الشكل 13 - نموذج خادم قاعدة البيانات

في نموذج DBS، يتم تشغيل مكون العرض التقديمي على جهاز الكمبيوتر العميل، بينما تم تصميم مكون التطبيق كمجموعة من الإجراءات المخزنة ويتم تشغيله على كمبيوتر خادم قاعدة البيانات. يتم أيضًا تنفيذ مكون الوصول إلى البيانات هناك، أي نواة نظام إدارة قواعد البيانات (DBMS). مزايا نموذج DBS واضحة: هذه هي إمكانية الإدارة المركزية لوظائف التطبيق، وتقليل حركة المرور (بدلاً من استعلامات SQL، يتم إرسال استدعاءات الإجراءات المخزنة عبر الشبكة)، والقدرة على تقسيم الإجراء بين عدة إجراءات. التطبيقات وتوفير موارد الكمبيوتر باستخدام خطة تنفيذ الإجراء التي تم إنشاؤها مرة واحدة. تشمل عيوب النموذج محدودية الأدوات المستخدمة لكتابة الإجراءات المخزنة، وهي عبارة عن امتدادات إجرائية مختلفة لـ SQL لا يمكن مقارنتها من حيث الأدوات المرئية والأدوات المرئية. وظائفمع لغات الجيل الثالث مثل C أو Pascal. يقتصر نطاق استخدامها على نظام إدارة قواعد بيانات محدد؛ معظم أنظمة إدارة قواعد البيانات ليس لديها القدرة على تصحيح واختبار الإجراءات المخزنة المطورة.

من الناحية العملية، غالبًا ما يتم استخدام النماذج المختلطة، عندما يتم دعم دعم تكامل قاعدة البيانات وبعض وظائف التطبيق البسيطة من خلال الإجراءات المخزنة (نموذج DBS)، والمزيد وظائف معقدةيتم تنفيذها مباشرة في برنامج تطبيقي يتم تشغيله على جهاز كمبيوتر عميل (نموذج RDA). بطريقة أو بأخرى، تعتمد أنظمة إدارة قواعد البيانات الحديثة متعددة المستخدمين على نماذج RDA وDBS، وعند إنشاء نظام معلومات يتضمن استخدام نظام إدارة قواعد البيانات فقط، فإنها تختار أحد هذين النموذجين أو مجموعة معقولة منهما.

الشكل 14.

نموذج خادم التطبيق.

في نموذج AS (الشكل 14)، تكون العملية التي يتم تشغيلها على الكمبيوتر العميل، كالعادة، مسؤولة عن الواجهة مع المستخدم (أي أنها تؤدي وظائف المجموعة الأولى). عند طلب الخدمات من أحد مكونات التطبيق، تلعب هذه العملية دور عميل التطبيق(عميل التطبيق - AC). يتم تنفيذ مكون التطبيق كمجموعة من العمليات التي تؤدي وظائف التطبيق ويسمى خادم التطبيق ( خادم التطبيقات - AS). يتم تنفيذ جميع العمليات على موارد المعلومات بواسطة المكون المقابل، حيث يلعب AS دور العميل. الموارد المتاحة من مكونات التطبيق أنواع مختلفة- قواعد البيانات، وطوابير الانتظار، والخدمات البريدية، الخ.

تعتمد نماذج RDA وDBS على فصل الوظائف على مستويين. في نموذج RDA، يتم تعيين وظائف التطبيق لبرنامج العميل؛ في نموذج DBS، تتحمل نواة DBMS مسؤولية تنفيذها. في الحالة الأولى، يتم دمج مكون التطبيق مع مكون العرض، وفي الحالة الثانية، يتم دمجه في مكون الوصول إلى موارد المعلومات. يطبق نموذج AS نظام فصل الوظائف ثلاثي المستويات، حيث يتم تمييز مكون التطبيق باعتباره أهم عنصر معزول في التطبيق، ويتم استخدام الآليات العالمية لنظام التشغيل متعدد المهام لتعريفه، ويتم توحيد الواجهات مع مكونين آخرين . نموذج AS هو الأساس لمراقبي معالجة المعاملات ( شاشات معالجة المعاملات - TPM)، أو ببساطة أكثر، مراقبي المعاملات، والتي تبرز كنوع خاص من البرامج.

في الختام، نلاحظ أنه عند الحديث عن خادم قاعدة البيانات، فإننا غالبًا ما نعني كلاً من الكمبيوتر والبرمجيات - جوهر نظام إدارة قواعد البيانات (DBMS). عند وصف بنية خادم العميل، نعني بخادم قاعدة البيانات جهاز كمبيوتر. علاوة على ذلك، سيتم فهم خادم قاعدة البيانات على أنه برنامج - جوهر نظام إدارة قواعد البيانات (DBMS).


معلومات ذات صله.