RMI Registry কি এবং এর কাজ

RMI Registry এবং Naming Service - জাভা আরএমআই (Java RMI) - Java Technologies

439

RMI Registry হল একটি বাইন্ডিং সার্ভিস যা রিমোট অবজেক্টগুলিকে একটি নির্দিষ্ট নামের সাথে নিবন্ধিত করে এবং ক্লায়েন্টদের সেই রিমোট অবজেক্ট খুঁজে পেতে সাহায্য করে। এটি মূলত একটি নাম-থেকে-অবজেক্ট ম্যাপিং সার্ভার, যা RMI Server এবং RMI Client-এর মধ্যে যোগাযোগ সহজতর করে।


RMI Registry এর কাজ

  1. রিমোট অবজেক্ট রেজিস্ট্রেশন:
    RMI Registry-তে Server-side রিমোট অবজেক্ট bind করা হয়। এটি একটি নির্দিষ্ট নাম (যেমন CalculatorService) দিয়ে রিমোট অবজেক্ট নিবন্ধন করে।
  2. ক্লায়েন্টের জন্য রিমোট অবজেক্ট সরবরাহ:
    ক্লায়েন্ট lookup মেথড ব্যবহার করে নির্দিষ্ট নাম দিয়ে রেজিস্ট্রিতে নিবন্ধিত রিমোট অবজেক্টের রেফারেন্স পেতে পারে।
  3. ক্লায়েন্ট-সার্ভার যোগাযোগ নিশ্চিত করা:
    RMI Registry ক্লায়েন্ট এবং সার্ভারকে একে অপরের সাথে সংযোগ স্থাপন করতে সাহায্য করে। এটি Server-side Stub প্রদান করে, যা ক্লায়েন্ট তার RMI কলগুলির জন্য ব্যবহার করে।
  4. ডিস্ট্রিবিউটেড অ্যাপ্লিকেশন সমর্থন করা:
    RMI Registry ডিস্ট্রিবিউটেড সিস্টেমে অনেকগুলো রিমোট অবজেক্ট পরিচালনা করে এবং ক্লায়েন্ট-সার্ভার মিথস্ক্রিয়া সহজ করে তোলে।

RMI Registry ব্যবহারের ধাপ

1. RMI Registry তৈরি করা

RMI Registry তৈরি করতে LocateRegistry.createRegistry() মেথড ব্যবহার করা হয়।

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

public class Server {
    public static void main(String[] args) {
        try {
            // রিমোট অবজেক্ট তৈরি
            HelloImpl obj = new HelloImpl();

            // RMI Registry তৈরি
            Registry registry = LocateRegistry.createRegistry(1099);

            // রিমোট অবজেক্ট bind করা
            registry.bind("HelloService", obj);

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

2. RMI Registry-তে রিমোট অবজেক্ট bind করা

RMI Registry-তে একটি নির্দিষ্ট নাম দিয়ে রিমোট অবজেক্ট নিবন্ধন করতে bind() বা rebind() মেথড ব্যবহার করা হয়।

  • bind(String name, Remote obj): প্রথমবার রিমোট অবজেক্ট নিবন্ধন করতে ব্যবহৃত হয়।
  • rebind(String name, Remote obj): যদি একই নাম দিয়ে অবজেক্ট আগেই নিবন্ধিত থাকে, এটি সেটিকে ওভাররাইট করে।

3. RMI Registry-তে অবজেক্ট খুঁজে বের করা

ক্লায়েন্ট LocateRegistry.getRegistry() মেথড ব্যবহার করে RMI Registry-তে সংযুক্ত হয় এবং lookup() মেথড দিয়ে রিমোট অবজেক্ট পায়।

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

public class Client {
    public static void main(String[] args) {
        try {
            // RMI Registry থেকে সংযোগ
            Registry registry = LocateRegistry.getRegistry("localhost", 1099);

            // রিমোট অবজেক্ট খুঁজে বের করা
            Hello stub = (Hello) registry.lookup("HelloService");

            // রিমোট মেথড কল করা
            System.out.println(stub.sayHello());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

RMI Registry এর মূল মেথডগুলো

মেথডবিবরণ
bind(String name, Remote obj)রিমোট অবজেক্টকে নির্দিষ্ট নাম দিয়ে RMI Registry-তে নিবন্ধন করে।
rebind(String name, Remote obj)বিদ্যমান নামের উপর নতুন রিমোট অবজেক্ট bind করে।
lookup(String name)নির্দিষ্ট নাম দিয়ে রিমোট অবজেক্টের রেফারেন্স রিটার্ন করে।
unbind(String name)RMI Registry থেকে রিমোট অবজেক্টের নাম আনরেজিস্টার করে।
list()RMI Registry-তে নিবন্ধিত সমস্ত অবজেক্টের নামের তালিকা প্রদান করে।

RMI Registry চালু করা

1. RMI Registry কমান্ড ব্যবহার করে চালানো

আপনার সিস্টেমে RMI Registry চালু করতে নিচের কমান্ডটি ব্যবহার করুন:

rmiregistry

ডিফল্ট পোর্ট 1099

2. কাস্টম পোর্ট দিয়ে RMI Registry চালানো

rmiregistry 2020

3. Java কোড থেকে RMI Registry তৈরি করা

RMI Registry তৈরি করতে Java-এর LocateRegistry.createRegistry(port) মেথড ব্যবহার করা হয়। উদাহরণ:

Registry registry = LocateRegistry.createRegistry(1099);

RMI Registry এর সুবিধা

  1. সেন্ট্রালাইজড ম্যাপিং:
    ক্লায়েন্ট এবং সার্ভারের মধ্যে যোগাযোগ সহজ করে।
  2. ডাইনামিক নিবন্ধন:
    নতুন রিমোট অবজেক্ট সহজেই যোগ করা বা পুরোনো অবজেক্ট পরিবর্তন করা যায়।
  3. মাল্টি-ক্লায়েন্ট সাপোর্ট:
    একই রিমোট অবজেক্টের জন্য একাধিক ক্লায়েন্ট অ্যাক্সেস প্রদান করা সম্ভব।
  4. নাম-ভিত্তিক অনুসন্ধান:
    রিমোট অবজেক্ট সহজে খুঁজে বের করা যায়।

RMI Registry হল RMI প্রযুক্তির একটি গুরুত্বপূর্ণ উপাদান, যা রিমোট অবজেক্টের অবস্থান নির্ধারণ এবং ক্লায়েন্ট-সার্ভার মিথস্ক্রিয়া সহজতর করে। এটি RMI-ভিত্তিক ডিস্ট্রিবিউটেড অ্যাপ্লিকেশনগুলোর জন্য একটি অপরিহার্য উপাদান।

Content added By
Promotion

Are you sure to start over?

Loading...