RPC మరియు RMI మధ్య వ్యత్యాసం
విషయము
- పోలిక చార్ట్
- RPC యొక్క నిర్వచనం
- ఇచ్చిన దశల ద్వారా RPC ఎలా అమలు చేయబడుతుందో అర్థం చేసుకుందాం:
- RMI యొక్క నిర్వచనం
- ముగింపు
RPC మరియు RMI క్లయింట్ మరియు సర్వర్ మధ్య కమ్యూనికేషన్ను స్థాపించడం ద్వారా సర్వర్ నుండి విధానం లేదా పద్ధతిని అమలు చేయడానికి క్లయింట్ను అనుమతించే విధానాలు. RPC మరియు RMI మధ్య సాధారణ వ్యత్యాసం ఏమిటంటే RPC మాత్రమే మద్దతు ఇస్తుంది విధానపరమైన ప్రోగ్రామింగ్ అయితే RMI మద్దతు ఇస్తుంది ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్.
రెండింటి మధ్య మరొక ప్రధాన వ్యత్యాసం ఏమిటంటే రిమోట్ విధానాలకు పంపిన పారామితులు ఉంటాయి సాధారణ డేటా నిర్మాణాలు. మరోవైపు, రిమోట్ పద్ధతికి పంపిన పారామితులు ఉంటాయి వస్తువులు.
- పోలిక చార్ట్
- నిర్వచనం
- కీ తేడాలు
- ముగింపు
పోలిక చార్ట్
పోలిక కోసం ఆధారం | RPC | RMI |
---|---|---|
మద్దతు | విధాన ప్రోగ్రామింగ్ | ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ |
పారామీటర్లు | సాధారణ డేటా నిర్మాణాలు రిమోట్ విధానాలకు పంపబడతాయి. | వస్తువులు రిమోట్ పద్ధతులకు పంపబడతాయి. |
సమర్థత | ఆర్ఎంఐ కంటే తక్కువ | RPC కంటే ఎక్కువ మరియు ఆధునిక ప్రోగ్రామింగ్ విధానం (అనగా ఆబ్జెక్ట్-ఓరియెంటెడ్ పారాడిగ్మ్స్) చేత మద్దతు ఇవ్వబడింది |
ఓవర్ హెడ్స్ | మరింత | తక్కువ తులనాత్మకంగా |
ఇన్-అవుట్ పారామితులు తప్పనిసరి. | అవును | అవసరం లేదు |
ప్రోగ్రామింగ్ సౌలభ్యం యొక్క సదుపాయం | అధిక | తక్కువ |
RPC యొక్క నిర్వచనం
రిమోట్ ప్రొసీజర్ కాల్ (RPC) పంపిణీ చేయబడిన కంప్యూటింగ్ కోసం రూపొందించిన ప్రోగ్రామింగ్ భాషా లక్షణం మరియు సెమాంటిక్స్ ఆధారంగా స్థానిక విధానం పిలుస్తుంది. ఇది రిమోట్ సేవ యొక్క అత్యంత సాధారణ రూపాలు మరియు నెట్వర్క్ ద్వారా అనుసంధానించబడిన వ్యవస్థల మధ్య ఉపయోగించడానికి ప్రాసెస్ కాల్ మెకానిజమ్ను సంగ్రహించే మార్గంగా రూపొందించబడింది. ఇది ఐపిసి మెకానిజంతో సమానంగా ఉంటుంది, ఇక్కడ ఆపరేటింగ్ సిస్టమ్ ప్రాసెస్లను షేర్డ్ డేటాను నిర్వహించడానికి మరియు వేర్వేరు సిస్టమ్లపై వేర్వేరు ప్రక్రియలు అమలు చేస్తున్న వాతావరణంతో వ్యవహరించడానికి అనుమతిస్తుంది మరియు తప్పనిసరిగా ఆధారిత కమ్యూనికేషన్ అవసరం.
ఇచ్చిన దశల ద్వారా RPC ఎలా అమలు చేయబడుతుందో అర్థం చేసుకుందాం:
- క్లయింట్ ప్రాసెస్ క్లయింట్ స్టబ్ను పారామితులతో పిలుస్తుంది మరియు కాల్ పూర్తయ్యే వరకు దాని అమలు నిలిపివేయబడుతుంది.
- క్లయింట్ స్టబ్ ద్వారా మార్షల్ చేయడం ద్వారా పారామితులను యంత్ర-స్వతంత్ర రూపంలోకి అనువదిస్తారు. అప్పుడు పారామితుల ప్రాతినిధ్యాన్ని కలిగి ఉన్న తయారుచేయబడుతుంది.
- సైట్ యొక్క గుర్తింపును కనుగొనడానికి క్లయింట్ స్టబ్ రిమోట్ విధానం ఉన్న నేమ్ సర్వర్తో ఇంటర్కమ్యూనికేషన్.
- నిరోధించే ప్రోటోకాల్ ఉపయోగించి క్లయింట్ రిమోట్ ప్రాసెస్ కాల్ ఉన్న సైట్కు స్టబ్ చేస్తుంది. ఈ దశ క్లయింట్ స్టబ్కు సమాధానం వచ్చేవరకు ఆపుతుంది.
- సర్వర్ సైట్ క్లయింట్ వైపు నుండి పంపిన వాటిని స్వీకరిస్తుంది మరియు దానిని యంత్ర నిర్దిష్ట ఆకృతిలోకి మారుస్తుంది.
- ఇప్పుడు సర్వర్ స్టబ్ పారామితులతో పాటు సర్వర్ విధానంలో కాల్ను అమలు చేస్తుంది మరియు విధానం పూర్తయ్యే వరకు సర్వర్ స్టబ్ నిలిపివేయబడుతుంది.
- సర్వర్ విధానం ఉత్పత్తి చేసిన ఫలితాలను సర్వర్ స్టబ్కు తిరిగి ఇస్తుంది, మరియు ఫలితాలు సర్వర్ స్టబ్లో యంత్ర-స్వతంత్ర ఆకృతిలోకి మార్చబడతాయి మరియు ఫలితాలను కలిగి ఉంటాయి.
- ఫలితం క్లయింట్ స్టబ్కు పంపబడుతుంది, ఇది క్లయింట్ స్టబ్కు అనువైన యంత్ర నిర్దిష్ట ఆకృతిలోకి మార్చబడుతుంది.
- చివరి క్లయింట్ వద్ద, స్టబ్ ఫలితాలను క్లయింట్ ప్రాసెస్కు అందిస్తుంది.
RMI యొక్క నిర్వచనం
రిమోట్ మెథడ్ ఇన్వొకేషన్ (RMI) RPC ను పోలి ఉంటుంది, కానీ ఇది భాషా నిర్దిష్ట మరియు జావా యొక్క లక్షణం. రిమోట్ ఆబ్జెక్ట్లో పద్ధతిని పిలవడానికి థ్రెడ్కు అనుమతి ఉంది. క్లయింట్ మరియు సర్వర్ వైపు పారదర్శకతను కొనసాగించడానికి, ఇది స్టబ్స్ మరియు అస్థిపంజరాలను ఉపయోగించి రిమోట్ ఆబ్జెక్ట్ను అమలు చేస్తుంది. స్టబ్ క్లయింట్తో నివసిస్తుంది మరియు రిమోట్ ఆబ్జెక్ట్ కోసం ఇది ప్రాక్సీగా ప్రవర్తిస్తుంది.
క్లయింట్ రిమోట్ పద్ధతిని పిలిచినప్పుడు, రిమోట్ పద్ధతి కోసం స్టబ్ అంటారు. ఒక పద్ధతి యొక్క పేరు మరియు మార్షల్ చేయబడిన పారామితులను కలిగి ఉన్న పార్శిల్ను సృష్టించడానికి మరియు ప్రవేశపెట్టడానికి క్లయింట్ స్టబ్ జవాబుదారీగా ఉంటుంది మరియు పార్శిల్ను స్వీకరించడానికి అస్థిపంజరం బాధ్యత వహిస్తుంది.
అస్థిపంజరం పారామితులను అన్మార్షల్స్ చేస్తుంది మరియు సర్వర్లో కావలసిన పద్ధతిని అమలు చేస్తుంది. అస్థిపంజరం ఇచ్చిన విలువను (లేదా మినహాయింపులు) పార్శిల్తో మార్షల్ చేస్తుంది మరియు దానిని క్లయింట్ స్టబ్కు మారుస్తుంది. స్టబ్ రిటర్న్ పార్శిల్ను తిరిగి కలపడం మరియు దానిని క్లయింట్కు ఇవ్వడం.జావాలో, పారామితులు పద్ధతులకు పంపబడతాయి మరియు సూచన రూపంలో తిరిగి వస్తాయి. అన్ని వస్తువులు రిమోట్ పద్ధతులు కానందున ఇది RMI సేవకు ఇబ్బందికరంగా ఉంటుంది. కాబట్టి, ఇది ఏది సూచనగా ఆమోదించబడగలదో మరియు ఏది సాధ్యం కాదని నిర్ణయించాలి.
జావా అనే ప్రక్రియను ఉపయోగిస్తుంది ధారావాహిక రూపొందించటం ఇక్కడ వస్తువులు విలువగా ఇవ్వబడతాయి. రిమోట్ ఆబ్జెక్ట్ విలువ ద్వారా పాస్ ద్వారా స్థానీకరించబడుతుంది. ఇది స్టబ్ క్లాస్ యొక్క URL తో పాటు ఆబ్జెక్ట్కు రిమోట్ రిఫరెన్స్ను పంపడం ద్వారా రిఫరెన్స్ ద్వారా ఒక వస్తువును కూడా పంపగలదు. పాస్ బై రిఫరెన్స్ రిమోట్ ఆబ్జెక్ట్ కోసం ఒక స్టబ్ను పరిమితం చేస్తుంది.
- RPC విధానపరమైన ప్రోగ్రామింగ్ ఉదాహరణలకు మద్దతు ఇస్తుంది, తద్వారా C ఆధారితమైనది, అయితే RMI ఆబ్జెక్ట్-ఓరియెంటెడ్ ప్రోగ్రామింగ్ ఉదాహరణలకు మద్దతు ఇస్తుంది మరియు జావా ఆధారితమైనది.
- RPC లోని రిమోట్ విధానాలకు పంపిన పారామితులు సాధారణ డేటా నిర్మాణాలు. దీనికి విరుద్ధంగా, RMI రిమోట్ పద్ధతికి పరామితిగా వస్తువులను రవాణా చేస్తుంది.
- RPC ని RMI యొక్క పాత సంస్కరణగా పరిగణించవచ్చు మరియు ఇది ప్రోగ్రామింగ్ భాషలలో విధానపరమైన ప్రోగ్రామింగ్కు మద్దతు ఇస్తుంది మరియు ఇది పాస్ బై వాల్యూ మెథడ్ను మాత్రమే ఉపయోగించగలదు. దీనికి విరుద్ధంగా, ఆధునిక ప్రోగ్రామింగ్ విధానం ఆధారంగా RMI సౌకర్యం రూపొందించబడింది, ఇది విలువ లేదా సూచనల ద్వారా పాస్ను ఉపయోగించగలదు. RMI యొక్క మరొక ప్రయోజనం ఏమిటంటే రిఫరెన్స్ ద్వారా పంపబడిన పారామితులను మార్చవచ్చు.
- RPC ప్రోటోకాల్ RMI కన్నా ఎక్కువ ఓవర్ హెడ్లను ఉత్పత్తి చేస్తుంది.
- RPC లో ఆమోదించిన పారామితులు తప్పనిసరిగా “లోపలికి బయటకి”అంటే విధానానికి పంపిన విలువ మరియు అవుట్పుట్ విలువ ఒకే డేటాటైప్లను కలిగి ఉండాలి. దీనికి విరుద్ధంగా, ఉత్తీర్ణత యొక్క బలవంతం లేదు “లోపలికి బయటకిRMI లో పారామితులు.
- RPC లో, సూచనలు సంభావ్యంగా ఉండవు ఎందుకంటే రెండు ప్రక్రియలకు ప్రత్యేకమైన చిరునామా స్థలం ఉంది, కానీ RMI విషయంలో ఇది సాధ్యమే.
ముగింపు
RPC మరియు RMI రెండూ ఒకే ప్రయోజనానికి ఉపయోగపడతాయి కాని భాషలలో ఉపయోగించబడతాయి వేర్వేరు ప్రోగ్రామింగ్ ఉదాహరణలకు మద్దతు ఇస్తాయి, కాబట్టి విభిన్న లక్షణాలను కలిగి ఉంటాయి.