যেহেতু স্প্রিং কেবল ইজেবির মতো লেনদেন ব্যবহার করতে সক্ষম । আমার জন্য, স্প্রিং ইজেবি ব্যবহারের প্রয়োজনীয়তা প্রতিস্থাপন করতে সক্ষম। কেউ আমাকে বলতে পারেন যে ইজেবি ব্যবহারের অতিরিক্ত সুবিধা কী?
উত্তর:
বসন্তটি শুরু থেকেই ইজেবির বিকল্প হিসাবে বিকশিত হয়েছিল, সুতরাং উত্তরটি অবশ্যই আপনি ইজেবিগুলির জায়গায় বসন্তটি ব্যবহার করতে পারেন।
ইজেবিগুলি ব্যবহারে যদি "সুবিধা" থাকে তবে আমি বলব যে এটি আপনার দলের দক্ষতার উপর নির্ভর করবে। আপনার যদি কোনও স্প্রিং দক্ষতা না থাকে এবং প্রচুর ইজেবি অভিজ্ঞতা থাকে, তবে সম্ভবত EJB 3.0 দিয়ে স্টিক করা ভাল পদক্ষেপ।
ইজেবি স্ট্যান্ডার্ডকে সমর্থন করার জন্য লিখিত অ্যাপ্লিকেশন সার্ভারগুলিকে তাত্ত্বিকভাবে একটি অনুগত জাভা ইই অ্যাপ্লিকেশন সার্ভার থেকে অন্যটিতে পোর্ট করা যেতে পারে। তবে এর অর্থ হ'ল যে কোনও এবং সমস্ত বিক্রেতা-নির্দিষ্ট এক্সটেনশনগুলি থেকে দূরে থাকুন যা আপনাকে একজন বিক্রেতার কাছে লক করে রাখে।
অ্যাপ্লিকেশন সার্ভারগুলির মধ্যে সহজেই বসন্তের বন্দরগুলি (যেমন, ওয়েবলজিক, টমক্যাট, জেবিওএস, ইত্যাদি) কারণ এটি তাদের উপর নির্ভর করে না।
যাইহোক, আপনি স্প্রিং এ লক করা আছে।
স্প্রিং ভাল ওও ডিজাইন অনুশীলনগুলিকে উত্সাহ দেয় (যেমন, ইন্টারফেস, স্তরগুলি, উদ্বেগের বিভাজন) যা তারা স্পর্শ করে যে কোনও সমস্যার উপকার করে, এমনকি আপনি গুইস বা অন্য কোনও ডিআই ফ্রেমওয়ার্কে স্যুইচ করার সিদ্ধান্ত নিয়েছে কিনা।
আপডেট: এই প্রশ্নোত্তর এবং উত্তরটি ২০১৪ সালে পাঁচ বছরের পুরনো It এটি বলা দরকার যে প্রোগ্রামিং এবং অ্যাপ্লিকেশন বিকাশের জগতটি সেই সময়ের মধ্যে একটি বিরাট পরিবর্তন ঘটেছে।
এটি আর জাভা বা সি #, স্প্রিং বা ইজেবিগুলির মধ্যে কেবল পছন্দ নয়। উল্লম্ব.এক্স দিয়ে জাভা ইই সম্পূর্ণভাবে বন্ধ করা সম্ভব। আপনি কোনও অ্যাপ সার্ভার ছাড়াই অত্যন্ত স্কেলেবল, পলিগ্লট অ্যাপ্লিকেশন লিখতে পারেন।
আপডেট: এখন মার্চ 2016। স্প্রিং বুট জাভা EE অ্যাপ্লিকেশন সার্ভার ছাড়াই অ্যাপ্লিকেশনগুলি লেখার আরও ভাল উপায় সরবরাহ করে। আপনি একটি এক্সিকিউটেবল জেআর তৈরি করতে এবং এটি একটি জেভিএম এ চালাতে পারেন।
আমি অবাক হয়েছি যে ওরাকল জাভা ইই অনুষঙ্গকে সমর্থন অব্যাহত রাখে কি না। ওয়েব পরিষেবাগুলি ইজেবিগুলির জন্য গ্রহণ করেছে। ইজেবি সমাধানটি মারা গেছে। (শুধুমাত্র আমার অভিমত.)
প্রথমে এটি পরিষ্কার করে বলি, আমি বলছি না যে আপনি স্প্রিং ব্যবহার করবেন না তবে আপনি কিছু সুবিধা চাইছেন বলে এর মধ্যে কমপক্ষে দুটি এখানে রয়েছে:
EJB 3 একটি স্ট্যান্ডার্ড, যখন স্প্রিং হয় না (এটি একটি ডি স্টাটিক স্ট্যান্ডার্ড তবে এটি একই জিনিস নয়) এবং এটি ভবিষ্যতে পরিবর্তিত হবে না। যদিও আপনি যে কোনও অ্যাপ্লিকেশন সার্ভারের সাথে বসন্তের কাঠামোটি ব্যবহার করতে পারেন, স্প্রিং অ্যাপ্লিকেশনগুলি বসন্তে এবং স্প্রিংয়ের সাথে সংহত করার জন্য আপনি যে নির্দিষ্ট পরিষেবাদি চয়ন করেন তা উভয়ই লক হয়ে যায়।
স্প্রিং ফ্রেমওয়ার্কটি অ্যাপ্লিকেশন সার্ভার এবং পরিষেবা লাইব্রেরির শীর্ষে বসে। পরিষেবা সংহতকরণ কোড (উদাহরণস্বরূপ ডেটা অ্যাক্সেস টেম্পলেট) ফ্রেমওয়ার্কটিতে থাকে এবং অ্যাপ্লিকেশন বিকাশকারীদের কাছে তা প্রকাশিত হয়। বিপরীতে, EJB 3 কাঠামোটি অ্যাপ্লিকেশন সার্ভারের সাথে সংহত করা হয়েছে এবং পরিষেবা সংহতকরণ কোডটি একটি ইন্টারফেসের পিছনে আবদ্ধ হয়। EJB 3 বিক্রেতারা এইভাবে অ্যাপ্লিকেশন সার্ভার স্তরে কাজ করে পারফরম্যান্স এবং বিকাশকারীদের অভিজ্ঞতাকে অনুকূল করতে পারে। উদাহরণস্বরূপ, তারা জেপিএ ইঞ্জিনটি জেটিএ লেনদেন পরিচালনার সাথে নিবিড়ভাবে বেঁধে রাখতে পারে। অন্য উদাহরণ হ'ল ক্লাস্টারিং সমর্থন যা ইজেবি 3 বিকাশকারীদের কাছে স্বচ্ছ।
EJB 3 নিখুঁত নয় যদিও এটি এখনও কিছু বৈশিষ্ট্য অভাব বোধ করছে (উদাহরণস্বরূপ সহজ POJOs এর মতো অ পরিচালিত উপাদানগুলির ইনজেকশন)।
পাস্কলের পয়েন্টগুলি বৈধ। স্প্রিংয়ের পক্ষে তবে নিম্নলিখিতগুলি রয়েছে।
ইজেবি স্পেসিফিকেশন আসলে কিছুটা looseিলা, এবং তাই বিভিন্ন অ্যাপ্লিকেশন সার্ভারের সাথে বিভিন্ন আচরণ লক্ষ্য করা যায়। অবশ্যই এটি বেশিরভাগ ক্ষেত্রে সত্য হবে না তবে কিছু "গা dark় কোণে" আমারও এ জাতীয় সমস্যা হয়েছিল।
স্প্রিং-তে প্রচুর অতিরিক্ত গুডিজ রয়েছে, যেমন বসন্ত-পরীক্ষা, এওপি, এমভিসি, জেএসএফ ইন্টিগ্রেশন ইত্যাদি B
উপসংহারে, এটি মূলত আপনার সঠিক ক্ষেত্রে নির্ভর করে।
EJBContainer.createEJBContainer()
কনটেইনারটি ব্যবহার করার জন্য স্ট্যান্ডার্ড এপিআই রয়েছে। সুতরাং, এখনও, আপনার বক্তব্য ভুল।
স্প্রিং মানে ইজেবি পরিপূরক, এটি প্রতিস্থাপন করা নয় not বসন্তটি ইজেবির শীর্ষে একটি স্তর। যেমনটি আমরা জানি, EJB এর কোডিং এপিআই ব্যবহার করে সম্পন্ন হয় যার অর্থ আমরা স্প্রিং ফ্রেমওয়ার্কটি ব্যবহার করে এপিআইতে সমস্ত কিছু প্রয়োগ করতে হবে। আমরা বয়লার-প্লেট কোড তৈরি করতে পারি, তারপরে কেবল সেই প্লেটটি নিয়ে যাই, এতে কিছু স্টাফ যুক্ত করি, তারপরে সবকিছু শেষ হয়ে যায়। অভ্যন্তরীণভাবে বসন্ত EJB এর সাথে সংযুক্ত - EJB ছাড়া বসন্তের অস্তিত্ব থাকত না।
স্প্রিং ব্যবহারের প্রধান সুবিধা হ'ল ক্লাসগুলির মধ্যে কোনও মিল নেই।