JavaRush /جاوا بلاگ /Random-UR /سرورز ڈمی کے لیے تعلیمی پروگرام

سرورز ڈمی کے لیے تعلیمی پروگرام

گروپ میں شائع ہوا۔
ذیل میں ہم Panopto کے ایک ڈویلپر کنن چندر سیگرن کے مضمون The non-techie's guide to servers کا موافق ترجمہ فراہم کرتے ہیں۔ براہ کرم نوٹ کریں کہ مضمون کا مقصد ان ابتدائی افراد کے لیے ہے جو ایپلیکیشن اور سرورز کے سرور سائیڈ کے تصور سے بہت کم واقف ہیں۔ سرورز  ڈمی کے لیے تعلیمی پروگرام - 1

دفتری زندگی سے

آئی ٹی کمپنی میں "نان ٹیکی" بننا مشکل ہے، مجھ پر یقین کریں! مارکیٹرز، سیلز مینیجرز، اکاؤنٹنٹس - اس سے کوئی فرق نہیں پڑتا ہے - وقتاً فوقتاً ان کا سامنا اپنے تکنیکی طور پر جاننے والے ساتھیوں سے ہوتا ہے۔ وہ پروگرامر یا سسٹم ایڈمنسٹریٹر ہو سکتے ہیں.... کسی بھی طرح سے، "نان ٹیکیز" کو ایسا لگتا ہے کہ ان کے دماغ کا ایک اہم حصہ کٹ گیا ہے۔ یا وہ ذہین غیر انسانی زندگی کے ساتھ کسی نامعلوم سیارے پر اترے۔ یا…
سرورز  ڈمی کے لیے تعلیمی پروگرام - 2
کبھی کبھی، یقینا، سب کچھ اچھی طرح سے ختم ہوتا ہے. مثال کے طور پر، سامنے والی لڑکی راہداری سے نیچے چل رہی ہے۔ کچھ بھی پریشانی کی پیش گوئی نہیں کرتا: وہ بائیں طرف جا رہی ہے، آپ دائیں طرف جا رہے ہیں، اور جتنی جلدی ممکن ہو... نہیں، اس بار ایسا نہیں ہوا۔ آپ پہلے سے ہی اس کے ساتھ میز پر بیٹھے ہیں، اور عجیب خاموشی پر قابو پانے کی کوشش کر رہے ہیں، آپ نے پوچھا: "اور... آپ بالکل کیا کرتے ہیں؟" وہ کچھ کہنا شروع کر دیتی ہے، لیکن آپ کو فوری طور پر سمجھ نہیں آتی کہ وہ کیا کہہ رہی ہے۔ الفاظ مانوس معلوم ہوتے ہیں: یوزر انٹرفیس، ایپلی کیشنز، اور - ہاں، فیس بک ایک ویب سائٹ ہے۔ ہاں، بٹن ہیں، مینیو... آپ نے کسی طرح اس کے کام کی پیچیدگیوں کا اندازہ لگا لیا، اس کے الوداع کے لیے سر ہلایا اور آپ کے راستے ایک بڑے دفتر کی راہداریوں میں مختلف ہو گئے۔
سرورز  ڈمی کے لیے تعلیمی پروگرام - 3
لیکن جلد یا بدیر آپ اتنے خوش قسمت نہیں ہوں گے: آپ ایک سرور انجینئر سے ملیں گے۔ یا بیک اینڈ ڈویلپر۔ یہ نہ جانتے ہوئے کہ اب آپ اپنے آپ کو کس قسم کے جنگل میں پائیں گے، آپ بے دلی سے وہی سوال پوچھتے ہیں اور... جواب میں ابرکادبرا وصول کرتے ہیں۔ آپ بہت سارے غیر ملکی الفاظ سنتے ہیں، اور آپ کے دماغ میں خیالات آتے ہیں: "کیا یہ پوچھنا شائستہ ہے کہ API کیا ہے؟"، "ہم ہر وقت "ڈیٹا بیس" استعمال کرتے ہیں، ٹھیک ہے؟"، "یہ جیسن کون ہے؟ "(JSON)؟"۔ آپ کا انجینئر دوست آپ کو سرورز کے بارے میں بتانے کی کوشش کر رہا ہے، لیکن وہ نہیں سمجھتا کہ آپ کے لیے پیشہ ورانہ اصطلاحات سے بھری اس کی تقریر کو سمجھنا کتنا مشکل ہے۔ آپ نے شاید پہلے لفظ "سرور" سنا ہوگا، لیکن یہ اتنے مختلف سیاق و سباق میں استعمال ہوا ہے کہ اس کے معنی سمجھنا مشکل ہے۔ ٹھیک ہے، آئیے اس اصطلاح کو سمجھنے کی کوشش کرتے ہیں۔

خرگوش کے سوراخ کے نیچے

جب ایک عام شخص (مطلب، پروگرامر یا منتظم نہیں) کوئی ایپلیکیشن استعمال کرتا ہے، تو وہ صرف انٹرفیس دیکھتا ہے، ایک تصویر جو کچھ واضح (اکثر) اعمال پر ردعمل ظاہر کرتی ہے۔ درحقیقت، صارفین جو عام طور پر "ایپلی کیشن" کے ذریعے سمجھتے ہیں وہ اس کا فرنٹ اینڈ ہے، یعنی سامنے والا حصہ، وہ ریپر جس کے ساتھ وہ بات چیت کرتے ہیں۔ لیکن صارفین اس کے بارے میں بہت کم جانتے ہیں کہ اندر کیا ہے، یعنی ایپلی کیشن کو کیا کام کرتا ہے۔ مان لیں کہ آپ مجھے ایک پیغام بھیجتے ہیں، مثال کے طور پر، Whatsapp یا Viber کے ذریعے۔ ایسا لگتا ہے کہ آپ کے اسمارٹ فون سے میرے پاس کوئی پیغام آرہا ہے۔ آئیے اس عمل کو قریب سے دیکھیں۔ مان لیں کہ آپ مجھے ایک پیغام بھیجتے ہیں جب میرا فون بند ہو جاتا ہے، اور پھر آپ خود اپنا سمارٹ فون بند کر دیتے ہیں۔ اور اس طرح، میں اپنا فون آن کرتا ہوں، اور پھر بھی آپ کا پیغام وصول کرتا ہوں، حالانکہ ہمارے فون ایک ہی وقت میں کام نہیں کرتے تھے۔ ایسا لگتا ہے کہ ہم کچھ کھو رہے ہیں! یہ وہ "کچھ" ہے جسے ہم نے یاد کیا—بیک اینڈ یا سرور۔
سرورز  ڈمی کے لیے تعلیمی پروگرام - 4
جب پروگرامرز فرنٹ اینڈ اور بیک اینڈ کے بارے میں بات کرتے ہیں، تو ان کا مطلب عام طور پر ایپلی کیشن کے صارف حصے کو پروگرام کی منطق سے الگ کرنا ہوتا ہے۔ لہذا، فرنٹ اینڈ ایپلیکیشن کا انٹرفیس حصہ ہے، اور بیک اینڈ اس کا سرور حصہ ہے۔

سرورز

بنیادی طور پر، سرور ایک کمپیوٹنگ مشین ہے، ایک ایسا کمپیوٹر جو انٹرنیٹ سے منسلک ہوتا ہے اور مسلسل آن ہوتا ہے۔
سرور کے دو اہم کام ڈیٹا اسٹوریج اور کمیونیکیشن ہیں۔
سرورز  ڈمی کے لیے تعلیمی پروگرام - 5
آپ واٹس ایپ یا وائبر کے ذریعے پیغام بھیجتے ہیں، آپ کے اسمارٹ فون پر موجود ایپلی کیشن پیغام کو اس سرور کو بھیجتی ہے جہاں اسے محفوظ کیا جاتا ہے۔ جب میرے سمارٹ فون پر نصب وائبر سرور سے منسلک ہوتا ہے، تو یہ مجھے تمام ذخیرہ شدہ پیغامات بھیجتا ہے۔
سرور وہ "بیس اسٹیشن" ہے جہاں سے ایپلیکیشن چلتی ہے۔
جب کسی ایپلیکیشن کو کسی بھی معلومات کی ضرورت ہوتی ہے تو وہ سرور سے رابطہ کرتی ہے۔ جب کسی ایپلیکیشن کو ایپلیکیشن کے دوسرے صارف کے ساتھ بات چیت کرنے کی ضرورت ہوتی ہے، تو یہ سرور ہوتا ہے جو انہیں بات چیت کرنے کی اجازت دیتا ہے۔ اصطلاحات سرور، بیک اینڈ، اور API اکثر ایک دوسرے کے بدلے استعمال ہوتے ہیں۔

اسٹوریج یا ڈیٹا اسٹوریج سسٹم

سرور کا بنیادی کام ڈیٹا ذخیرہ کرنا ہے۔ اس میں فائلیں شامل ہیں : تصاویر، ویڈیوز اور دستاویزات۔ سرور انہیں ایک منظم طریقے سے اسٹور کرتا ہے جو آپ کے کمپیوٹر کے فولڈرز کی طرح ہوتا ہے، تاکہ ایپلیکیشنز کے ذریعے ان تک رسائی حاصل کی جا سکے۔ معلومات سرور پر بھی محفوظ کی جاتی ہیں ۔ تمام ایپلی کیشنز میں ان کے آپریشن کے لیے اہم معلومات ہوتی ہیں۔
سرورز  ڈمی کے لیے تعلیمی پروگرام - 6
آپ اس معلومات کو ٹیبل کے سیٹ کے طور پر پیش کر سکتے ہیں۔ مثال کے طور پر، ایک ایپلیکیشن کو صارف اور اس کے پاس ورڈ کے بارے میں معلومات ذخیرہ کرنے کی ضرورت ہوتی ہے تاکہ تصدیق ہو سکے۔ آپ کی درخواست ایک ریسٹورنٹ گائیڈ ہو سکتی ہے، اس صورت میں سرور ہر ریستوراں کے بارے میں معلومات محفوظ کرے گا۔ خود معلومات کے علاوہ، سرور ڈیٹا کے درمیان تعلقات کو بھی ریکارڈ کرتا ہے۔ مثال کے طور پر، ایک صارف اسمارٹ فون پر ایک ایپلی کیشن میں ریستوران کو پسند کرتا ہے، اور سرور ریستوران اور صارف کے درمیان اس تعلق کو یاد رکھتا ہے۔
سرورز  ڈمی کے لیے تعلیمی پروگرام - 7
یہ آپ کو بہت سے سوالات کے جوابات دینے کی اجازت دیتا ہے۔ مثال کے طور پر:
  • کتنے صارفین نے اس ریستوراں کو پسند کیا ہے؟
  • اس صارف کو کون سے ریستوراں پسند ہیں؟
  • کون سے پکوان ایک ساتھ کئی صارفین کو پسند کرتے ہیں؟
ڈیٹا کے درمیان معلومات اور تعلقات کو ڈیٹا بیس (DB) میں محفوظ کیا جاتا ہے۔ ڈیٹا بیس کی بہت سی قسمیں ہیں، لیکن وہ سب ہیں:
  • معلومات محفوظ کر سکتے ہیں۔
  • ڈیٹا کے درمیان تعلقات کو محفوظ کر سکتے ہیں۔
  • معلومات کے لیے درخواستیں وصول کر سکتے ہیں اور درخواست پر منحصر ہے، ایک ڈیٹا یا ڈیٹا کے سیٹ کے طور پر ان کا جواب دے سکتے ہیں۔
ڈیٹا بیس کی کئی قسمیں ہیں، ہر ایک کے اپنے فائدے اور نقصانات ہیں۔ اگر آپ SQL، MySQL، MongoDB، CouchDB، Redis جیسی اصطلاحات سنتے ہیں، تو جان لیں کہ ہم ڈیٹا بیس کے بارے میں بات کر رہے ہیں۔

تعامل

سرور کا کلیدی کام ایپلی کیشن اور دوسرے سرورز کے ساتھ تعامل ہے۔
سرورز  ڈمی کے لیے تعلیمی پروگرام - 8
بہت سے ایپلیکیشن کاموں کے لیے سرور کے ساتھ تعامل کی ضرورت ہوتی ہے۔ مثال کے طور پر، اگر کوئی صارف کسی چیز کو تلاش کر رہا ہے، تو تلاش کا سوال سرور کو بھیج دیا جاتا ہے اور نتیجہ وہاں سے آتا ہے۔ اگر کوئی صارف کسی دوسرے صارف کو پیغام بھیجتا ہے تو وہ سب سے پہلے سرور پر پہنچتا ہے۔ اور پھر وہاں سے اسے دوسرے صارف کی درخواست پر بھیجا جاتا ہے، اکثر بھیجے گئے نوٹیفکیشن کی شکل میں۔ وہ انٹرفیس جو سرور فراہم کرتا ہے تاکہ ایپلی کیشنز اس کے ساتھ تعامل کر سکیں عام طور پر APIs کہلاتے ہیں ۔ ٹھیک ہے، کچھ انٹرفیس فنکشنز اینڈ پوائنٹس کے ساتھ منسلک ہو سکتے ہیں ، مثال کے طور پر، سائٹ پر تلاش یا اجازت کے ساتھ۔ غیر شروع کرنے والوں کے لیے، یہ تعامل عجیب لگ سکتا ہے۔ دو سب سے عام انٹرآپریبلٹی فارمیٹس JSON اور XML ہیں۔
سرورز  ڈمی کے لیے تعلیمی پروگرام - 9
بائیں طرف XML، دائیں طرف JSON پہلی نظر میں، فارمیٹس پڑھنے میں مشکل نظر آتے ہیں۔ یہ سمجھنا ضروری ہے کہ سرور صرف ایک کمپیوٹر ہے، جیسے آپ کا لیپ ٹاپ یا اسمارٹ فون۔ آپ کے فون پر موجود ایپ آواز، متن، آواز کی شناخت، یا اسکرین پر ٹچ کے ذریعے صارف کا ان پٹ قبول کرتی ہے۔ ایپلی کیشن اس معلومات پر کارروائی کرتی ہے اور پھر اسکرین پر ایک تصویر کی شکل میں جواب فراہم کرتی ہے۔ اسمارٹ فون ایک ایسا کمپیوٹر ہے جو کسی شخص کے ساتھ بات چیت کرتا ہے، اس لیے ان پٹ اور آؤٹ پٹ ایک شخص کے لیے آسان شکل میں فراہم کیے جاتے ہیں۔ سرور ایک ایسا کمپیوٹر ہے جو صرف دوسرے کمپیوٹرز کے ساتھ تعامل کرتا ہے۔ ایک شخص معلومات کو اس طرح کی چیزوں کی بدولت سمجھتا ہے: فونٹ کا سائز، متن کا رنگ اور فارمیٹنگ۔ لیکن کمپیوٹر کے لیے اس کا کوئی مطلب نہیں ہے۔
سرورز کے درمیان تعامل ان فارمیٹس میں ہوتا ہے جو دوسرے کمپیوٹرز کے لیے تجزیہ اور سمجھنا آسان ہوتا ہے۔

سرور کی درخواست

اگر آپ ایک ایسی ایپ بنانا چاہتے ہیں جو آپ کے فون پر چلے تو آپ کو ایک ایسی ایپ کی بھی ضرورت ہوگی جو سرور پر چلے۔ سرور سائیڈ ایپلی کیشنز سرور سائیڈ پروگرامنگ لینگویجز اور فریم ورک کا استعمال کرتے ہوئے بنائی جاتی ہیں، مقبول آپشن جاوا ، روبی آن ریلز ، Node.js ، PHP ، ASP.NET ہیں ۔
سرورز  ڈمی کے لیے تعلیمی پروگرام - 10
آپ کہہ سکتے ہیں کہ API آپ کے سرور کا "دروازہ" ہے اور ایپلیکیشن ان پر دستک دینا جانتی ہے۔ ڈیٹا بیس آپ کی تمام معلومات کو محفوظ کرتا ہے۔ اور سرور ایپلی کیشن "دماغ" ہے جو ہر چیز کو آپس میں جوڑتا ہے۔ یہ API کے ذریعے بھیجی جانے والی درخواستوں کو وصول کرتا اور ان کا جواب دیتا ہے، ڈیٹا بیس سے معلومات کو شامل اور بازیافت کرتا ہے، اور فیصلے کرتا ہے۔ مثال کے طور پر، جب صارف کی درخواست لاگ ان کی معلومات جمع کراتی ہے، درخواست API کے ذریعے آتی ہے، لاگ ان کی درست معلومات ڈیٹا بیس میں محفوظ ہوتی ہے۔ سرور ایپلیکیشن کا کام ان کا موازنہ کرنا اور API کا استعمال کرتے ہوئے ایپلی کیشن کے مطابق جواب دینا ہے۔

ہارڈ ویئر

سرورز  ڈمیوں کے لیے تعلیمی پروگرام - 11
جب آپ لفظ "سرور" سنتے ہیں تو آپ شاید اس تصویر کا تصور کریں: بند کمرے میں ٹمٹماتی روشنیوں والی الماریاں۔ شاید، تصویر کو مکمل کرنے کے لئے، صرف ایک چیز غائب ہے، ٹام کروز، جو چھت سے نیچے آئیں گے اور کچھ چوری کریں گے. بہت سی بڑی کمپنیاں اپنے سرورز اور پورے ڈیٹا سینٹرز کی مالک ہیں (وہ بڑے کمرے جن میں ٹمٹماتے الماریاں ہیں)۔ فیس بک اور گوگل کے دنیا بھر میں سینکڑوں سرورز ہیں۔ جب آپ لاکھوں صارفین کے ساتھ ایک بہت بڑی سروس چلاتے ہیں، تو آپ کے اپنے سرورز کو چلانا کافی سستا اور بہتر کارکردگی فراہم کر سکتا ہے۔ اپنے سرورز کو برقرار رکھنے کے بجائے، بہت سے ڈویلپرز کلاؤڈ سروسز استعمال کرتے ہیں۔ Amazon Web Services، Azure اور Digital Ocean جیسی سروسز "ورچوئل سرورز" استعمال کرنے کی صلاحیت پیش کرتی ہیں۔ یہ خدمات ہارڈ ویئر کی مالک ہیں اور اسے برقرار رکھتی ہیں، اور ڈویلپر صرف اس پر سرور ایپلیکیشن لوڈ کرتا ہے۔ کچھ سروس فراہم کرنے والے بیک اینڈ بطور سروس فراہم کرتے ہیں، جس سے آپ کو بیک اینڈ ایپلیکیشن خود لکھے بغیر ایک سادہ بیک اینڈ حاصل کرنے کی اجازت ملتی ہے۔

کیا تمام ایپلیکیشنز کو بیک اینڈ کی ضرورت ہے؟

زیادہ تر ایپس جن سے آپ واقف ہیں شاید ان کا بیک اینڈ جزو ہوتا ہے۔ یقینا، آپ سرور کے حصے کے بغیر پروگرام تلاش کرسکتے ہیں۔ مثال کے طور پر، کچھ پیداواری ایپس۔ یہ معلوم کرنے کا ایک آسان طریقہ کہ آیا کسی ایپلیکیشن کا بیک اینڈ اس طرح نظر آتا ہے:
اگر آپ فلائٹ موڈ پر سوئچ کرتے ہیں تو کیا ایپ اب بھی کام کرے گی؟
اگر جواب "نہیں" ہے تو اس کا مطلب ہے کہ ایپلی کیشن میں یقینی طور پر بیک اینڈ سرور ہے۔
سرورز  ڈمی کے لیے تعلیمی پروگرام - 12
مجھے امید ہے کہ اب آپ کو سمجھ آ گئی ہو گی کہ درخواست کا بیک اینڈ کیا ہے۔ ہوسکتا ہے کہ اگلی بار جب آپ اپنے ساتھی پروگرامرز سے ملیں تو آپ نہ صرف یہ سمجھ سکیں گے کہ وہ کس کے بارے میں بات کر رہے ہیں، بلکہ اپنی گفتگو میں کچھ "جیسن" کا استعمال بھی کر سکیں گے۔
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION