EJB এর ইতিহাস এবং জাভা EE (Jakarta EE) এর অংশ

EJB এর পরিচিতি - ইজেবি (EJB) - Java Technologies

269

EJB (Enterprise JavaBeans) এর ইতিহাস:

EJB (Enterprise JavaBeans) হল একটি Java EE (Enterprise Edition) ফিচার যা ব্যবসায়িক লজিক এবং ডিস্ট্রিবিউটেড সিস্টেম ডেভেলপমেন্টের জন্য ব্যবহৃত হয়। EJB হল একটি স্পেসিফিকেশন, যা Java EE প্ল্যাটফর্মের মধ্যে বিভিন্ন ধরনের ব্যবসায়িক লজিক তৈরি এবং পরিচালনা করার জন্য একটি স্ট্যান্ডার্ড উপায় প্রদান করে। এটি প্রথম 1997 সালে Java 2 Platform, Enterprise Edition (J2EE) এর অংশ হিসেবে তৈরি হয়।

EJB এর ইতিহাস:

  • 1997: EJB প্রথম J2EE প্ল্যাটফর্মের অংশ হিসেবে প্রবর্তিত হয়। এর মূল উদ্দেশ্য ছিল ডিস্ট্রিবিউটেড ট্রানজেকশনাল অ্যাপ্লিকেশন তৈরি করা।
  • 2000: EJB 2.0 এবং EJB 2.1 সংস্করণগুলির মধ্যে অনেক বৈশিষ্ট্য যোগ করা হয়, যার মধ্যে ছিল entity beans এবং message-driven beans
  • 2006: EJB 3.0 ভার্সন চালু হয়, যেখানে আধুনিক সিম্পল এবং লাইটওয়েট কম্পোনেন্ট-ভিত্তিক ডেভেলপমেন্ট টুল সরবরাহ করা হয়। এতে dependency injection, POJO-based beans, এবং annotations এর মাধ্যমে কোড লেখার সুবিধা দেওয়া হয়।
  • 2017: Jakarta EE (আগের J2EE) নামকরণ করা হয় এবং এটি EJB এবং অন্যান্য Java EE স্পেসিফিকেশনগুলিকে অন্তর্ভুক্ত করে আধুনিক ওয়েব এবং এন্টারপ্রাইজ অ্যাপ্লিকেশন তৈরির জন্য একটি শক্তিশালী প্ল্যাটফর্মে পরিণত হয়।

EJB এর মূল বৈশিষ্ট্য:

  1. অবজেক্ট-ওরিয়েন্টেড আর্কিটেকচার: EJB অ্যাপ্লিকেশনগুলিতে ডিস্ট্রিবিউটেড অবজেক্ট পরিচালনার জন্য বিভিন্ন ধরনের session beans, message-driven beans এবং entity beans ব্যবহৃত হয়।
  2. ট্রানজেকশন হ্যান্ডলিং: EJB স্বয়ংক্রিয়ভাবে ট্রানজেকশন পরিচালনা করে, যেমন commit বা rollback
  3. ডিস্ট্রিবিউটেড কম্পিউটিং: EJB রিমোট এবং লোকাল কম্পোনেন্টের মাধ্যমে সিস্টেমের মধ্যে যোগাযোগ এবং প্রসেসিং সক্ষম করে।
  4. সিকিউরিটি: EJB নিজেই নিরাপত্তা সংক্রান্ত ফিচার যেমন authentication এবং authorization হ্যান্ডেল করতে সক্ষম।

Jakarta EE (আগের Java EE)

Jakarta EE (আগের Java EE বা J2EE) হল একটি ওপেন সোর্স ফ্রেমওয়ার্ক যা Java ব্যবহার করে এন্টারপ্রাইজ অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। Jakarta EE নামকরণ হয় 2017 সালে, যখন Oracle Java EE স্পেসিফিকেশনকে Eclipse Foundation এর অধীনে স্থানান্তরিত করে এবং এটি Jakarta নামকরণ করা হয়।

Java EE থেকে Jakarta EE তে পরিবর্তন:

  • Java EE ছিল Oracle-এর অধীনে এবং Java SE এর উপরে আধিকারিক এন্টারপ্রাইজ অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য প্ল্যাটফর্ম।
  • 2017 সালে Oracle তাদের Java EE অধিকার Eclipse Foundation-কে হস্তান্তর করে, এবং সেখানে একটি নতুন নামকরণ করা হয়— Jakarta EE
  • Jakarta EE এখনও সেই একই স্পেসিফিকেশন এবং প্রযুক্তিগুলির সাথে কাজ করে, কিন্তু এখন এটি Eclipse Foundation এর আওতাধীন।

Jakarta EE এর অংশ (EJB এর অংশ)

Jakarta EE একটি বেশ বিস্তৃত স্পেসিফিকেশন এবং এটি EJB এর পাশাপাশি অন্যান্য গুরুত্বপূর্ণ এন্টারপ্রাইজ টেকনোলজি অন্তর্ভুক্ত করে, যেমন:

  1. Servlets: HTTP ভিত্তিক ওয়েব অ্যাপ্লিকেশন ডেভেলপ করার জন্য ব্যবহৃত হয়।
  2. JSP (JavaServer Pages): ডাইনামিক ওয়েব পেজ তৈরি করার জন্য ব্যবহৃত হয়।
  3. JPA (Java Persistence API): ডেটাবেসের সাথে যোগাযোগ এবং পদ্ধতিগত ডেটা ম্যানিপুলেশন ব্যবস্থাপনা জন্য ব্যবহৃত হয়।
  4. JMS (Java Message Service): মেসেজিং সিস্টেমের মধ্যে ডেটা আদান-প্রদান করার জন্য ব্যবহৃত হয়।
  5. CDI (Contexts and Dependency Injection): JavaBeans-এর মাধ্যমে অবজেক্ট ইনজেকশন এবং কোডের মধ্যে dependencies সমাধান করতে ব্যবহৃত হয়।

EJB এর উদাহরণসহ ব্যাখ্যা

Session Bean (Stateless এবং Stateful)

Session Beans হল EJB এর দুটি প্রধান ধরন: Stateful Session Bean এবং Stateless Session Bean। এগুলি সাধারণত ব্যবসায়িক লজিক পরিচালনা করতে ব্যবহৃত হয়।

  1. Stateless Session Bean:

    • Stateless beans কোনও স্টেট (অবস্থা) ধারণ করে না, তাই একবার রিকোয়েস্ট প্রসেস করার পরে, এটি মেমরি থেকে সরিয়ে ফেলা যায়। এগুলি অনেক ক্লায়েন্টের জন্য কম্পিউটেশন শেয়ার করতে সক্ষম।

    Stateless Bean উদাহরণ:

    @Stateless
    public class CalculatorBean implements Calculator {
        public int add(int a, int b) {
            return a + b;
        }
    }
    
    • এখানে, CalculatorBean একটি Stateless Session Bean যা দুটি সংখ্যা যোগ করার জন্য ব্যবহৃত হয়।
  2. Stateful Session Bean:

    • Stateful beans ক্লায়েন্টের স্টেট (অবস্থা) মনে রাখে। প্রতিটি ক্লায়েন্টের জন্য এটি একটি পৃথক অবস্থা সংরক্ষণ করে।

    Stateful Bean উদাহরণ:

    @Stateful
    public class OrderBean implements Order {
        private int orderId;
        private List<String> items;
    
        public void addItem(String item) {
            items.add(item);
        }
    
        public List<String> getItems() {
            return items;
        }
    }
    
    • এখানে, OrderBean একটি Stateful Session Bean যা প্রতিটি ক্লায়েন্টের জন্য একটি পৃথক অর্ডারের আইটেমগুলি সংরক্ষণ করে।

Message-Driven Beans (MDB)

Message-Driven Beans (MDB) হল EJB এর একটি ধরনের Bean যা মেসেজ কিউ থেকে এসকল মেসেজ প্রক্রিয়া করতে ব্যবহৃত হয়, যেমন JMS (Java Message Service) মেসেজ। এগুলি asynchronous প্রসেসিং এর জন্য ব্যবহৃত হয়।

Message-Driven Bean উদাহরণ:

@MessageDriven(mappedName = "jms/queue")
public class MessageBean implements MessageListener {
    public void onMessage(Message message) {
        System.out.println("Received message: " + message);
    }
}
  • এখানে, MessageBean একটি MDB যা jms/queue থেকে মেসেজ প্রাপ্ত হলে তা প্রসেস করে।

সারাংশ:

  • EJB হল Java EE (এখন Jakarta EE) এর একটি গুরুত্বপূর্ণ অংশ, যা এন্টারপ্রাইজ অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য ব্যবহৃত হয়। এটি session beans, entity beans, এবং message-driven beans দিয়ে ব্যবসায়িক লজিক পরিচালনা এবং ডিস্ট্রিবিউটেড সিস্টেমে কাজ করার জন্য ব্যবহৃত হয়।
  • Jakarta EE হল Java EE এর নতুন নাম যা Eclipse Foundation এর অধীনে চালু হয়েছে এবং এতে EJB সহ অনেক এন্টারপ্রাইজ টেকনোলজি অন্তর্ভুক্ত রয়েছে।
  • EJB Session Beans, Message-Driven Beans এর মাধ্যমে কোডের ব্যবসায়িক লজিক এবং ডিস্ট্রিবিউটেড কম্পিউটিংকে সহজতর করে, এবং Jakarta EE এর মাধ্যমে এর আধুনিক সংস্করণে আরও বেশি সুবিধা প্রদান করা হয়েছে।
Content added By
Promotion

Are you sure to start over?

Loading...