Java RMI Short Tutorial Notes Study Material with Examples in Hindi

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

Java RMI Short Tutorial Notes Study Material with Examples in Hindi
Java RMI Short Tutorial Notes Study Material with Examples in Hindi

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 करता है |इस प्रक्रिया  को हम निमन  चित्र द्वारा भी समझ सकते है ;

Java RMI Short Tutorial Notes Study Material with Examples in Hindi
Java RMI Short Tutorial Notes Study Material with Examples in Hindi

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 करता है|

इस प्रक्रिया को हम निमन चित्र द्वरा समझ सकते है|

Java RMI Short Tutorial Notes Study Material with Examples in Hindi
Java RMI Short Tutorial Notes Study Material with Examples in Hindi

हर 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 निमनानुसार है:

Java RMI Short Tutorial Notes Study Material with Examples in Hindi
Java RMI Short Tutorial Notes Study Material with Examples in Hindi

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,  facebookGoogle Plus

Learn More Ethical Hacking and Cyber Security click on this link. cyber security

Leave a Reply

Your email address will not be published. Required fields are marked *