What is Client Server Architecture (क्लाइंट सर्वर आर्किटेक्चर क्या हैं)
क्लाइंट-सर्वर आर्किटेक्चर (क्लाइंट / सर्वर) एक नेटवर्क आर्किटेक्चर है जिसमें नेटवर्क पर प्रत्येक कंप्यूटर या तो क्लाइंट या सर्वर होता है। जिसमें सर्वर क्लाइंट द्वारा उपभोग किए जाने वाले अधिकांश संसाधनों और सेवाओं को होस्ट करता है, वितरित करता है और प्रबंधित करता है। इस प्रकार के आर्किटेक्चर में नेटवर्क या इंटरनेट कनेक्शन पर केंद्रीय सर्वर से जुड़े एक या अधिक क्लाइंट कंप्यूटर होते हैं।
क्लाइंट / सर्वर आर्किटेक्चर को नेटवर्किंग कंप्यूटिंग मॉडल या क्लाइंट / सर्वर नेटवर्क के रूप में भी जाना जाता है क्योंकि सभी अनुरोध और सेवाएं नेटवर्क पर वितरित की जाती हैं। सर्वर कंप्यूटर या डिस्क ड्राइव (फ़ाइल सर्वर), प्रिंटर (प्रिंट सर्वर), या नेटवर्क यातायात (नेटवर्क सर्वर) के प्रबंधन के लिए समर्पित प्रक्रियाएं हैं। क्लाइंट पीसी या वर्कस्टेशन हैं जिन पर उपयोगकर्ता एप्लिकेशन चलाते हैं। क्लाइंट संसाधनों के लिए सर्वर पर भरोसा करते हैं, जैसे फाइल, डिवाइस और यहां तक कि प्रोसेसिंग पावर।
जहाॅ पर कम्प्यूटरो की संख्या अधिक होती हैं इस प्रकार के वातावरण के लिये क्लाइंट सर्वर आर्किटेक्चर को तैयार किया गया था। उदाहणार्थ, बहुत सारे कम्प्यूटरो को आपस मे नेटवर्क तकनीक के द्वारा जोड दिये जाते है। इनमे किसी एक कम्प्यूटर को Workstation बना दिया जाता है। Server पर इन सभी कम्प्यूटरो की फाइले सेव होती है इस माडॅल को Client Server माॅडल कहते है। इस माॅडल मे एक या एक से अधिक कम्प्यूूटर क्लाइंट होते है तथा Server एक होता है। इस माॅडल मे क्लाइंट अपनी रिक्वेस्ट नेटर्वक के द्वारा सर्वर पर भेजता है तथा Server उस रिक्वेस्ट को Response करता है। इस तरह का नेटर्वक संसाधनो का साझा उपयोग करने मे मदद करता है। इस तरह के माॅडल मे हम हार्डवेयर तथा साॅफ्टवेयर को Share कर सकते है। उदाहरणतः प्रिटंर को Server से Connect कर देते है तो फिर किसी भी वर्कस्टेशन से किसी भी फाइल का प्रिटंआउट निकाल सकते है।
क्लाइंट प्रक्रिया (Client Process)
क्लाइंट एक कंप्यूटर सिस्टम हैं जो किसी तरह के नेटवर्क के जरिय अन्य कंप्यूटरों पर सर्विस एक्सेज करता है क्लाइंट एक ऐसी प्रक्रिया है जो सर्वर को संदेश भेजता है और सर्वर उस कार्य को पूरा करता है। क्लाइंट प्रोग्राम आमतौर पर एप्लिकेशन के User interface हिस्से का प्रबंधन करते हैं, क्लाइंट-आधारित प्रक्रिया उस एप्लिकेशन का फ्रंट-एंड है जिसे उपयोगकर्ता देखता है और उससे संपर्क करता है। क्लाइंट प्रक्रिया स्थानीय संसाधनों का प्रबंधन भी करती है जो उपयोगकर्ता मॉनीटर, कीबोर्ड, वर्कस्टेशन सीपीयू जैसे इंटरैक्ट करता है। क्लाइंट वर्कस्टेशन के प्रमुख तत्वों में से एक ग्राफिकल यूजर इंटरफेस (जीयूआई) है।
सर्वर प्रक्रिया (Server Process)
क्लाइंट सर्वर आर्किटेक्चर मे, सर्वर प्रोसेस एक ऐसा प्रोग्राम है, जो क्लाइंट द्वारा रिक्वेस्ट किये गये कार्य को पूरा करता है। आमतौर पर सर्वर प्रोग्राम क्लाइंट प्रोग्राम से रिक्वेस्ट प्राप्त करता है तथा क्लाइंट को Response करता है। सर्वर आधारित प्रोसेस नेटर्वक की दूसरी मशीन पर भी चल सकता है। यह सर्वर हाॅस्ट आॅपरेटिंग सिस्टम या नेटर्वक फाइल सर्वर हो सकता है। सर्वर को फिर File System सेवाएं तथा एप्लीकेशन प्रदान किया जाता है तथा कुछ स्थितियो मे कोई दूसरा डेक्सटाॅप मशीन एप्लीकेशन सेवाएं प्रदान करता है।
सर्वर प्रक्रिया एक सॉफ़्टवेयर इंजन के रूप में कार्य करती है जो शेयर संसाधनों जैसे डेटाबेस, प्रिंटर, संचार लिंक या उच्च संचालित प्रोसेसर प्रबंधित करती है। सर्वर प्रक्रिया बैक-एंड कार्यों को निष्पादित करती है जो समान अनुप्रयोगों के लिए आम हैं।
क्लाइंट / सर्वर आर्किटेक्चर के उदाहरण निम्न हैं।
Two tier Architecture
Two tier Architecture वह जगह है जहां कोई क्लाइंट बिना किसी हस्तक्षेप के किसी सर्वर पर सीधे बातचीत नहीं करता है, यह आमतौर पर छोटे वातावरण (50 से कम उपयोगकर्ताओं) में उपयोग किया जाता है। Two tier Architecture में, User interface उपयोगकर्ता के डेस्कटॉप वातावरण पर रखा जाता है और डेटाबेस प्रबंधन सिस्टम सेवाएं आमतौर पर एक सर्वर में होती हैं जो एक से अधिक शक्तिशाली मशीन होती है जो कई क्लाइंट्स को सेवाएं प्रदान करती है। सूचना प्रोसेस user system interface environment और database management server environment के बीच विभाजित है।
Three tier Architecture
Two tier Architecture की कमी को दूर करने के लिए Three tier Architecture को बनाया गया हैं| Three tier Architecture में, उपयोगकर्ता सिस्टम इंटरफ़ेस क्लाइंट पर्यावरण और डेटाबेस प्रबंधन सर्वर वातावरण के बीच एक मिडलवेयर का उपयोग किया जाता है। इन मिडलवेयर को विभिन्न तरीकों से कार्यान्वित किया जाता है जैसे कि लेनदेन प्रसंस्करण मॉनीटर, संदेश सर्वर या एप्लिकेशन सर्वर। मिडलवेयर क्यूइंग, एप्लिकेशन निष्पादन और डेटाबेस स्टेजिंग का कार्य करता है। इसके अलावा मिडलवेयर प्रगति पर काम के लिए शेड्यूलिंग और प्राथमिकता जोड़ता है। Three tier client/ server Architecture का उपयोग बड़ी संख्या में उपयोगकर्ताओं के प्रदर्शन में सुधार के लिए किया जाता है और two tier Architecture की तुलना में लचीलापन में भी सुधार करता है।
Advantages of Client Server Architecture (क्लाइंट सर्वर आर्किटेक्चर के लाभ)
प्रत्येक क्लाइंट को टर्मिनल मोड या प्रोसेसर में लॉग इन करने की आवश्यकता को समाप्त करने के लिए डेस्कटॉप इंटरफ़ेस के माध्यम से कॉर्पोरेट जानकारी तक पहुंचने का अवसर दिया जाता है।
क्लाइंट-सर्वर मॉडल के लिए उपयोग किया जाने वाला एप्लिकेशन हार्डवेयर प्लेटफॉर्म या हकदार सॉफ़्टवेयर (ऑपरेटिंग सिस्टम सॉफ़्टवेयर) की तकनीकी पृष्ठभूमि के बावजूद बनाया गया है जो कंप्यूटिंग पर्यावरण प्रदान करता है, जिससे उपयोगकर्ताओं को क्लाइंट्स और सर्वर (डेटाबेस, एप्लिकेशन और संचार सेवाओं) की सेवाएं प्राप्त करने के लिए मजबूर किया जाता है।
क्लाइंट-सर्वर उपयोगकर्ता प्रोसेसर के स्थान या तकनीक के बावजूद सीधे सिस्टम में लॉग इन कर सकते हैं।
क्लाइंट-सर्वर आर्किटेक्चर को नेटवर्क में एकीकृत स्वतंत्र कंप्यूटरों के बीच फैलाने वाली जिम्मेदारियों का प्रतिनिधित्व करने वाला मॉडल वितरित किया जाता है। इसलिए, क्लाइंट को अप्रभावित बनाते समय सर्वर को प्रतिस्थापित करना, मरम्मत करना, अपग्रेड करना और स्थानांतरित करना आसान है। इस अनजान परिवर्तन को Encapsulation के रूप में जाना जाता है।
सर्वरों के पास बेहतर नियंत्रण पहुंच और संसाधन हैं ताकि यह सुनिश्चित किया जा सके कि केवल अधिकृत क्लाइंट डेटा तक पहुंच या कुशलतापूर्वक उपयोग कर सकें और सर्वर अपडेट प्रभावी ढंग से प्रशासित होते हैं।
फ्रंट एंड टास्क और बैक-एंड टास्क में प्रोसेसर की गति, मेमोरी, डिस्क की गति और क्षमताओं, और इनपुट / आउटपुट डिवाइस जैसे कंप्यूटिंग के लिए मौलिक रूप से अलग-अलग आवश्यकताएं हैं।
क्लाइंट-सर्वर सिस्टम की एक महत्वपूर्ण विशेषता स्केलेबिलिटी है। उन्हें क्षैतिज या लंबवत स्केल किया जा सकता है। क्षैतिज स्केलिंग का मतलब केवल कुछ मामूली प्रदर्शन प्रभाव के साथ क्लाइंट वर्कस्टेशंस को जोड़ना या निकालना है। लंबवत स्केलिंग का मतलब है एक बड़ी और तेज़ सर्वर मशीन या मल्टीसेवर में माइग्रेट करना।
Either way the teacher or student will get the solution to the problem within 24 hours.