Java RMI Short Tutorial Notes Study Material with Examples in Hindi
Java RMI Short Tutorial Notes Study Material with Examples in Hindi:-In this best hindi tutorial i.e cyberpointsolution tutorial (Especially Concept of Java Remote Method Invocation in Hindi ) we are going to describe about the what is the use of RMI in cyber programming in Hindi. And also we will describe that how can we use RMI in Connectivity and Java. And why we use Application Programming Java RMI (Remote Method Invocation) in Web Pages to make more interactive and secure. When ever we want to learn any thing the things become more earlier is somebody/tutorial/study material taught us through Examples. Here we have tried to describe each and every concept of Java RMI i.e. Java RMI Remote Method Invocation in the light of cyberpointsolution.com best Hindi Short tutorial using simple and best possible example. These examples are so simple that even a beginner who had never even heard about Java RMI can easily learn and understand How Java RMI works in Java Programming. This is the best hindi tutorial/Study Material very beneficial for beginners as well as Professional.
Introduction of Java RMI- Remote Method Invocation in Hindi
RMI Applications Tutorial in Hindi
RMI Applications में सामान्यता: दो Seprate Programs होते है , जिन्हें Server Program व Client Program कहा जाता है | इस प्रकार के Application में एक Server Application कुछ Remote Objects Create करता है जिन्हें Accessible बनाने के लिए कुछ References Create करता है और इस बात का Wait करता है, की कोई Client सॉफ्टवेर इन Remote Objects के Methods को Invoke करे |
इसी तरह से एक Client Application, Server Application के एक या एक से ज्यादा Remote Objects का Reference प्राप्त करता है और फिर उन Objects के Methods को Invoke करता है| RMI वह तरीका प्रदान करता है, जिसका प्रयोग करके Client व सर्वर कम्युनिकेशन करते है और एक दुसरे को इनफार्मेशन Pass करते है | इस प्रकार के Application को कई बार Distributed Object Application कहते है |
what is Distributed Object Application in Hindi
Distributed Application वे Application होते है , जो कई Host Computers पर Execute होने वाला object किसी दुसरे Remote Host के Method को Invoke कर सकता है |Remotely Invoke किया जाने वाला Method किसी Local Computer को Requirement के आधार पर कोई मान Return कर सकता है | Distributed Application Develop करने के लिए Approaches के आधार पर Develop किया गया है |
Data का Transfer होना किसी भी Distributed System का एक बहुत ही महत्वपूर्ण Process होता है | java में Message Passing के Default System के आधार पर एक ही java Virtual Machine में Calling Object किसी दुसरे Called Object किसी दुसरे Called Object को Data Transfer करता है | एक Host से किसी दुसरे Host पर Data भेजने के लिए Remote Method Invocation(RMI) Approach को Use कर सकते है | RMI Objects को वह सुविधा प्रदान करता है , जिससे वे एक Host से दुसरे Host पर Messages भेज सकते है और Receive कर सकते है |
RMI Objects को विभ्भिन प्रकार के Hosts से सम्बंधित विभ्भिन JVMs को Message भेजने व Receive करने की सुविधा देता है |
किसी भी Distributed Object Application की निमन अवास्यकताये होती है :
Need of Distributed Object Application in Hindi
1 Locate Remote Object in Hindi
एक Application दो में से किसी एक तरीके का प्रयोग करके किसी Remote Objects का Reference प्राप्त कर सकता है |एक Application अपने Remote Objects को rmiregistry की Simple Naming Facility का प्रयोग करके RMI से Register करवा सकता है अथवा एक Application Remote Objects के References को Return या Pass करने के लिए अपने Application में Normal Operation Define कर सकता है |
2 Communicate with Remote Objects in Hindi
Remote Objects के साथ की जाने वाली Communications की Details की RMI द्वारा Handle किया जाता है |Programmer के दृष्टीकोण से देखे तो Remote Communication किसी Standard Java Method Invocation Process की तरह ही दिखाई देता है | यानि इस तकनीक में किसी Object के लिए किसी Remote Method को भी उसी तरह से Invoke किया जाता है, जिस तरह से किसी सामान्य Object के Method को Invoke किया जाता है |
3 Local Class Bytecodes For Objects That Are Passed Around in Hindi
RMI एक Caller Method को ये सुविधा Provide करता है , की वह Remote Objects पर भी किसी Local Objects को Pass कर सकता है | RMI किसी Object Code के साथ-साथ Object के Data को Load करने के लिए भी जरुरी Mechanism Provide करता है |
RMI Distributed Application एक Registry का प्रयोग करके किसी Remote Object का Reference प्राप्त करता है | Server Application Registry को Call करके Remote Object से एक नाम Associate या Bind करता है| Client Program Remote Objects के नाम को Server की इस Registry में खोजता हिया और नाम मिल जाने पर Server पर एक Method को Invoke करता है | जब जरुरत होती है तब किसी Object के लिए RMI System एक Existing Web Server को Use करके Class के ByteCodes को Server से Client में व Client से Server में Load करता है |इस प्रक्रिया को हम निमन चित्र द्वारा भी समझ सकते है ;
Advantage of Dynamic Code Loading in Hindi
RMI की एक मुख्य विशेषता ये है की यदि किसी object की Class को Client की Virtual Machine पर Define न किया गया हो, तो ये Client की Virtual Machine में Object की Class के Bytecodes को Download कर देता है |यानि किसी Object की Class व Behavior, जो की पहले किसी एक ही Virtual Machine पर उपलब्ध होते है , उन्हें RMI का प्रयोग करके दुसरे या Remote Virtual Machine पर भी Transmit किया जा सकता है |
RMI Objects को उनकी वासतविक Class या Type के साथ Pass करता है , इसलिए उन Objects के Behaviors तब Change नहीं होते है , जब उन्हें दूसरी Machine पर भेजा जाता है| ये प्रक्रिया दूसरी Machine पर एक नया Type या Class उपलब्ध करवा देता है , यानि एक Application के Behaviors को Dynamically Extend कर देता है |
Remote Interfaces,Objects and Methods in Hindi
किसी भी अन्य Application की तरह ही ,Java RMI के आधार पर Develop किये जाने वाले एक Distributed Application में भी Interfaces व Classes का प्रयोग होता है | Interfaces में Methods को Declare किया जाता है और Classes में उन Methods को Implement किया जाता है , साथ ही कुछ Additional Methods को भी Define किया जाता है |
एक Distributed Application में कुछ ऐसे Methods Define किये जाते है, जिन्हें Remote Virtual Machine पर Implement किया जाता है| वे Objects जिनमे ऐसे Methods होते है , जिन्हें दो अलग Virtual Machines पर Cross Form में Call किया जा सकता है , Remote Objects कहलाते है| एक Object उस समय Remote Object बन जाता है, जब उसमे Remote Interface को Implement किया जाता है| किसी Remote Object की निमन Characteristics होती है|
- एक Remote Interface rmi.Remote Interface को Extend करता है |
- Interface का हर Method किसी भी अन्य Application Specific Exception के साथ rmi.RemoteException को भी उसके throws Class में Declare करता है |
जब किसी Remote Object को एक Virtual Machine से दुसरे Virtual Machine पर Pass किया जाता है , तब RMI इस Remote Object का एक Non-Remote Object की तुलना में अलग तरीके से Treat करता है| जब किसी Remote Object को एक Virtual Machine से किसी दूसरी Virtual machine में Pass किया जाता है, तब RMI किसी Remote Object के Implementation की Receiving Virtual Machine में एक Copy बनाने के बजाय Remote Object के लिए एक Remote Stub Pass करता है|
ये Stub, Remote Object के एक Local Representative या Proxy की तरह काम करता है और Caller के लिए Stub Remote Object का Remote Reference होता है| Caller,Remote Method को Local Stub पर Invoke करता है , जो की Remote Object का एक Representative होता है|
Remote Object के लिए एक Stub उसी प्रकार के Remote Interfaces करता है, जिस प्रकार का Set Remote Object Implement करता है| ये प्रक्रिया Stub को ये सुविधा Provide करती है, की वह Remote Object द्वारा Implement किये जाने वाले किसी भी Interface के रूप में Cast हो सकता है| हलाकि इसका मतलब ये भी केवल वे ही Methods Call होने के लिए Receiving Virtual Machine पर उपलब्ध होते है , जिन्हें Remote Interface में Define किया गया होता है |
Creating Distributed Application Using RMI in Hindi
जब हम RMI का प्रयोग करके कोई Distributed Application Develop करना चाहते है, तब हमें निमनानुसार Steps Follow करने होते है:in this short tutorial of Java RMI in Hindi we are going to learn that how can we Design the Components of Distributed and Implement the Application in Hindi with Examples.
Design components of Distributed and Implement the Application in Hindi with examples
सबसे पहले हमें हमारे Application के Architecture को तय करना होता है| और ये तय करना होता है की Application के कौनसे Components Local Objects होंगे और किन Components को Remotely Accessible बनाना होगा| इसका निर्णय हम निमनानुसार ले सकते है :
- Defining The Remote Interfaces
- एक Remote Interface उन Methods को Specify करता है, जिन्हें Client द्वारा Remotely Invoke किया जा सकता है| Design के इस हिस्से में उन Local Objects को Determine किया जाता है, जिन्हें इन Methods के लिए Parameter व Return Values के रूप में Use किया जाना होता है,
- Implementing The Remote Objects
Remote Objects को एक या एक से ज्यादा Remote Interfaces को Implement करना होता है | Remote Object की Class में अन्य Local Methods व (Local या Remote) Interfaces के Implementations हो सकते है | यदि किसी अन्य Local Class के Object को Parameter या Return Value के रूप में इन Methods में Use किया जा रहा है, तो उन्हें भी Implement करना जरुरी होता है |
- Implementing The Clients
वे Clients, जो की Remote Objects को Use करते है , उन्हें Remote Interfaces को Define करने के बाद किसी भी समय Implement किये जा सकते है ,फिर चाहे Remote Objects को Deploy ही क्यों ना कर दिया गया हो |
Compile Sources and Generate Stubs in Hindi
ये एक 2-steps Process है| पहले Step में हम javac Compiler को Use करके उन Source File को Compile करते है, जिनमे Remote Interfaces, Server Classes व Client Classes को Implement किया गया होता है |दुसरे Step में हम rmic Compiler को Use करके Remote Objects के लिए Stubs Create करते है |RMI, Remote Objects की इस Stub Class को Client प्रोग्राम में एक Proxy की तरह Use करता है, ताकि Client किसी Particular Remote Object से Communicate कर सके|
Make Classes Network Accesible in Hindi
इस Step में हा रिमोट Interfaces से Associated Class Files,Stub व अन्य Class Files, जिन्हें क्लाइंट्स में Download करना होता है और जो Web सर्वर द्वारा Accesible होते है, को Create करते है |
Best Websites for i.e cyberpointsolution
How to Start The Application in Java RMI in Hindi
Application को Start करने के लिए RMI Remote Object Registry, Server व Client Programs को Start करना होता है|
चलिए,एक उदहारण द्वारा हम इस पूरी प्रक्रिया को समझने की कोशिश करते है| हम जो प्रोग्राम यहाँ पर Create कर रहे है , इसके Server में एक Remote Object है, जो क्लाइंट्स से किसी Request को प्राप्त करता है, उसे Process करता है और Client को Result Return करता है|
Client की Request उस Virtual Machine पर Process होती है, जिस पर Server Run हो रहा है| इस प्रोग्राम का Server जो काम करता है, उसे उसी Server में Define करने की जरुरत नहीं होती है|किसी भी समय नए प्रकार के काम को परफॉर्म करने के लिएCoding को Create किया जा सकता है और उसे Server पर Run होने के लिए भेजा सकता है| किसी काम को पूरा करने के लिए हमें उस काम से सम्बंधित Class में किसी Particular Interface को Implement करना होता है|
किसी काम से सम्बंधित Class को Server पर भेजकर उस काम को पूरा करवाया जा सकता है, फिर चाहे उस काम को पूरा करने वाली Class को Server Class Create व स्टार्ट करने के काफी बाद में Create किया गया हो| काम को पूरा करने के लिए जिन Codes की जरुरत है, उसे RMI System द्वारा Server प्रोग्राम में डाउनलोड किया जा सकता है और फिर Server उस काम को उस Machine के Resources को Use करके Run करता है, जिस पर Server Run हो रहा होता है|
Random प्रकार के कामो को पूरा करने के सुविधा java Platform के Dynamic Nature के कारन प्राप्त होती है, जिसमे RMI का प्रयोग करके java के platforms को Network पर Extend किया जाता है|RMI विभ्भिन प्रकार के Tasks को बिना उस Class की Prior Knowledge के Dynamically Server के Virtual Machine में Load व Run करता है, ज्सिमे Task को Implement किया गया है| एक ऐसा Application जिसमे Codes को Dynamically Download करने की क्षमता हो, Behavior Based Application कहलाता है|
Creating RMI Server in Hindi
हमारा Server, Client से जो की Request को Accept करता है, उसे प्रोसेस करता है और क्लाइंट को Results Return करता है| इस Server में एक Interface व एक Class है| Interface में उन Methods को Define किया गया है, जिन्हें Client द्वारा Call किया जा सकता है|
Designing A Remote Interface in Hindi with Examples
हम जो Server Create कर रहे है, उस Server का आधार एक प्रोटोकॉल है जो किसी जॉब को सर्वर पर सबमिट करने, Server द्वारा उस Job को Run करने व Generate होने वाले Result को फिर से Client पर भेजने की सुविधा देता है| इस प्रोटोकॉल को एक Interface में Express किया गया है, जिसे Server व Server पर भेजे वाले Object Support करता है|
इस प्रक्रिया को हम निमन चित्र द्वरा समझ सकते है|
हर Interface में एक Single Method होता है|Server का Interface Job को Process करता है व Genrate होने वाले Result को Submit करने की सुविधा देता है| जबकि Client का Interface ये निश्चित करता है की Server Submit किये गए Job को किस प्रकार से पूरा करता है| comput.Comput Interface Remotely Accessible Part को Define करता है, जो की स्वयं Server होता है| इसका Code निमानानुसार है:
Program Example
//File Name:compute.java
package compute;
import java.rmi.Remote;
import java.rmi.RemoteException;
public interface Compute extends Remote
{
Object executeTask(Task t) throws RemoteException;
}
Explanation of Program Example in Hindi
java.rmi.Remote Interface को Implement करके, ये Interface स्वयं को इस बात के लिए specify करता है, की इसके Method को किसी भी Virtual Machine द्वारा Call किया जा सकता है| इस Interface को Implement करने वाला कोई भी Object एक Remote Object बन जाता है|
Remote Interface के एक Member के रूप में Define किया गया executeTask Method एक Remote Method बन जाता है| इसलिए इस Method को ऐसा Define करना जरुरी हो जाता है, जो java.rmi.RemoteException को Throw कर सके|
इस Exception को RMI System द्वारा उस समय Throw किया जाता है, जब कोई Remote Method Call या तो Communication स्थापित ना कर पाए या फिर जब कोई Protocol Error Generate हो जाये|RemoteException एक Checked Exception होता है, इसलिए कोई भी ऐसा Code जो इस Remote Method को Call करता है, उसे इस Exception को Catch करके Handle करना जरुरी होता है|
दुसरे Interface की जरुरत सर्वर के लिए Task Type को Define करने के लिए होती है| इस Type का प्रयोग Compute Interface के executeTask() Method में Argument के रूप में किया जाता है| comput.Task Interface, Server व Perform किये जाने वाले Job के बिच Job को Start करने का तरीका प्रदान करता है| इसका Code निमनानुसार है:
Program Example
package compute;
import java.io.Serializable;
public interface Task extends Serializable;
{
Object execute();
}
Explanation of Program Example in Hindi
Task Interface execute() नाम का एक Single Method Define करता है|ये Method Return Value के रूप में एक Object Return करता है और इसमें कोई Parameter Pass नहीं किया जाता है|
ये Method किसी तरह को कोई Exception भी Throw नहीं करता है| क्योकि ये Interface Remote Class को Inherit नहीं करता है, इसलिए इस Interface के इस Method का साथ java.rmi.RemoteException को इसके throws Clause के साथ List करने की जरुरत नहीं होती है|
Compute के executeTask() Method व Task के execute() Method के Return Value को Object Type का Declare किया गया है| इसका मतलब ये है की जो भी Task किसी Primary टाइप के Value (int,float,char) को Return करना चाहता है, उसे इन मानो को उनके Equivalent Wrapper Class के Type (Integer,Float,Character) में Convert करके उसका Object Return करना होगा |
हमने Task Interface में java.io.Serializable Interface को Extend किया है| RMI Object Serialization Mechanism का प्रयोग करके java Virtual Machine के बिच में Objects को By Value Transport कर सकता है, जो की सामन्यतया By Reference ही Transport होते है|
Compute Object द्वारा विभ्भिन प्रकार के उन Tasks को Run किया जा सकता है, जिनमे Task Type को Implement किया गया होता है| जो Classes इस Interface को Implement करती है, उनमे Computation से सम्बंधित विभ्भिन प्रकार के अन्य Data व Methods हो सकते है, जो Computation के लिए जरुरी है|
Notes on RMI Technology in Hindi
RMI इस स्पेसिफिकेशन के आधार पर Develop किया गया है की Local Objects व Remote Objects आपस में मिलकर Interoperate कर सकते है| Local Objects वे Objects होते है, जो Local Computer पर Execute होते है और Remote Objects वे Objects होते है , जो अन्य Host Machines पर Execute होते है | in this hindi cybepoint9 tutorial we are learn about especially Java RMI. This is the best study material notes in hindi of java RMI
what is Remote Registry Server (rmiregistry) in Hindi
Remote Registry Server (rmiregistry) एक ऐसा सॉफ्टवेर होता है , जो Server पर Run होता है |ये Remote Registry Server अन्य Hosts को ये सुविधा देता है, की वे इसके Registered Objects को Remotely Access कर सके | Remote Registry Server में एक Database होता है , जिसमे उन सभी Objects का नाम होता है, जो Remote Registry Server से Register होते है | Remote Registry Server को स्टार्ट करने के लिए हमें Command Prompt पर “Start rmiregistry” Command लिखकर Enter करना होता है |ये Server Port 1099 पर Listens करता है |
वे Objects जिन्हें Remote Access के लिए Register किया जाना होता है, उन्हें Remote Interface को Implement करना जरुर्री होता है | ये Interface उन Objects को Identify करता है , जिन्हें Remotely Access किया जाना होता है| वह हर Method जिसे Remotely Invoke किया जाना होता है, उसे एक RemoteException Throw करना जरुरी होता है| इस Exception का प्रयोग उन Errors को Handle करने के लिए किया जाता है, जो Remote Method को Invoke करते समय Generate होते है |
Java का RMI Approach Client/Server Framework के आधार पर Organized होता है |एक लोकल Object जो की Remote Method को Invoke करता है , Client Object कहलाता है और वह Object जिसका मेथड Remotely Invoke होता है , Server Object कहलाता है |java का RMI Approach Stubs व Skeletons को Use करता है |Stub Client Computer का एक Local Object होता है, जो Remote Object के लिए एक Proxy की तरह काम करता है |
Stub Remote Object के Methods Provide करता है| Local Object Stub के Methods को इस तरह से Invoke करता है , जैसे की वह Remote Object का ही Method हो| Stub इन Methods को Invoke करके Communicate करने के लिए एक Skeleton का प्रयोग करता है, जिसे Remote Host पर Implement किया जाता है |
Skeleton Client Computer का Proxy होता है , जो की Remote Host Computer पर स्थित होता है | Stub व Skeleton एक Remote Reference Layer के Through Communicate करते है |ये Layer Stub को वह Capability Provide करता है , जिससे वह एक Transport Protocol का प्रयोग करके Skeleton से Communicate करता है | RMI TCP Protocol को Use करके इनफार्मेशन को Transport करता है |
Java RMI Short Tutorial Notes Study Material with Examples in Hindi
Follow Us On Cyber Point Solution Youtube Channel : Click Here
Follow Us on Social Platforms to get Updated : twiter, facebook, Google Plus
Learn More Ethical Hacking and Cyber Security click on this link. cyber security