Τι είναι η επίκληση απομακρυσμένης μεθόδου στην Java;



Αυτό το άρθρο σχετικά με το RMI στην Java θα σας πει πώς να εφαρμόσετε διεπαφή επίκλησης μεθόδου απομακρυσμένης εφαρμογής σε πελάτες και διακομιστές μαζί με ένα πρακτικό παράδειγμα.

Επίκληση απομακρυσμένης μεθόδου είναι ένας τρόπος που χρησιμοποιεί ο προγραμματιστής και το περιβάλλον ανάπτυξής του από απόσταση. Είναι όλα για το πώς το αντικείμενα σε διαφορετικούς υπολογιστές αλληλεπιδρούν σε ένα κατανεμημένο δίκτυο. Σε αυτό το άρθρο σχετικά με την επίκληση απομακρυσμένης μεθόδου στην Java, θα σας πω πώς να δημιουργήσετε μια εφαρμογή RMI σε Client και Server.

Τα παρακάτω θέματα καλύπτονται σε αυτό το άρθρο:





Ας αρχίσουμε!

Τι είναι το RMI στην Java;

ο RMI (Απομακρυσμένη μέθοδος επίκλησης) είναι ένα API που παρέχει έναν μηχανισμό για τη δημιουργία μιας κατανεμημένης εφαρμογής στο . Το RMI επιτρέπει σε ένα αντικείμενο να επικαλεστεί μεθόδους σε ένα αντικείμενο που εκτελείται σε άλλο . Η απομακρυσμένη μέθοδος επίκλησης παρέχει απομακρυσμένη επικοινωνία μεταξύ των εφαρμογών χρησιμοποιώντας δύο αντικείμενα στέλεχος και σκελετός .



Κατανόηση Stub και Skeleton

Το αντικείμενο στέλεχος στο μηχάνημα πελάτη δημιουργεί ένα μπλοκ πληροφοριών και στέλνει αυτές τις πληροφορίες στο διακομιστή. Το μπλοκ αποτελείται από:

  • Ένα αναγνωριστικό του απομακρυσμένου αντικειμένου που θα χρησιμοποιηθεί
  • Όνομα μεθόδου που πρόκειται να επικαλεσθεί
  • Παράμετροι στο απομακρυσμένο JVM

Stub and Skeleton - RMI στην Java - EdurekaΑντικείμενο σκελετού

deep copy vs ρηχό αντίγραφο java

Το αντικείμενο σκελετού μεταφέρει το αίτημα από το αντικείμενο στέλεχος στο απομακρυσμένο αντικείμενο. Εκτελεί τις ακόλουθες εργασίες:



  • Καλεί την επιθυμητή μέθοδο στο πραγματικό αντικείμενο που υπάρχει στον διακομιστή.

  • Προωθεί τις παραμέτρους που λαμβάνονται από το αντικείμενο στέλεχος στη μέθοδο.

Με αυτό, ας προχωρήσουμε περισσότερο και δείτε πώς να δημιουργήσετε μια εφαρμογή RMI

Βήματα για τη δημιουργία της εφαρμογής RMI

Τα παρακάτω βήματα σάς βοηθούν να δημιουργήσετε Εφαρμογή RMI:

  1. Ορισμός τηλεχειριστηρίου διεπαφή
  2. Εφαρμογή της απομακρυσμένης διεπαφής
  3. Δημιουργία Stub και Skeleton αντικείμενα από την τάξη υλοποίησης χρησιμοποιώντας RMIC (RMI complier)
  4. Ξεκινήστε το μητρώο RMI
  5. Δημιουργήστε και εκτελέστε το πρόγραμμα εφαρμογής διακομιστή
  6. Δημιουργήστε και εκτελέστε το πρόγραμμα εφαρμογής πελάτη

Τώρα, ας δούμε τις λεπτομέρειες αυτών των βημάτων.

Βήμα 1: Καθορισμός απομακρυσμένης διεπαφής

Το πρώτο πράγμα που πρέπει να κάνουμε είναι να δημιουργήσουμε ένα διεπαφή . Αυτό θα παρέχει μια περιγραφή των μεθόδων που μπορούν να επικαλεστούν απομακρυσμένοι πελάτες. Αυτή η διεπαφή θα πρέπει να επεκτείνει την απομακρυσμένη διεπαφή και το πρωτότυπο της μεθόδου στη διεπαφή θα πρέπει να ρίξει το RemoteException

// Δημιουργία εισαγωγής διεπαφής αναζήτησης java.rmi. * Δημόσια διεπαφή Η αναζήτηση επεκτείνει την απομακρυσμένη {// Δήλωση της μεθόδου πρωτότυπου δημόσιου ερωτήματος συμβολοσειράς (αναζήτηση συμβολοσειράς) ρίχνει το RemoteException}

Βήμα 2: Εφαρμογή απομακρυσμένης διεπαφής

Το επόμενο βήμα είναι η εφαρμογή της απομακρυσμένης διεπαφής. Προκειμένου να εφαρμοστεί η απομακρυσμένη διεπαφή, η κλάση πρέπει να επεκταθεί στο UnicastRemoteObject κλάση του πακέτου java.rmi . Επίσης, μια προεπιλογή οικοδόμος πρέπει να δημιουργηθεί για να ρίξει το java.rmi.RemoteException από τον μητρικό κατασκευαστή του.

είδος αλγορίθμου c ++
// Πρόγραμμα Java για την εφαρμογή της διεπαφής αναζήτησης java.rmi. * Import java.rmi.server. * Η δημόσια κλάση SearchQuery επεκτείνει το UnicastRemoteObject υλοποιεί την Αναζήτηση {// Προεπιλεγμένος κατασκευαστής για να ρίξει το RemoteException από τον γονικό του κατασκευαστή SearchQuery () ρίχνει το RemoteException {super ( )} // Εφαρμογή του δημόσιου ερωτήματος διεπαφής ερωτήματος String search (String search) ρίχνει το RemoteException {String result if (search.equals ('Reflection in Java'))

Βήμα 3: Δημιουργία αντικειμένων Stub και Skeleton από την τάξη υλοποίησης χρησιμοποιώντας rmic

Το εργαλείο RMIC χρησιμοποιείται για την επίκληση του μεταγλωττιστή RMI που δημιουργεί τα αντικείμενα Stub και Skeleton. Το πρωτότυπο του είναι όνομα κλάσης RMIC.

ΒΗΜΑ 4: Ξεκινήστε το RMIregistry
Πρέπει να ξεκινήσετε την υπηρεσία μητρώου εκδίδοντας την εντολή στη γραμμή εντολών εκκίνηση του RMIregistry

το φροντιστήριο μου για αρχάριους

ΒΗΜΑ 5: Δημιουργία και εκτέλεση του προγράμματος εφαρμογής διακομιστή
Το επόμενο βήμα είναι να δημιουργήσετε το πρόγραμμα εφαρμογής διακομιστή και να το εκτελέσετε σε ξεχωριστή γραμμή εντολών.

  • Το πρόγραμμα διακομιστή χρησιμοποιεί το createRegistry μέθοδος της κλάσης LocateRegistry για τη δημιουργία rmiregistry εντός του διακομιστή JVM με τον αριθμό θύρας να μεταδίδεται ως όρισμα.

  • Η μέθοδος επαναφοράς της κλάσης ονομασίας χρησιμοποιείται για τη σύνδεση του απομακρυσμένου αντικειμένου με το νέο όνομα.

// πρόγραμμα εισαγωγής εφαρμογής διακομιστή java.rmi. * εισαγωγή java.rmi.registry. * δημόσια τάξη SearchServer {public static void main (String args []) {try {// Δημιουργήστε ένα αντικείμενο της κλάσης υλοποίησης διεπαφής Search obj = νέο SearchQuery () // rmiregistry εντός του διακομιστή JVM με // αριθμό θύρας 1900 LocateRegistry.createRegistry (1900) & ltp style = 'text-align: justify' & gt // Συνδέει το απομακρυσμένο αντικείμενο με το όνομα // edureka Naming.rebind ( 'rmi: // localhost: 1900' + '/ edureka', obj)} catch (Εξαίρεση ae) {System.out.println (ae)}}}

Βήμα 6: Δημιουργία και εκτέλεση του προγράμματος εφαρμογής πελάτη
Το τελευταίο βήμα είναι να δημιουργήσετε το πρόγραμμα εφαρμογής πελάτη και να το εκτελέσετε σε ξεχωριστή γραμμή εντολών. Η μέθοδος αναζήτησης της κλάσης ονομασίας χρησιμοποιείται για την αναφορά του αντικειμένου Stub

Το παραπάνω πρόγραμμα πελάτη και διακομιστή εκτελείται στον ίδιο υπολογιστή και γι 'αυτό χρησιμοποιείται το localhost. Για να αποκτήσετε πρόσβαση στο απομακρυσμένο αντικείμενο από άλλο μηχάνημα, το localhost πρέπει να αντικατασταθεί από τη διεύθυνση IP όπου υπάρχει το απομακρυσμένο αντικείμενο.

Αυτό μας φέρνει στο τέλος του RMI in άρθρο. Ελπίζω ότι το βρήκατε ενημερωτικό και σας βοήθησε να κατανοήσετε τις Βασικές αρχές.

Δείτε το από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο. Είμαστε εδώ για να σας βοηθήσουμε με κάθε βήμα στο ταξίδι σας, για να γίνετε εκτός από αυτές τις ερωτήσεις της συνέντευξης java, έχουμε ένα πρόγραμμα σπουδών που έχει σχεδιαστεί για φοιτητές και επαγγελματίες που θέλουν να γίνουν Ιάβα Προγραμματιστής. Το μάθημα έχει σχεδιαστεί για να σας δώσει μια πρώτη αρχή στον προγραμματισμό Java και να σας εκπαιδεύσει τόσο για τις βασικές όσο και για τις προηγμένες ιδέες Java μαζί με διάφορα πλαίσια Java όπως το Hibernate & Spring.

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων αυτού του άρθρου 'RMI in Java' και θα επικοινωνήσουμε μαζί σας το συντομότερο δυνατό.