کلائنٹ و سرور

سادہ سے الفاظ میں عمیل و سرور (Client/Server)، کسی فرد کے سامنے رکھے کمپیوٹر (کلائنٹ) اور کہیں دور موجود سرور کے درمیان رابطے اور شراکہ کو کہا جاتا ہے اور یہ اصطلاح 1980 سے دیکھنے میں آ رہی ہے۔ درحقیقت یہ ایک طرح کا سوفٹ ویئر ہی ہوتا ہے جس کا مقصد ایک صارف کے لیے کمپیوٹر کے استعمال میں آسانی پیدا کرنا ہوتا ہے۔ اس کی تعریف علمی انداز میں یوں بھی کی جا سکتی ہے کہ
 علمی تعریف 
عمیل و سرور، ایک ایسا معماری شراکہ (network architecture) ہوتا ہے جو عمیل / client اور معیل / server کے مابین پایا جاتا ہے۔ یہاں کلائینٹ یا عمیل، عموما ایک ایسا نفاذیہ (application) ہوتا ہے جو graphical user interface کا استعمال کر رہا ہوتا ہے۔ایک عمیل کو ایک درخواست گزار کہا جا سکتا ہے جو اپنی مطلوبہ معلومات کے لیے سرور کی جانب دست سوال دراز کرتا ہے اور سرور اس سوال کے جواب میں عمیل کو درکار معلومات فراہم کردیتا ہے۔ سرور یا سرور کی مختلف اقسام ہو سکتی ہیں مثلا
 معیل ملف (file server)
 معیل الراس (terminal server)
 معیل ڈاک (mail server)
 معیل نفاذ (application server)
 معیل النیابہ (proxy server)
سرور یا سرور کی مندرجہ بالا اقسام کا مقصد ایک دوسرے سے قدرے مختلف ہوا کرتا ہے لیکن بنیادی طور پر ان کی تعمیر یکساں اصولوں پر ہی ہوتی ہے۔

 خصوصیات 
عمیل و سرور معماری کا بنیادی مقصد اک ایسی قابل مقیاس (scalable) معماری فراہم کرنا ہوتا ہے جس میں کسی شراکہ پر موجود ہر مھمہ (process) بالفاظ دیگر کمپیوٹر یا تو ایک عمیل ہوتا ہے یا ایک سرور۔ عموما ایک سرور سافٹ ویئر (یا سرور سافٹ ویئر) ایک ایسے کمپیوٹر یا کمپیوٹر پر ہوتا ہے جو طاقتور ہو اور خاص طور پر کاروباری نفاذیات (applications)کو چلانے کے لیے بنایا گیا ہو۔ جبکہ عمیل ایک ایسا سافٹ ویئر عام طور پر ایک ذاتی کمپیوٹر (PC) یا ایک ورک اسٹیشن پر چل سکتا ہے۔ ایک عمیل کے پاس تمام تر معلومات سرور سے آتی ہیں اور وہ انہی کی خارجات (outputs) صارف تک پہنچاتا ہے۔
 معیل کی خصوصیات 
 لافاعل (خادم) --- Passive slave
 عمیل کی جانب سے درخواست یا سوال آنے کا منتظر
 درخواست آنے پہ اس پر عملکاری (processing) کرکہ جواب یا رد عمل روانہ کرتا ہے
 عمیل کی خصوصیات 
 فاعل (کارفرما) --- Active master
 سرور کی جانب درخواست روانہ کرتا ہے
 سرور کی جانب سے درخواست پر جواب یا رد عمل کا منتظر

 چند فوائد 
عمیل و سرور سافٹ ویئر (کلائنٹ سرور سافٹ ویئر)، ایک متنوع، پیغامات کی بنیادوں پر قائم اور مطبقیہ (module) بنیادی ڈھانچہ (modular infrastructure) رکھنے والی ایک ایسی معماری (آرکیٹیکچر) ہے جو نیٹ ورک اور کمپیوٹر کے نظام کی مندرجہ ذیل خصوصیات میں بہتری پیدا کرتی ہے
 استعمالیت (usability)
 اس سے مراد کسی نظام (خواہ کمپیوٹر ہو یا کوئی اور) میں موجود وہ آسانی ہوتی ہے جس کی مدد سے اس کو کوئی صارف سیکھ سکتا ہو اس طرح کہ وہ اس میں مدخلات (inputs)، خارجات (outputs) اور یفسر (interpret) باآسانی کرسکے۔
 مرونہ (flexibility)
 اس سے مراد کسی نظام (خواہ کمپیوٹر ہو یا کوئی اور) میں موجود وہ آسانی ہوتی ہے جس کی مدد سے اس کو، اس ماحول سے ہٹ کر جس کے لیے اس کو بنایا گیا ہو، نئے ماحول اور نفاذات (applications) کے مطابق ڈھالا یا تبدیل کیا جاسکے۔
 مھمہ البین (interoperability)
 اس سے مراد کسی دو یا زائد نظاموں (خواہ شمارندے (computer)ہوں یا کوئی اور) میں موجود وہ آسانی ہوتی ہے جس کی مدد سے وہ آپس میں معلومات کا تبادلہ کرسکتے ہوں۔
 مقیاسیت (scalability)
 اس سے مراد کسی نظام (خواہ کمپیوٹر ہو یا کوئی اور) میں موجود وہ آسانی ہوتی ہے جس کی مدد سے اس نظام یا اس کے کسی جزء کو کسی مسلہء کے حل کے لیے تبدیل کیا جا سکتا ہو۔
 مزید دیکھیے 
 ہمتا بہ ہمتا (peer-to-peer)
 معماری چندلایہ (multitier architecture)

 بیرونی روابط 

 ایس ای آئی کے وقوع پر عمیل و معیل کا ایک جائزہ

زمرہ:اطلاقی تہہ دستورات
زمرہ:عمیل
زمرہ:معماری مصنع لطیف
زمرہ:معمارئ نیٹ ورک
زمرہ:معیل
زمرہ:سرور (کمپیوٹنگ)
زمرہ:ویکی ڈیٹا سے مطابقت رکھنے والی مختصر تفصیل