উদাহরণ সহ RMI Client তৈরি করা

RMI Client তৈরি করা - জাভা আরএমআই (Java RMI) - Java Technologies

310

Java RMI (Remote Method Invocation) এর মাধ্যমে ক্লায়েন্ট প্রোগ্রাম রিমোট সার্ভারে অবস্থিত অবজেক্টের মেথড কল করতে পারে। ক্লায়েন্ট মূলত RMI Registry থেকে রিমোট অবজেক্টের রেফারেন্স পায় এবং সেই রেফারেন্স ব্যবহার করে মেথড কল করে।


RMI Client তৈরির ধাপসমূহ

ধাপ ১: RMI Registry-তে রিমোট অবজেক্ট রেজিস্টার করা

RMI সার্ভারের মাধ্যমে রিমোট অবজেক্টটি RMI Registry-তে রেজিস্টার করতে হবে, যাতে ক্লায়েন্ট এটি অ্যাক্সেস করতে পারে।

ধাপ ২: RMI Client তৈরি করা

ক্লায়েন্ট প্রোগ্রাম তৈরি করতে হবে, যা RMI Registry থেকে রিমোট অবজেক্টের রেফারেন্স পাবে।

ধাপ ৩: Remote Method কল করা

রিমোট অবজেক্টের রেফারেন্স ব্যবহার করে মেথডগুলো কল করা হবে।


RMI Client উদাহরণ

ধরা যাক, আমরা একটি Calculator সার্ভিস তৈরি করেছি যা ক্লায়েন্ট থেকে যোগফল, বিয়োগ, গুণ এবং ভাগের কাজ করতে পারে। নিচে RMI Client তৈরি করার উদাহরণ দেখানো হলো।


Step 1: Remote Interface

import java.rmi.Remote;
import java.rmi.RemoteException;

// Remote Interface
public interface Calculator extends Remote {
    int add(int a, int b) throws RemoteException;
    int subtract(int a, int b) throws RemoteException;
    int multiply(int a, int b) throws RemoteException;
    double divide(int a, int b) throws RemoteException;
}

Step 2: Remote Object Implementation

import java.rmi.server.UnicastRemoteObject;
import java.rmi.RemoteException;

// Implementation of Remote Interface
public class CalculatorImpl extends UnicastRemoteObject implements Calculator {
    public CalculatorImpl() throws RemoteException {
        super();
    }

    @Override
    public int add(int a, int b) throws RemoteException {
        return a + b;
    }

    @Override
    public int subtract(int a, int b) throws RemoteException {
        return a - b;
    }

    @Override
    public int multiply(int a, int b) throws RemoteException {
        return a * b;
    }

    @Override
    public double divide(int a, int b) throws RemoteException {
        if (b == 0) throw new ArithmeticException("Division by zero is not allowed.");
        return (double) a / b;
    }
}

Step 3: RMI Server

import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

public class RMIServer {
    public static void main(String[] args) {
        try {
            // Create and bind the remote object
            Calculator calculator = new CalculatorImpl();
            Registry registry = LocateRegistry.createRegistry(1099); // Default RMI port
            registry.rebind("CalculatorService", calculator);

            System.out.println("RMI Server is ready and running...");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Step 4: RMI Client

import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

public class RMIClient {
    public static void main(String[] args) {
        try {
            // Locate the RMI Registry
            Registry registry = LocateRegistry.getRegistry("localhost", 1099);

            // Lookup the remote object
            Calculator calculator = (Calculator) registry.lookup("CalculatorService");

            // Perform remote method calls
            System.out.println("Addition: " + calculator.add(10, 5));
            System.out.println("Subtraction: " + calculator.subtract(10, 5));
            System.out.println("Multiplication: " + calculator.multiply(10, 5));
            System.out.println("Division: " + calculator.divide(10, 5));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Step 5: Compile এবং Run করার নির্দেশনা

1. সমস্ত ফাইল কম্পাইল করুন:

javac *.java

2. RMI Server চালু করুন:

java RMIServer

3. RMI Client চালু করুন:

java RMIClient

আউটপুট (উদাহরণ)

RMI Client এর আউটপুট হতে পারে এরকম:

Addition: 15
Subtraction: 5
Multiplication: 50
Division: 2.0

RMI Client এর গুরুত্বপূর্ণ পয়েন্টসমূহ

  1. RMI Registry থেকে রিমোট অবজেক্ট খুঁজে বের করা:
    • LocateRegistry.getRegistry(host, port) ব্যবহার করা হয়।
  2. lookup মেথড ব্যবহার:
    • RMI Registry থেকে নির্দিষ্ট নামের রিমোট অবজেক্ট রেফারেন্স পাওয়ার জন্য।
  3. Remote Methods কল:
    • রিমোট অবজেক্টের উপর মেথড কল করার সময় RemoteException হ্যান্ডেল করতে হয়।

এই উদাহরণটি RMI Client তৈরি এবং ব্যবহার সম্পর্কে একটি পরিষ্কার ধারণা প্রদান করে। Java RMI প্রযুক্তি ব্যবহার করে ডিস্ট্রিবিউটেড অ্যাপ্লিকেশন সহজে তৈরি এবং পরিচালনা করা যায়।

Content added By
Promotion

Are you sure to start over?

Loading...