Remote Interface এ Remote Method সংজ্ঞা দেওয়া

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

397

Java RMI (Remote Method Invocation)-এর একটি গুরুত্বপূর্ণ ধাপ হল Remote Interface তৈরি করা এবং তাতে Remote Methods সংজ্ঞায়িত করা। Remote Interface হল একটি ইন্টারফেস যা java.rmi.Remote ইন্টারফেসটি এক্সটেন্ড করে।

Remote Method হলো এমন মেথড যা ক্লায়েন্ট মেশিন থেকে সার্ভারে কল করা যায়। প্রতিটি Remote Method-এ java.rmi.RemoteException থ্রো করতে হয়, কারণ এটি নেটওয়ার্ক বা রিমোট কমিউনিকেশন সমস্যা হ্যান্ডেল করে।


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

  1. Remote Interface তৈরি করুন:
    Remote Interface-এ সমস্ত মেথড সংজ্ঞায়িত করুন যা ক্লায়েন্ট কল করবে।
  2. java.rmi.Remote ইন্টারফেস এক্সটেন্ড করুন:
    Remote Interface অবশ্যই java.rmi.Remote এক্সটেন্ড করতে হবে।
  3. মেথডে throws RemoteException যুক্ত করুন:
    প্রতিটি Remote Method অবশ্যই throws RemoteException ডিক্লেয়ার করতে হবে।

উদাহরণ: Remote Interface এ Remote Method সংজ্ঞা

Remote Interface তৈরি:

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

// Remote Interface
public interface Calculator extends Remote {
    // Remote Methods
    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;
}

বর্ণনা:

  1. Calculator Interface: এটি একটি Remote Interface।
  2. Remote Methods:
    • add(int a, int b) দুটি সংখ্যা যোগ করে।
    • subtract(int a, int b) দুটি সংখ্যার বিয়োগফল প্রদান করে।
    • multiply(int a, int b) দুটি সংখ্যার গুণফল প্রদান করে।
    • divide(int a, int b) দুটি সংখ্যার ভাগফল প্রদান করে।
  3. প্রতিটি মেথড RemoteException থ্রো করতে পারে।

Remote Interface এর কাজের ভূমিকা

  • Remote Interface শুধুমাত্র মেথডের সিগনেচার সংজ্ঞায়িত করে।
  • Remote Interface-এর মেথডগুলি সার্ভার-এ বাস্তবায়িত হয়।
  • ক্লায়েন্ট Remote Interface ব্যবহার করে সার্ভারের মেথড কল করতে পারে।

Remote Interface এর মাধ্যমে মেথড কলের প্রক্রিয়া

  1. সার্ভারে ইমপ্লিমেন্টেশন:
    সার্ভার Remote Interface-এর ইমপ্লিমেন্টেশন ক্লাসে মেথডগুলি বাস্তবায়ন করে।

    উদাহরণ:

    import java.rmi.server.UnicastRemoteObject;
    import java.rmi.RemoteException;
    
    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;
        }
    }
    
  2. Remote Object Binding:
    সার্ভারে Remote Object RMI Registry-তে bind করা হয়।

    উদাহরণ:

    import java.rmi.registry.LocateRegistry;
    import java.rmi.registry.Registry;
    
    public class Server {
        public static void main(String[] args) {
            try {
                CalculatorImpl calculator = new CalculatorImpl();
                Registry registry = LocateRegistry.createRegistry(1099);
                registry.rebind("CalculatorService", calculator);
                System.out.println("Calculator Service is ready!");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
  3. ক্লায়েন্ট থেকে Remote Method কল:
    ক্লায়েন্ট RMI Registry থেকে Remote Object পায় এবং Remote Method কল করে।

    উদাহরণ:

    import java.rmi.registry.LocateRegistry;
    import java.rmi.registry.Registry;
    
    public class Client {
        public static void main(String[] args) {
            try {
                Registry registry = LocateRegistry.getRegistry("localhost", 1099);
                Calculator calculator = (Calculator) registry.lookup("CalculatorService");
    
                System.out.println("Addition: " + calculator.add(5, 3));
                System.out.println("Subtraction: " + calculator.subtract(5, 3));
                System.out.println("Multiplication: " + calculator.multiply(5, 3));
                System.out.println("Division: " + calculator.divide(10, 2));
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

Remote Interface-এ Remote Method সংজ্ঞা দেওয়ার সময়:

  1. java.rmi.Remote ইন্টারফেস এক্সটেন্ড করুন।
  2. প্রতিটি Remote Method-এ throws RemoteException যুক্ত করুন।
  3. মেথডের শুধুমাত্র সিগনেচার সংজ্ঞা দিন।

এই ধাপগুলো অনুসরণ করলে Remote Object সহজে তৈরি এবং ক্লায়েন্ট থেকে সার্ভার মেথড কল করা সম্ভব হয়। RMI প্রযুক্তি Distributed Systems এর জন্য কার্যকর এবং টাইপ সেফ সমাধান প্রদান করে।

Content added By
Promotion

Are you sure to start over?

Loading...