উদাহরণ সহ RMI Interface তৈরি

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

278

জাভা RMI (Remote Method Invocation) ব্যবহার করে আমরা একটি রিমোট ইন্টারফেস তৈরি করতে পারি, যা সার্ভার এবং ক্লায়েন্টের মধ্যে যোগাযোগের একটি চুক্তি হিসাবে কাজ করে। এই রিমোট ইন্টারফেসে ডিক্লেয়ার করা মেথডগুলো ক্লায়েন্ট দ্বারা দূরবর্তীভাবে ডাকা যায়।


RMI Interface তৈরির ধাপ

  1. Remote Interface তৈরি করা:
    Remote Interface হলো একটি সাধারণ Java Interface, যা java.rmi.Remote ইন্টারফেসটি এক্সটেন্ড করে।
    • সকল মেথডে throws RemoteException যুক্ত থাকতে হবে।
  2. Remote Object এর Implementation:
    Remote Interface ইমপ্লিমেন্ট করে একটি Remote Object তৈরি করা হয়।
  3. RMI Registry তে Remote Object রেজিস্টার করা:
    Remote Object একটি নির্দিষ্ট নাম দিয়ে RMI Registry তে রেজিস্টার করা হয়।
  4. Client এর মাধ্যমে Remote Method কল করা:
    ক্লায়েন্ট RMI Registry থেকে Remote Object-এর রেফারেন্স পায় এবং সেই রেফারেন্স দিয়ে মেথড কল করে।

RMI Interface এবং উদাহরণ

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;
}

বৈশিষ্ট্য:

  • Calculator ইন্টারফেসটি Remote ইন্টারফেসটি এক্সটেন্ড করেছে।
  • মেথডগুলোতে throws RemoteException ব্যবহার করা হয়েছে।

Step 2: Remote Object ইমপ্লিমেন্টেশন

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

// Remote Object ইমপ্লিমেন্ট করা
public class CalculatorImpl extends UnicastRemoteObject implements Calculator {

    // কনস্ট্রাক্টর
    protected CalculatorImpl() throws RemoteException {
        super();
    }

    // Remote Method ইমপ্লিমেন্টেশন
    @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;
    }
}

Step 3: Server-Side Implementation

import java.rmi.Naming;

public class CalculatorServer {
    public static void main(String[] args) {
        try {
            // Remote Object তৈরি
            Calculator calculator = new CalculatorImpl();

            // RMI Registry তে রেজিস্টার
            Naming.rebind("rmi://localhost:1099/CalculatorService", calculator);

            System.out.println("Calculator Service is ready.");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Step 4: Client-Side Implementation

import java.rmi.Naming;

public class CalculatorClient {
    public static void main(String[] args) {
        try {
            // RMI Registry থেকে Remote Object রেফারেন্স পাওয়া
            Calculator calculator = (Calculator) Naming.lookup("rmi://localhost:1099/CalculatorService");

            // Remote Method কল করা
            int sum = calculator.add(10, 20);
            int difference = calculator.subtract(30, 15);

            System.out.println("Sum: " + sum);
            System.out.println("Difference: " + difference);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

RMI Application রান করার ধাপ

  1. RMI Registry চালু করুন:

    rmiregistry
    
  2. Server Side রান করুন:

    java CalculatorServer
    
  3. Client Side রান করুন:

    java CalculatorClient
    

আউটপুট

Calculator Service is ready.
Sum: 30
Difference: 15

  1. Remote Interface জাভা RMI এর একটি অপরিহার্য উপাদান যা ক্লায়েন্ট এবং সার্ভারের মধ্যে যোগাযোগের নিয়ম নির্ধারণ করে।
  2. উদাহরণটি একটি সাধারণ Calculator Service দেখায়, যেখানে ক্লায়েন্ট রিমোট সার্ভারে add এবং subtract মেথড কল করে।
  3. এই প্রক্রিয়া বড় অ্যাপ্লিকেশনের ক্ষেত্রে বিতরণকৃত সিস্টেম তৈরির জন্য কার্যকর।
Content added By
Promotion

Are you sure to start over?

Loading...