JavaRush /مدونة جافا /Random-AR /الخوادم. برنامج تعليمي للدمى

الخوادم. برنامج تعليمي للدمى

نشرت في المجموعة
نقدم أدناه ترجمة معدلة للمقال دليل غير التقنيين للخوادم بقلم Kannan Chandrasegaran، مطور من Panopto. يرجى ملاحظة أن المقالة مخصصة للمبتدئين الذين ليس لديهم سوى القليل من المعرفة بمفهوم جانب الخادم للتطبيق والخوادم. الخوادم.  برنامج تعليمي للدمى - 1

من الحياة المكتبية

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

أسفل فتحة الارانب

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

الخوادم

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

أنظمة التخزين أو تخزين البيانات

المهمة الرئيسية للخادم هي تخزين البيانات. يتضمن ذلك الملفات : الصور ومقاطع الفيديو والمستندات. يقوم الخادم بتخزينها بطريقة منظمة تشبه المجلدات الموجودة على جهاز الكمبيوتر الخاص بك، بحيث يمكن الوصول إليها عن طريق التطبيقات. ويتم تخزين المعلومات أيضًا على الخادم . تحتوي جميع التطبيقات على معلومات مهمة لتشغيلها.
الخوادم.  برنامج تعليمي للدمى - 6
يمكنك تقديم هذه المعلومات كمجموعة من الجداول. على سبيل المثال، يحتاج التطبيق إلى تخزين معلومات حول المستخدم وكلمة المرور الخاصة به حتى يمكن إجراء المصادقة. يمكن أن يكون تطبيقك بمثابة دليل مطعم، وفي هذه الحالة سيقوم الخادم بتخزين معلومات حول كل مطعم. بالإضافة إلى المعلومات نفسها، يقوم الخادم أيضًا بتسجيل العلاقات بين البيانات. على سبيل المثال، يحب المستخدم مطعمًا في أحد التطبيقات على الهاتف الذكي، ويتذكر الخادم هذا الاتصال بين المطعم والمستخدم.
الخوادم.  برنامج تعليمي للدمى - 7
هذا يسمح لك بالإجابة على العديد من الأسئلة. على سبيل المثال:
  • كم عدد المستخدمين الذين أحبوا هذا المطعم؟
  • ما هي المطاعم التي يحبها هذا المستخدم؟
  • ما هي المأكولات التي تجذب العديد من المستخدمين في وقت واحد؟
يتم تخزين المعلومات والعلاقات بين البيانات في قاعدة بيانات (DB). هناك العديد من أنواع قواعد البيانات، ولكن جميعها:
  • يمكن تخزين المعلومات
  • يمكن تخزين العلاقات بين البيانات
  • يمكن تلقي طلبات الحصول على المعلومات والرد عليها كبيانات مفردة أو مجموعة بيانات حسب الطلب.
هناك أنواع عديدة من قواعد البيانات، ولكل منها مزاياه وعيوبه. إذا سمعت مصطلحات مثل SQL، وMySQL، وMongoDB، وCouchDB، وRedis، فاعلم أننا نتحدث عن قواعد البيانات.

تفاعل

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

تطبيق الخادم

إذا كنت تريد إنشاء تطبيق سيتم تشغيله على هاتفك، فستحتاج أيضًا إلى تطبيق سيتم تشغيله على الخادم. يتم إنشاء التطبيقات من جانب الخادم باستخدام لغات وأطر البرمجة من جانب الخادم، والخيارات الشائعة هي Java و Ruby on Rails و Node.js و PHP و ASP.NET .
الخوادم.  برنامج تعليمي للدمى - 10
يمكنك القول أن واجهة برمجة التطبيقات (API) هي "باب" خادمك والتطبيق يعرف أنه يطرقها. تقوم قاعدة البيانات بتخزين كافة المعلومات الخاصة بك. وتطبيق الخادم هو "العقل" الذي يربط كل شيء معًا. فهو يتلقى الطلبات التي يتم إرسالها إليه عبر واجهة برمجة التطبيقات (API) ويستجيب لها، ويضيف المعلومات ويستعيدها من قاعدة البيانات، ويتخذ القرارات. على سبيل المثال، عندما يرسل تطبيق مستخدم معلومات تسجيل الدخول، يأتي الطلب عبر واجهة برمجة التطبيقات (API)، ويتم تخزين معلومات تسجيل الدخول الصحيحة في قاعدة البيانات. وتتمثل مهمة تطبيق الخادم في مقارنتها والاستجابة وفقًا لذلك للتطبيق باستخدام واجهة برمجة التطبيقات.

المعدات

الخوادم.  البرنامج التعليمي للدمى - 11
عندما تسمع كلمة "خادم"، ربما تتخيل هذه الصورة: خزائن ذات أضواء وامضة في غرفة مغلقة. ربما، لإكمال الصورة، الشيء الوحيد المفقود هو توم كروز، الذي سينزل من السقف ويسرق شيئًا ما. تمتلك العديد من الشركات الكبيرة خوادمها الخاصة ومراكز البيانات بأكملها (تلك الغرف الضخمة ذات الخزانات الوامضة). يمتلك فيسبوك وجوجل مئات الخوادم حول العالم. عندما تقوم بتشغيل خدمة ضخمة مع ملايين المستخدمين، فإن تشغيل خوادمك الخاصة يمكن أن يكون أرخص بكثير ويوفر أداءً أفضل. بدلاً من صيانة خوادمهم الخاصة، يستخدم العديد من المطورين الخدمات السحابية. توفر خدمات مثل Amazon Web Services وAzure وDigital Ocean القدرة على استخدام "الخوادم الافتراضية". تمتلك هذه الخدمات الأجهزة وتحافظ عليها، ويقوم المطور ببساطة بتحميل تطبيق الخادم عليها. يقدم بعض موفري الخدمة الواجهة الخلفية كخدمة، مما يسمح لك بالحصول على واجهة خلفية بسيطة دون الحاجة إلى كتابة تطبيق الواجهة الخلفية بنفسك.

هل تحتاج جميع التطبيقات إلى خلفية؟

من المحتمل أن تحتوي معظم التطبيقات التي تعرفها على مكون خلفي. وبطبيعة الحال، يمكنك العثور على برامج بدون جزء الخادم. على سبيل المثال، بعض تطبيقات الإنتاجية. تبدو الطريقة السهلة لمعرفة ما إذا كان التطبيق يحتوي على واجهة خلفية كما يلي:
إذا قمت بالتبديل إلى وضع الطيران، فهل سيظل التطبيق يعمل؟
إذا كانت الإجابة "لا"، فهذا يعني أن التطبيق يحتوي بالتأكيد على خادم خلفي.
الخوادم.  برنامج تعليمي للدمى - 12
أتمنى أن يكون لديك الآن فهم لماهية الواجهة الخلفية للتطبيق. ربما في المرة القادمة التي تقابل فيها زملائك المبرمجين، لن تتمكن من فهم ما يتحدثون عنه فحسب، بل ستتمكن أيضًا من استخدام كلمة "جايسون" اللعينة في محادثتك.
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION