RMI Server Class তৈরি করা

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

362

Java RMI (Remote Method Invocation) এর মাধ্যমে একটি Server Class তৈরি করতে হয় যা রিমোট অবজেক্ট রেজিস্ট্রি (Registry) এর সাথে রিমোট অবজেক্ট নিবন্ধন করে। এই ক্লাসটি RMI-র মূল অংশ এবং Client থেকে রিমোট কল গ্রহণ ও পরিচালনা করে।


RMI Server Class তৈরির ধাপ

1. Remote Interface ইমপ্লিমেন্ট করা

Server Class-টি একটি Remote Interface ইমপ্লিমেন্ট করে, যা রিমোট মেথডগুলির ডিফিনিশন ধারণ করে।

2. Remote Object তৈরি করা

Remote Object-টি UnicastRemoteObject-এর সাবক্লাস হিসাবে তৈরি করা হয় এবং Remote Interface ইমপ্লিমেন্ট করে।

3. RMI Registry-তে Remote Object নিবন্ধন করা

RMI Registry-তে Remote Object নিবন্ধন করার জন্য LocateRegistry এবং Registry ব্যবহার করা হয়।


RMI Server Class উদাহরণ

1. Remote Interface তৈরি করা

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

public interface Hello extends Remote {
    String sayHello() throws RemoteException;
}

2. Remote Object Implementation

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

public class HelloImpl extends UnicastRemoteObject implements Hello {
    protected HelloImpl() throws RemoteException {
        super();
    }

    @Override
    public String sayHello() throws RemoteException {
        return "Hello, RMI Server!";
    }
}

3. Server Class তৈরি করা

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

public class Server {
    public static void main(String[] args) {
        try {
            // Remote Object তৈরি
            HelloImpl obj = new HelloImpl();

            // RMI Registry তৈরি বা বিদ্যমান Registry ব্যবহার
            Registry registry = LocateRegistry.createRegistry(1099);

            // Remote Object নিবন্ধন
            registry.bind("HelloService", obj);

            System.out.println("RMI Server is running...");
        } catch (Exception e) {
            System.err.println("Server exception: " + e.toString());
            e.printStackTrace();
        }
    }
}

বিস্তারিত ব্যাখ্যা

1. UnicastRemoteObject:

HelloImpl ক্লাসটি UnicastRemoteObject-কে প্রসারিত করে, যা রিমোট ক্লাস তৈরি এবং রেজিস্ট্রেশন পরিচালনা করে। এটি Remote Object-কে ক্লায়েন্টের জন্য অ্যাক্সেসযোগ্য করে তোলে।

2. LocateRegistry.createRegistry():

LocateRegistry.createRegistry(1099) দ্বারা একটি RMI Registry তৈরি করা হয় যা ডিফল্টভাবে 1099 পোর্টে কাজ করে।

3. registry.bind():

bind() মেথড Remote Object-কে একটি নির্দিষ্ট নামের (যেমন "HelloService") সাথে RMI Registry-তে নিবন্ধন করে। এটি ক্লায়েন্টদের জন্য উপলব্ধ হয়।

4. Exception Handling:

RMI Server Class তৈরির সময় সম্ভাব্য ব্যতিক্রম যেমন RemoteException, AlreadyBoundException, ইত্যাদি হ্যান্ডল করা হয়।


Server Class চালানোর নির্দেশনা

  1. Policy File তৈরি করুন (optional): server.policy নামে একটি Policy ফাইল তৈরি করুন:

    grant {
        permission java.security.AllPermission;
    };
    
  2. Server Compile করুন:

    javac *.java
    
  3. Server চালু করুন:

    java -Djava.security.policy=server.policy Server
    

উপরের উদাহরণের মাধ্যমে আপনি সহজেই একটি RMI Server Class তৈরি করতে পারবেন। এটি রিমোট অবজেক্টকে নিবন্ধন এবং ব্যবস্থাপনা করার জন্য মূল ভূমিকা পালন করে। Client-Server আর্কিটেকচারে এই Server Class Client-কে রিমোট মেথডগুলিতে অ্যাক্সেস দেওয়ার ক্ষমতা প্রদান করে।

Content added By
Promotion

Are you sure to start over?

Loading...