How Client Server Architecture Works: Network Programming मे एक Network एक या एक से ज्यादा Computers को आपस में Connect करके किसी ऐसे काम को पूरा करता है, जिसे कोई एक अकेला Computer नहीं कर सकता। Business, Government, Education, Hospital आदि कुछ ऐसे स्थान होते हैं, जहां Network Create करके Computers की Power को पूरी तरह से Use किया जाता है।
यदि हम किसी Network System को एक Simple रूप में देखें तो एक Network बहुत सारे Users को किसी एक ही Software को आपस में Share करने की सुविधा देता है। जबकि यदि हम Network System को जटिल रूप में देखें तो एक Network बहुत सारे Users को विभिन्न प्रकार के Hardware Resources को आपस में Share करने की सुविधा प्रदान करता है।
पिछले कुछ समय से Network System में Client/Server तकनीक को काफी विकसित किया गया है। इस तकनीक का मुखय Goal ये रहा है कि दो अलग Computers हों और दोनों की अपनी अलग प्रकार की विशेषताएं हों। जो Computer Graphics अच्छी तरह से Display कर सकता है, वह Computer केवल Information को Display करने का ही काम करे, जबकि जो Computer Data की Processing ज्यादा बेहतर तरीके से कर सकता है, वह Computer केवल Data की Processing का ही काम करे। यानी इस तकनीक में एक ही Application Program को दो हिस्सों में विभाजित कर दिया जाता है, इसलिए इस प्रकार की Programming को Distributed Programming भी कहते हैं।
Client/Server Architecture
Client/Server तकनीक में दो तरह के Computer होते हैं। पहला Computer वह होता है, जिस पर विभिन्न प्रकार की Information को Store करके रखा जाता है और दूसरा Computer वह होता है, जो पहले Computer पर Store किए गए Data को Access करता है। पहले प्रकार का Computer Server कहलाता है और दूसरे प्रकार का Computer Client कहलाता है। जब भी Client को किसी प्रकार की Information की जरूरत होती है, वह Client अपने Server से उस Information को प्राप्त करने के लिए Request करता है और Server उस Client की Request को पूरा करते हुए उसे उसकी Required Information भेज कर देता है।
World Wide Web इसी Client/Server Architecture पर आधारित है। हम जब भी Web से Connect होकर किसी Web Document की Request करते हैं, हमें वह Web Document उस Web Server से प्राप्त हो जाता है, जिस पर वह Stored होता है। जब हम Web से Interaction करते हैं, उस समय चार तरह के Software Components काम कर रहे होते हैं:
- एक Web Browser जो कि Client Computer पर विभिन्न प्रकार के Web Documents को Display करने का काम करता है।
- एक Server Program जो कि Client Computer के Web Browser से Requested Web Document को Client को भेजने का काम करता है।
- वह HTML Document जो कि Web Server पर Stored रहता है। और
- वह Communication Protocol Software जो कि Web Server व Client के बीच के Communication को Handle करता है।
Client/Server Architecture एक एसा तरीका होता है, जिसमें किसी Application की Processing को Logically टुकडों में विभाजित कर दिया जाता है। एक Ideal Environment में Application का Server Side का हिस्सा Application की सभी Common Processing को Handle करता है, जबकि Client Side का हिस्सा Application के User से सम्बंधित Processing को Handle करता है।
Client/Server Communication
Internet Applications आपस में Internet Protocol (IP) Sockets का प्रयोग करके Communication करते हैं। IP एक एसा Fundamental Networking Protocol होता है, जिसके Top पर विभिन्न प्रकार के अन्य Protocols स्थित होते हैं और Application की विभिन्न प्रकार की Requirements को पूरा करते हैं। किसी IP Network में जितने भी Computers होते हैं, उन सभी Computers का एक IP Address होता है, जो कि 32-Bit का एक चार हिस्सों में बंटा हुआ Number होता हैः जैसे
120.232.222.12
इस Address में पहले के दो Numbers Network का Address होते हैं जबकि अन्तिम दो Numbers Network के किसी Particular Computer को Specify करते हैं। विभिन्न प्रकार की Multinetwork Addressing Scheme को Use करके विभिन्न प्रकार के Networks आपस में Communications स्थापित करते हैं।
जब हम किसी Information को एक Computer A से दूसरे Computer B पर भेजना चाहते हैं, तो Computer A Computer B के IP Address को Use करके Data को Data को Computer B पर Data को Send करता है। यदि Computer B का IP Address 123.32.12.22 हो, तो Computer A ये Check करता है कि क्या वह उस Specific IP Address वाले Computer B की Location को जानता है कि वह Computer B Network में कहां पर स्थित है।
मानलो कि Computer A किसी 206.12 के Network का एक Simple Client है, इसलिए Computer A को इस बात की जानकारी होना कि Computer B कहां पर स्थित है, नामुमकिन होता है। लेकिन इस स्थिति में भी Computer A Data को एक Default Gateway पर भेज देता है, जिससे वह Data सभी Unknown Computers पर पहुंच जाता है।
जब Gateway ऐसे Data को प्राप्त करता है जो कि किसी Specific IP Address वाले Computer के लिए होता है, तो ये Gateway ये ब्ीमबा करता है कि क्या वह उस IP Address वाले Computer B को पहचानता है या नहीं। हमारे इस उदाहरण वाले Local Network में Gateway एक प्रकार का Router है। सामान्यतया ये Router केवल उन Computers को ही पहचानता है, जो Computers उस Specific Local Network में उपलब्ध होते हैं। इसलिए ये Router भी Computer A के Data को अपने Default Gateway पर भेज देता है, जो कि बहुत सारे अन्य Networks से Connected होता है।
हालांकि ये Router भी ये नहीं जानता है कि 123.32.12.22 IP Address वाला Computer कहां पर स्थित है, फिर भी ये Router Computer A के Data को 123.32 Number के Network वाले Getaway पर भेज देता है। विभिन्न प्रकार के Gateways से होता हुआ Computer A का Data अन्त में एक ऐसे Computer पर पहुंच जाता है, जिसको पता होता है कि इस Specific IP Address वाला Computer कहां पर स्थित है।
जिस Computer B के लिए Computer A से Data को भेजा गया होता है, उस Computer B पर भी कई ऐसे Applications हो सकते हैं, जो कि Network से आने वाले विभिन्न प्रकार के Data के साथ Communication करने के लिए Design किए गए होते हैं। इस स्थिति में Computer A से भेज गए Data में ये Ability होती है, कि वह उस Application को पहचान सके, जिसके लिए Data को भेजा गया होता है।
Computer A से Computer B पर आने वाला Data Computer B के किस Application द्वारा Use किया जा सकेगा, इस बात की जानकारी IP Address के अन्तिम Piece यानी Port Number में होती है। Port Number उस Application की जानकारी देता है, जिसके द्वारा Computer A से आने वाले Data को Computer B Access कर सकता है।
जब हम किसी Data को एक Computer A से किसी दूसरे Computer B पर Send करना चाहते हैं, तब हमें केवल Computer B के IP Address की ही जरूरत होती है। Port Number कभी भी इस IP Address का हिस्सा नहीं होता है। IP Address ये तय करता है कि किसी Packet को किसी Computer A से Computer B पर किस प्रकार से भेजा जा सकता है। हम जितने भी Network Applications Develop करते हैं, उन सभी में IP Address को Handle व Manage करने की क्षमता Higher Level Protocols में पहले से ही मौजूद होती है। Network Program में Use किए जाने वाले Most Common Higher Lever Protocols TCP/IP व UDP/IP हैं।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook Java in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
Java Programming Language in Hindi | Page: 682 | Format: PDF