স্ট্রুট এবং স্ট্রটস2 এর মধ্যে পার্থক্য

স্ট্রুট এবং স্ট্রটস2 এর মধ্যে পার্থক্য
স্ট্রুট এবং স্ট্রটস2 এর মধ্যে পার্থক্য

ভিডিও: স্ট্রুট এবং স্ট্রটস2 এর মধ্যে পার্থক্য

ভিডিও: স্ট্রুট এবং স্ট্রটস2 এর মধ্যে পার্থক্য
ভিডিও: VOIP কোডেক | ভয়েস ওভার আইপি (শিল্প) + টেলিযোগাযোগ (শিল্প) 2024, নভেম্বর
Anonim

স্ট্রটস বনাম স্ট্রটস2

Struts (এছাড়াও Apache Struts বা Struts 1 নামে পরিচিত) হল একটি ক্রস-প্ল্যাটফর্ম ওপেন সোর্স ফ্রেমওয়ার্ক যা জাভাতে লেখা, যা জাভা EE ওয়েব অ্যাপ্লিকেশন তৈরির উদ্দেশ্যে। এটি প্রাথমিক জাভা EE ওয়েব অ্যাপ্লিকেশন ফ্রেমওয়ার্কগুলির মধ্যে একটি ছিল। কিন্তু কয়েক বছর পরে, Struts2 (বা Struts সংস্করণ 2) এসেছে, এবং এটি একটি সম্পূর্ণ ভিন্ন এবং অত্যন্ত উন্নত ওয়েব অ্যাপ্লিকেশন ফ্রেমওয়ার্ক ছিল। এটি প্রাথমিক সংস্করণে ঘাটতি হিসাবে বিবেচিত কয়েকটি সমস্যা সমাধান করেছে। এখন, বিশ্বে জাভা EE অ্যাপ্লিকেশন বিকাশের জন্য Struts2 খুব বেশি ব্যবহার করা হচ্ছে৷

স্ট্রুটস কি?

স্ট্রটস (স্ট্রুটস 1) ফ্রেমওয়ার্ক ছিল জাভা EE ওয়েব অ্যাপ্লিকেশন বিকাশের জন্য প্রাথমিক ওয়েব অ্যাপ্লিকেশন ফ্রেমওয়ার্কগুলির মধ্যে একটি।স্ট্রুটস ফ্রেমওয়ার্ক এমভিসি (মডেল-ভিউ-কন্ট্রোলার) আর্কিটেকচারের ব্যবহারকে উৎসাহিত করে। এটি Java Servlet API এর একটি এক্সটেনশন। Craig McClanahan হলেন Struts এর আদি স্রষ্টা। প্রাথমিকভাবে এটি জাকারাথা স্ট্রুটস নামে পরিচিত ছিল এবং অ্যাপাচি সফটওয়্যার ফাউন্ডেশনের জাকার্তা প্রকল্পের অধীনে রক্ষণাবেক্ষণ করা হয়েছিল। এটি Apache লাইসেন্স 2.0 এর অধীনে প্রকাশিত হয়েছে। স্ট্রুটস ফ্রেমওয়ার্ককে অনুরোধ-ভিত্তিক ফ্রেমওয়ার্ক বলা হয় এবং এটি তিনটি প্রধান উপাদান নিয়ে গঠিত: একটি অনুরোধ হ্যান্ডলার, একটি প্রতিক্রিয়া হ্যান্ডলার এবং একটি ট্যাগ লাইব্রেরি। স্ট্যান্ডার্ড URI (ইউনিফর্ম রিসোর্স আইডেন্টিফায়ার) একটি অনুরোধ হ্যান্ডলারে ম্যাপ করা হয়। প্রতিক্রিয়া হ্যান্ডলার নিয়ন্ত্রণ স্থানান্তর জন্য দায়ী. ফর্মের সাথে ইন্টারেক্টিভ অ্যাপ্লিকেশন তৈরি করতে, ট্যাগ লাইব্রেরি দ্বারা দেওয়া বৈশিষ্ট্যগুলি ব্যবহার করা যেতে পারে। Struts REST অ্যাপ্লিকেশন এবং বিভিন্ন প্রযুক্তি যেমন SOAP, AJAX, ইত্যাদি সমর্থন করে।

Struts2 কি?

স্ট্রুটস ফ্রেমওয়ার্কটি সেই সময়ে জাভা ইই ডেভেলপারদের দ্বারা নির্দিষ্ট সীমাবদ্ধতা (প্রধানত উপস্থাপনা স্তর, অনুরোধ হ্যান্ডলিং লেয়ার এবং মডেলের মধ্যে পৃথকীকরণের অভাব) ধারণ করা হয়েছিল এবং ফলস্বরূপ কয়েক বছর পরে স্ট্রুটস2 এসেছে।আসলে, Struts2 ছিল Struts থেকে সম্পূর্ণ আলাদা। প্রকৃতপক্ষে, তারা একই কোড বেসও ভাগ করেনি কারণ Struts2 ছিল কেবল WebWork 2.2 ফ্রেমওয়ার্কের নামকরণের ফলাফল (অর্থাৎ WebWork এবং Struts সম্প্রদায় যারা কিছু সময়ের জন্য আলাদাভাবে কাজ করেছিল তারা শেষ পর্যন্ত Struts2 নিয়ে আসার জন্য হাত মেলায়)। এর বর্তমান স্থিতিশীল রিলিজ হল সংস্করণ 2.2.3, যা মে, 2011 এ প্রকাশিত হয়েছিল।

Struts এবং Struts2 এর মধ্যে পার্থক্য কি?

স্ট্রুটস ফ্রেমওয়ার্কের অনেক সমস্যাগুলির মধ্যে একটি ছিল ইন্টারফেসের পরিবর্তে বিমূর্ত ক্লাসের জন্য প্রোগ্রামিংয়ের প্রয়োজনীয়তা। এটি Struts2 ফ্রেমওয়ার্ক দ্বারা সমাধান করা হয়েছিল। উদাহরণস্বরূপ, স্ট্রুটস ফ্রেমওয়ার্কের জন্য অ্যাবস্ট্রাক্ট বেস ক্লাস থেকে অ্যাকশন ক্লাস বাড়ানোর প্রয়োজন ছিল, কিন্তু স্ট্রুটস2 অ্যাকশন একটি অ্যাকশন ইন্টারফেস বাস্তবায়ন করতে পারে। দুটি সংস্করণের মধ্যে থ্রেডিং মডেলের পার্থক্যের কারণে অ্যাকশন অবজেক্ট সম্পর্কিত স্ট্রটস ফ্রেমওয়ার্কে যে থ্রেড-নিরাপত্তা সমস্যাগুলি এসেছে তা Struts2 ফ্রেমওয়ার্কে ঘটে না। কারণ হল স্ট্রুটস2 অ্যাকশন অবজেক্টগুলি প্রতিটি অনুরোধের জন্য ইনস্ট্যান্ট করা হয়, যখন স্ট্রুটস ফ্রেমওয়ার্কের একটি অ্যাকশন সেই অ্যাকশনের জন্য সমস্ত অনুরোধ পরিচালনা করার জন্য শুধুমাত্র একটি উদাহরণ থাকে।Struts ফ্রেমওয়ার্কের অ্যাকশনের বিপরীতে, Struts2 অ্যাকশন সার্ভলেট API-এর উপর নির্ভরশীল নয়।

Struts2 ফ্রেমওয়ার্কের টেস্টিবিলিটি স্ট্রুটস ফ্রেমওয়ার্কের তুলনায় তুলনামূলকভাবে বেশি। আপনি তিনটি ধাপ অনুসরণ করে Struts2 অ্যাকশন পরীক্ষা করতে পারেন: ইনস্ট্যান্টিয়েশন, বৈশিষ্ট্য নির্ধারণ এবং পদ্ধতির আহ্বান। Struts2 ফ্রেমওয়ার্কে ইনপুট সংগ্রহ করা সহজ কারণ অ্যাকশন বৈশিষ্ট্যগুলি ইনপুট বৈশিষ্ট্য হিসাবে ব্যবহৃত হয়, দ্বিতীয় ইনপুট অবজেক্ট না রেখে। JSTL ইন্টিগ্রেশনের জন্য সমর্থন ছাড়াও (যা স্ট্রুটে উপস্থিত), Struts2 ফ্রেমওয়ার্ক আরও শক্তিশালী এবং অভিব্যক্তিপূর্ণ OGNL (অবজেক্ট গ্রাফ নোটেশন ল্যাঙ্গুয়েজ) ব্যবহার করতে পারে। টাইপ রূপান্তরের জন্য, Strut এবং Strut2 যথাক্রমে Commons-Beanutils এবং OGNL ব্যবহার করে। এই উন্নতিগুলির কারণে, Struts2 ফ্রেমওয়ার্ককে একটি অত্যন্ত পরিপক্ক ফ্রেমওয়ার্ক হিসাবে বিবেচনা করা হয় এবং এটি জাভা EE প্রোগ্রামারদের মধ্যে খুব জনপ্রিয়। অন্যদিকে, Struts ফ্রেমওয়ার্ক এখন অপ্রচলিত বলে বিবেচিত হয়৷

প্রস্তাবিত: