Remote Method Invocation ใน Java คืออะไร?



บทความนี้เกี่ยวกับ RMI ใน Java จะบอกวิธีใช้อินเทอร์เฟซการเรียกใช้เมธอดระยะไกลระหว่างไคลเอนต์และเซิร์ฟเวอร์พร้อมกับตัวอย่างที่ใช้ได้จริง

การเรียกใช้วิธีการระยะไกล เป็นวิธีที่โปรแกรมเมอร์ใช้ประโยชน์จาก และสภาพแวดล้อมการพัฒนาจากระยะไกล ทั้งหมดนี้เกี่ยวกับวิธีการ วัตถุ บนคอมพิวเตอร์เครื่องอื่นโต้ตอบกันในเครือข่ายแบบกระจาย ในบทความนี้เกี่ยวกับ Remote Method Invocation ใน Java ฉันจะบอกวิธีสร้างแอปพลิเคชัน RMI บนไคลเอนต์และเซิร์ฟเวอร์

หัวข้อด้านล่างนี้กล่าวถึงในบทความนี้:





มาเริ่มกันเลย!

RMI ใน Java คืออะไร?

RMI (Remote Method Invocation) เป็น API ที่มีกลไกในการสร้างแอปพลิเคชันแบบกระจายใน . RMI อนุญาตให้อ็อบเจ็กต์เรียกใช้เมธอดบนอ็อบเจ็กต์ที่รันในอ็อบเจ็กต์อื่น . การเรียกใช้วิธีการระยะไกลจัดเตรียมการสื่อสารระยะไกลระหว่างแอปพลิเคชันโดยใช้วัตถุสองชิ้น ต้นขั้ว และ โครงกระดูก .



ทำความเข้าใจกับ Stub และ Skeleton

วัตถุต้นขั้วบนเครื่องไคลเอนต์สร้างบล็อกข้อมูลและส่งข้อมูลนี้ไปยังเซิร์ฟเวอร์ บล็อกประกอบด้วย:

  • ตัวระบุของวัตถุระยะไกลที่จะใช้
  • ชื่อเมธอดที่จะเรียกใช้
  • พารามิเตอร์ไปยัง JVM ระยะไกล

Stub and Skeleton - RMI ใน Java - Edurekaวัตถุโครงกระดูก

วัตถุโครงกระดูกส่งคำขอจากวัตถุต้นขั้วไปยังวัตถุระยะไกล ดำเนินงานต่อไปนี้:



  • เรียกวิธีการที่ต้องการบนวัตถุจริงที่มีอยู่บนเซิร์ฟเวอร์

    java เมื่อใดควรใช้สิ่งนี้
  • ส่งต่อพารามิเตอร์ที่ได้รับจากวัตถุต้นขั้วไปยังเมธอด

ด้วยสิ่งนี้ให้ไปต่อและดูวิธีสร้างแอปพลิเคชัน RMI

ขั้นตอนในการสร้าง RMI Application

ขั้นตอนด้านล่างช่วยให้คุณสร้างแอปพลิเคชัน 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 จากตัวสร้างหลัก

// โปรแกรม Java เพื่อใช้การนำเข้าอินเทอร์เฟซการค้นหา java.rmi. * import java.rmi.server * คลาสสาธารณะ SearchQuery ขยาย UnicastRemoteObject ใช้ Search {// Default constructor เพื่อโยน RemoteException จากตัวสร้างหลัก SearchQuery () พ่น RemoteException {super )} // การใช้งานส่วนต่อประสานการสืบค้นสาธารณะ String query (การค้นหาสตริง) พ่น RemoteException {String result if (search.equals ('Reflection in Java')) result = 'true' else result = 'false' return result}}

ขั้นตอนที่ 3: การสร้างวัตถุ Stub และ Skeleton จากคลาสการนำไปใช้งานโดยใช้ rmic

เครื่องมือ RMIC ใช้เพื่อเรียกใช้คอมไพเลอร์ RMI ที่สร้างวัตถุ Stub และ Skeleton ต้นแบบคือชื่อคลาส RMIC

ขั้นตอนที่ 4: เริ่ม RMIregistry
คุณต้องเริ่มบริการรีจิสทรีโดยออกคำสั่งที่พรอมต์คำสั่งเริ่ม RMIregistry

ขั้นตอนที่ 5: สร้างและดำเนินการโปรแกรมแอ็พพลิเคชันเซิร์ฟเวอร์
ขั้นตอนต่อไปคือการสร้างโปรแกรมแอ็พพลิเคชันเซิร์ฟเวอร์และดำเนินการบนพรอมต์คำสั่งแยกต่างหาก

โทรโดยอ้างอิงใน c ++
  • โปรแกรมเซิร์ฟเวอร์ใช้ createRegistry เมธอดของคลาส LocateRegistry เพื่อสร้าง rmiregistry ภายในเซิร์ฟเวอร์ JVM โดยมีหมายเลขพอร์ตส่งเป็นอาร์กิวเมนต์

  • เมธอด rebind ของคลาส Naming ใช้เพื่อผูกอ็อบเจ็กต์ระยะไกลกับชื่อใหม่

// program for server application import java.rmi. * import java.rmi.registry. * public class SearchServer {public static void main (String args []) {ลอง {// สร้างออบเจ็กต์ของคลาสการใช้งานอินเทอร์เฟซ 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: สร้างและดำเนินการโปรแกรม Client Application
ขั้นตอนสุดท้ายคือการสร้างโปรแกรม Client Application และดำเนินการบนพรอมต์คำสั่งแยกต่างหาก วิธีการค้นหาของคลาสการตั้งชื่อใช้เพื่อรับการอ้างอิงของวัตถุ Stub

โปรแกรมไคลเอนต์และเซิร์ฟเวอร์ข้างต้นทำงานบนเครื่องเดียวกันและนั่นคือเหตุผลที่ใช้ localhost ในการเข้าถึงวัตถุระยะไกลจากเครื่องอื่น localhost จะถูกแทนที่ด้วยที่อยู่ IP ที่มีวัตถุระยะไกลอยู่

ดังนั้นเราจึงมาถึงจุดสิ้นสุดของ RMI ใน บทความ. ฉันหวังว่าคุณจะพบว่ามันให้ข้อมูลและช่วยคุณในการทำความเข้าใจพื้นฐาน

ตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก เราอยู่ที่นี่เพื่อช่วยคุณในทุกขั้นตอนในการเดินทางของคุณสำหรับการเป็นนอกเหนือจากคำถามสัมภาษณ์ java นี้เราได้จัดทำหลักสูตรที่ออกแบบมาสำหรับนักเรียนและผู้เชี่ยวชาญที่ต้องการเป็น Java นักพัฒนา หลักสูตรนี้ออกแบบมาเพื่อให้คุณเริ่มต้นการเขียนโปรแกรม Java และฝึกอบรมแนวคิด Java ทั้งหลักและขั้นสูงพร้อมกับเฟรมเวิร์ก Java ต่างๆเช่น Hibernate & Spring

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบทความ“ RMI in Java” นี้ และเราจะติดต่อกลับโดยเร็วที่สุด