JSP model 2 architecture
جے ایس پی ماڈل 2 جاوا ویب ایپلی کیشنز کے ڈیزائن میں استعمال ہونے والا ایک پیچیدہ ڈیزائن پیٹرن ہے جو مواد کے ڈسپلے کو مواد کو حاصل کرنے اور اس میں ہیرا پھیری کرنے کے لیے استعمال ہونے والی منطق سے الگ کرتا ہے۔ چونکہ ماڈل 2 منطق اور ڈسپلے کے درمیان علیحدگی کو چلاتا ہے، اس لیے یہ عام طور پر ماڈل ویو کنٹرولر (ایم وی سی) پیراڈائم سے وابستہ ہوتا ہے۔ اگرچہ ایم وی سی "ماڈل" کی صحیح شکل ماڈل 2 کے ڈیزائن کے ذریعے کبھی متعین نہیں کی گئی تھی، لیکن متعدد اشاعتیں ایم وی سی ماڈل کوڈ پر مشتمل ایک رسمی پرت کی سفارش کرتی ہیں۔ جاوا بلیو پرنٹس، مثال کے طور پر، اصل میں ایم وی سی ماڈل کو شامل کرنے کے لیے ای جے بی کا استعمال کرنے کی سفارش کی گئی تھی۔ ماڈل 2 ایپلی کیشن میں، کلائنٹ براؤزر کی درخواستیں کنٹرولر کو منتقل کی جاتی ہیں۔ کنٹرولر ڈسپلے کے لیے صحیح مواد حاصل کرنے کے لیے ضروری کوئی بھی منطق انجام دیتا ہے۔ اس کے بعد یہ مواد کو درخواست میں رکھتا ہے (عام طور پر جاوا بین یا پوجو کی شکل میں) اور فیصلہ کرتا ہے کہ یہ درخواست کس ویو کو منتقل کرے گا۔ اس کے بعد ویو کنٹرولر کے ذریعے منتقل کردہ مواد کو پیش کرتا ہے۔ درمیانی اور بڑے سائز کی ایپلی کیشنز کے لیے ماڈل 2 کی سفارش کی جاتی ہے۔ 1998 میں، سن مائیکرو سسٹمز نے جاوا سرور پیجز کی تفصیلات، ورژن 0.92 کی پری ریلیز شائع کی۔ اس وضاحت میں، سن نے دو طریقے بتائے جن کے ذریعے جے ایس پی پیجز کو استعمال کیا جا سکتا ہے۔ پہلا ماڈل (دستاویز میں اس کی ترتیب کی وجہ سے "ماڈل 1" کہا جاتا ہے) ایک سادہ ماڈل تھا جس کے تحت جے ایس پی کے صفحات اسٹینڈ لون، جداگانہ ادارے تھے۔ منطق کو صفحہ کے اندر ہی شامل کیا جا سکتا ہے، اور صفحات کے درمیان نیویگیشن عام طور پر ہائپر لنکس کے ذریعے حاصل کیا جاتا تھا۔ یہ ٹیمپلیٹ ٹیکنالوجی کے اس وقت کے عام استعمال کے ساتھ فٹ بیٹھتا ہے۔ کولڈ فیوژن اور ایکٹو سرور پیجز عصری ٹیکنالوجیز کی مثالیں ہیں جنہوں نے اس ماڈل کو بھی نافذ کیا۔ دستاویز کے ذریعے حوالہ دیا گیا دوسرا ماڈل (ترتیب میں "ماڈل 2") ایک بہتر طریقہ تھا جس میں سرولیٹ ٹیکنالوجی کو جے ایس پی ٹیکنالوجی کے ساتھ ملایا گیا تھا۔ درج کردہ مخصوص فرق یہ تھا کہ ایک سرولیٹ درخواست کو روکتا ہے، مواد کو درخواست کی خاصیت (عام طور پر جاوا بین کی نمائندگی کرتا ہے) میں پیش کرنے کے لیے رکھتا ہے، پھر مطلوبہ آؤٹ پٹ فارمیٹ میں مواد کو پیش کرنے کے لیے جے ایس پی کو کال کرتا ہے۔ یہ ماڈل پچھلے ماڈل سے اس حقیقت میں مختلف تھا کہ جے ایس پی ٹیکنالوجی کو خالص ٹیمپلیٹ انجن کے طور پر استعمال کیا گیا تھا۔ تمام منطق کو ایک سرولیٹ میں الگ کر دیا گیا تھا، جس سے جے ایس پی کو فراہم کردہ مواد کے لیے آؤٹ پٹ پیش کرنے کی واحد ذمہ داری رہ گئی تھی۔ دسمبر 1999 میں، جاوا ورلڈ نے گووند شیشادری کا ایک مضمون شائع کیا جس کا عنوان تھا جاوا سرور پیجز ماڈل 2 فن تعمیر کو سمجھنا۔ اس مضمون میں گووند نے "ماڈل 2" کی اصطلاح کے استعمال میں دو اہم سنگ میل حاصل کیے۔ پہلا سنگ میل "ماڈل 2" کی اصطلاح کو دو ممکنہ اختیارات میں سے ایک کے بجائے آرکیٹیکچرل پیٹرن کے طور پر باقاعدہ بنانا تھا۔ دوسرا سنگ میل یہ دعوی تھا کہ ماڈل 2 نے ویب پر مبنی سافٹ ویئر کے لیے ایم وی سی فن تعمیر فراہم کیا۔ گووند کا خیال تھا کہ چونکہ "ماڈل 2" فن تعمیر نے منطق کو جے ایس پی سے الگ کیا اور اسے ایک سرولیٹ میں رکھا، اس لیے دونوں ٹکڑوں کو ایم وی سی فن تعمیر میں "ویو" اور "کنٹرولر" (بالترتیب) کے طور پر دیکھا جا سکتا ہے۔ ایم وی سی فن تعمیر کے "ماڈل" حصے کو گووند نے اس تجویز کے ساتھ کھلا چھوڑ دیا تھا کہ تقریبا کوئی بھی ڈیٹا ڈھانچہ ضروریات کو پورا کر سکتا ہے۔ مضمون میں استعمال ہونے والی مخصوص مثال صارف کے سیشن میں محفوظ کردہ ویکٹر کی فہرست تھی۔ مارچ 2000 میں اپاچی اسٹرٹس پروجیکٹ جاری کیا گیا۔ اس پروجیکٹ نے ویو اور کنٹرولر کے درمیان تقسیم کو باقاعدہ بنایا اور "ماڈل 2" پیٹرن کے نفاذ کا دعوی کیا۔ ایک بار پھر، "ماڈل" کے نفاذ کو اس توقع کے ساتھ غیر متعین چھوڑ دیا گیا کہ سافٹ ویئر ڈویلپرز ایک مناسب حل پر کریں گے۔ جے ڈی بی سی اور ای جے بی کے ذریعے ڈیٹا بیس انٹرایکشن اسٹرٹس کے ہوم پیج پر تجویز کردہ آپشن تھے۔ حال ہی میں، ہائبرنیٹ، آئی بیٹس، اور آبجیکٹ ریلیشنل برج کو زیادہ جدید اختیارات کے طور پر درج کیا گیا تھا جو کسی ماڈل کے لیے استعمال کیے جا سکتے تھے۔ اسٹرٹس کی ریلیز کے بعد سے، متعدد مسابقتی فریم ورک سامنے آئے ہیں۔ ان میں سے بہت سے فریم ورک "ماڈل 2" اور "ایم وی سی" کو نافذ کرنے کا بھی دعوی کرتے ہیں۔ نتیجتا یہ دونوں اصطلاحات ڈویلپرز کے ذہنوں میں مترادف ہو گئی ہیں۔ اس کی وجہ سے مختصر طور پر "ایم وی سی ماڈل 2" یا "ایم وی سی 2" کی اصطلاح استعمال ہوئی ہے۔ غلط فہمیاں ایک عام غلط فہمی یہ ہے کہ ماڈل 2 کے نفاذ کو حاصل کرنے کے لیے ایک رسمی ایم وی سی پیٹرن کی ضرورت ہوتی ہے۔ تاہم، جاوا بلیو پرنٹس خاص طور پر اس تشریح کے خلاف خبردار کرتا ہے: جے 2 ای ای پلیٹ فارم میں ویب درجے کی ٹیکنالوجی پر ادب اکثر وضاحت کے بغیر "ماڈل 1" اور "ماڈل 2" کی اصطلاحات استعمال کرتا ہے۔ یہ اصطلاحات جے ایس پی تفصیلات کے ابتدائی مسودوں سے نکلی ہیں، جس میں جے ایس پی صفحات کے استعمال کے دو بنیادی نمونوں کو بیان کیا گیا ہے۔ اگرچہ شرائط وضاحتی دستاویز سے غائب ہو چکی ہیں، لیکن وہ عام استعمال میں ہیں۔ ماڈل 1 اور ماڈل 2 صرف ایک کنٹرولر سرولیٹ کی غیر موجودگی یا موجودگی (بالترتیب) کا حوالہ دیتے ہیں جو کلائنٹ درجے سے درخواستیں بھیجتا ہے اور خیالات کا انتخاب کرتا ہے۔ مزید برآں، "ایم وی سی 2" کی اصطلاح بہت سے لوگوں کو اس غلط عقیدے کی طرف لے گئی ہے کہ ماڈل 2 اگلی نسل کے ایم وی سی پیٹرن کی نمائندگی کرتا ہے۔ درحقیقت، ایم وی سی 2 محض "ایم وی سی ماڈل 2" کی اصطلاح کی مختصر شکل ہے۔ اصطلاح "ایم وی سی 2" پر الجھن ماڈل 1 کوڈ پر اضافی الجھن کا باعث بنی ہے، جس کے نتیجے میں غیر موجود اصطلاح "ایم وی سی 1" کا عام استعمال ہوتا ہے۔ اپاچی سٹرٹس ماڈل 2 فن تعمیر پر مبنی ویب ایپلی کیشنز کو نافذ کرنے کے لیے ایک اوپن سورس فریم ورک ہے۔ حوالہ جات بیرونی روابط ایم وی سی کی تاریخ، بشمول ماڈل 2 ASP.NET پریزنٹیشن پیٹرن-اس مضمون میں ڈینو ایسپوسیٹو اس بات پر تبادلہ خیال کرتا ہے کہ ماڈل 2 کو ASP.NET ایم وی سی میں بھی کیسے استعمال کیا جاتا ہے۔ سافٹ ویئر ڈیزائن پیٹرن سافٹ ویئر فن تعمیر