Remote Interface এর Method ইমপ্লিমেন্ট করা

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

287

Remote Interface হল জাভা RMI এর মূল ভিত্তি। এটি এমন একটি ইন্টারফেস যা java.rmi.Remote ইন্টারফেস এক্সটেন্ড করে। এর মেথডগুলো RemoteException থ্রো করতে পারে, এবং এগুলো Server-Side Implementation এ ইমপ্লিমেন্ট করা হয়।


Remote Interface তৈরির ধাপ

ধাপ ১: Remote Interface তৈরি করা

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; // বিয়োগ করার জন্য মেথড
}

Remote Interface এর Method ইমপ্লিমেন্ট করা

ধাপ ২: Remote Interface এর ইমপ্লিমেন্টেশন তৈরি করা

Remote Interface-এ ডিক্লেয়ার করা মেথডগুলোর ইমপ্লিমেন্টেশন Server-Side ক্লাসে করা হয়। এই ক্লাসটি java.rmi.server.UnicastRemoteObject এক্সটেন্ড করতে হবে।

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

// Implementation of Remote Interface
public class CalculatorImpl extends UnicastRemoteObject implements Calculator {

    // Constructor
    protected CalculatorImpl() throws RemoteException {
        super();
    }

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

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

Implementation এর বিস্তারিত বিশ্লেষণ

  1. UnicastRemoteObject:
    • এই ক্লাসটি ব্যবহার করে ইমপ্লিমেন্ট করা রিমোট অবজেক্টকে একটি নির্দিষ্ট পোর্টে bind করা হয়।
  2. Constructor:
    • CalculatorImpl ক্লাসের কনস্ট্রাক্টর RemoteException থ্রো করতে পারে কারণ এটি রিমোট মেথড হ্যান্ডল করে।
  3. Method Implementation:
    • add এবং subtract মেথড সরাসরি দুইটি সংখ্যার উপর গণনা করে রেজাল্ট রিটার্ন করে।
  4. Exception Handling:
    • প্রত্যেক মেথডে throws RemoteException ব্যবহার করা হয়।

ধাপ ৩: Server-Side Code

Implementation ক্লাসটি RMI Registry তে bind করতে হবে, যাতে ক্লায়েন্ট এটি অ্যাক্সেস করতে পারে।

import java.rmi.Naming;
import java.rmi.registry.LocateRegistry;

public class Server {
    public static void main(String[] args) {
        try {
            LocateRegistry.createRegistry(1099); // RMI Registry তৈরি করা
            Calculator calculator = new CalculatorImpl();
            Naming.rebind("rmi://localhost:1099/CalculatorService", calculator);
            System.out.println("Calculator Service is ready.");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

ধাপ ৪: Client-Side Code

ক্লায়েন্ট Remote Interface ব্যবহার করে RMI Registry থেকে সার্ভিস অ্যাক্সেস করবে।

import java.rmi.Naming;

public class Client {
    public static void main(String[] args) {
        try {
            Calculator calculator = (Calculator) Naming.lookup("rmi://localhost:1099/CalculatorService");
            System.out.println("Addition: " + calculator.add(5, 3)); // যোগফল: ৮
            System.out.println("Subtraction: " + calculator.subtract(5, 3)); // বিয়োগফল: ২
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

স্টেপ বাই স্টেপ কার্যপ্রক্রিয়া

  1. Remote Interface তৈরির ধাপ:
    • রিমোট মেথডগুলোর নাম এবং সিগনেচার ডিক্লেয়ার করা।
  2. Implementation:
    • Remote Interface-এ ডিক্লেয়ার করা মেথডগুলোর ইমপ্লিমেন্টেশন করা।
  3. Server-Side Binding:
    • RMI Registry তে ইমপ্লিমেন্ট করা ক্লাসকে bind করা।
  4. Client-Side Invocation:
    • ক্লায়েন্ট Remote Interface ব্যবহার করে রিমোট মেথড কল করে।

Remote Interface হল RMI এর কেন্দ্রীয় অংশ যা ক্লায়েন্ট এবং সার্ভারের মধ্যে কমিউনিকেশন নিশ্চিত করে। মেথডগুলোর ইমপ্লিমেন্টেশন Server-Side-এ করা হয় এবং এগুলো RMI Registry এর মাধ্যমে অ্যাক্সেসযোগ্য হয়। উপরের উদাহরণটি একটি সহজ RMI প্রজেক্টের জন্য Remote Interface এর মেথড ইমপ্লিমেন্ট করার পদ্ধতি ব্যাখ্যা করে।

Content added By
Promotion

Are you sure to start over?

Loading...