کلائنٹ و سرور

سادہ سے الفاظ میں عمیل و سرور (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)

بیرونی روابط 

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

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