JSP model 2 architecture
JSP மாடல் 2 என்பது ஜாவா வலை பயன்பாடுகளின் வடிவமைப்பில் பயன்படுத்தப்படும் ஒரு சிக்கலான வடிவமைப்பு வடிவமாகும், இது உள்ளடக்கத்தைப் பெறுவதற்கும் கையாளுவதற்கும் பயன்படுத்தப்படும் தர்க்கத்திலிருந்து உள்ளடக்கத்தின் காட்சியைப் பிரிக்கிறது. மாடல் 2 தர்க்கத்திற்கும் காட்சிக்கும் இடையிலான பிரிப்பை இயக்குவதால், இது பொதுவாக மாடல்-வியூ-கன்ட்ரோலர் (எம். வி. சி) முன்னுதாரணத்துடன் தொடர்புடையது. எம்விசி "மாடல்" இன் சரியான வடிவம் மாடல் 2 வடிவமைப்பால் ஒருபோதும் குறிப்பிடப்படவில்லை என்றாலும், பல வெளியீடுகள் எம்விசி மாடல் குறியீட்டைக் கொண்டிருக்க ஒரு முறைப்படுத்தப்பட்ட அடுக்கை பரிந்துரைக்கிறது. எடுத்துக்காட்டாக, ஜாவா ப்ளூ பிரிண்ட்ஸ், முதலில் எம். வி. சி மாதிரியை இணைக்க ஈ. ஜே. பி. களைப் பயன்படுத்த பரிந்துரைத்தது. மாடல் 2 பயன்பாட்டில், கிளையன்ட் உலாவியில் இருந்து கோரிக்கைகள் கட்டுப்படுத்திக்கு அனுப்பப்படுகின்றன. காட்சிக்கு சரியான உள்ளடக்கத்தைப் பெற தேவையான எந்த தர்க்கத்தையும் கட்டுப்படுத்தி செய்கிறது. இது கோரிக்கையில் உள்ளடக்கத்தை வைக்கிறது (பொதுவாக ஜாவாபீன் அல்லது போஜோ வடிவத்தில்) மற்றும் அது எந்த பார்வைக்கு கோரிக்கையை அனுப்பும் என்பதை தீர்மானிக்கிறது. காட்சி பின்னர் கட்டுப்பாட்டாளரால் அனுப்பப்பட்ட உள்ளடக்கத்தை வழங்குகிறது. நடுத்தர மற்றும் பெரிய அளவிலான பயன்பாடுகளுக்கு மாடல் 2 பரிந்துரைக்கப்படுகிறது. 1998 ஆம் ஆண்டில், சன் மைக்ரோசிஸ்டம்ஸ் ஜாவா சர்வர் பக்கங்களின் விவரக்குறிப்பின் முந்தைய வெளியீட்டை வெளியிட்டது, பதிப்பு 0.92. இந்த விவரக்குறிப்பில், ஜேஎஸ்பி பக்கங்களைப் பயன்படுத்த இரண்டு முறைகளை சன் வகுத்தார். முதல் மாதிரி (ஆவணத்தில் அதன் வரிசை காரணமாக "மாதிரி 1" என்று குறிப்பிடப்படுகிறது) ஒரு எளிமையான மாதிரியாகும், இதன் மூலம் ஜே. எஸ். பி பக்கங்கள் தனித்துவமான, வேறுபட்ட நிறுவனங்களாக இருந்தன. லாஜிக் பக்கத்திற்குள்ளேயே இருக்க முடியும், மேலும் பக்கங்களுக்கு இடையிலான வழிசெலுத்தல் பொதுவாக ஹைப்பர்லிங்குகள் மூலம் அடையப்பட்டது. இது டெம்ப்ளேட் தொழில்நுட்பத்தின் அப்போதைய பொதுவான பயன்பாட்டுடன் பொருந்துகிறது. கோல்ட்ஃப்யூஷன் மற்றும் ஆக்டிவ் சர்வர் பக்கங்கள் இந்த மாதிரியை செயல்படுத்திய சமகால தொழில்நுட்பங்களின் எடுத்துக்காட்டுகளாகும். ஆவணத்தால் குறிப்பிடப்பட்ட இரண்டாவது மாதிரி (வரிசையில் "மாதிரி 2") ஒரு மேம்பட்ட முறையாகும், இது சர்வ்லெட் தொழில்நுட்பத்தை ஜேஎஸ்பி தொழில்நுட்பத்துடன் இணைத்தது. பட்டியலிடப்பட்ட குறிப்பிட்ட வேறுபாடு என்னவென்றால், ஒரு சர்வ்லெட் கோரிக்கையை இடைமறித்து, உள்ளடக்கத்தை ஒரு கோரிக்கை பண்புக்கூறாக (பொதுவாக ஒரு ஜாவாபீனால் குறிப்பிடப்படுகிறது) வழங்க வைக்கும், பின்னர் விரும்பிய வெளியீட்டு வடிவத்தில் உள்ளடக்கத்தை வழங்க ஒரு JSP ஐ அழைக்கும். இந்த மாதிரி முந்தைய மாதிரியிலிருந்து வேறுபட்டது, ஏனெனில் ஜேஎஸ்பி தொழில்நுட்பம் ஒரு தூய வார்ப்புரு இயந்திரமாக பயன்படுத்தப்பட்டது. தர்க்கம் அனைத்தும் ஒரு சர்வ்லெட்டாக பிரிக்கப்பட்டன, வழங்கப்பட்ட உள்ளடக்கத்திற்கான வெளியீட்டை வழங்குவதற்கான ஒரே பொறுப்பு ஜேஎஸ்பிக்கு விடப்பட்டது. 1999 டிசம்பரில் கோவிந்த் சேஷாத்ரியின் ஜாவா சர்வர் பக்கங்கள் மாதிரி 2 கட்டமைப்பைப் புரிந்துகொள்வது என்ற தலைப்பில் ஒரு கட்டுரையை ஜாவா வேர்ல்ட் வெளியிட்டது. இந்தக் கட்டுரையில், கோவிந்த் "மாடல் 2" என்ற வார்த்தையைப் பயன்படுத்துவதில் இரண்டு முக்கிய மைல்கற்களை அடைந்தார். "மாடல் 2" என்ற சொல்லை இரண்டு சாத்தியமான விருப்பங்களில் ஒன்றைக் காட்டிலும் ஒரு கட்டிடக்கலை வடிவமாக முறைப்படுத்துவதே முதல் மைல்கல்லாகும். இரண்டாவது மைல்கல் மாடல் 2 வலை அடிப்படையிலான மென்பொருளுக்கான எம். வி. சி கட்டமைப்பை வழங்கியது என்ற கூற்று ஆகும். "மாடல் 2" கட்டிடக்கலை தர்க்கத்தை ஜேஎஸ்பியிலிருந்து பிரித்து அதை ஒரு சர்வ்லெட்டில் வைத்ததால், இரண்டு துண்டுகளையும் எம்விசி கட்டமைப்பில் முறையே "வியூ" மற்றும் "கன்ட்ரோலர்" (முறையே) என்று பார்க்க முடியும் என்று கோவிந்த் நம்பினார். எம்விசி கட்டமைப்பின் "மாடல்" பகுதியை கோவிந்த் திறந்து வைத்தார், கிட்டத்தட்ட எந்த தரவு-கட்டமைப்பும் தேவைகளைப் பூர்த்தி செய்ய முடியும் என்ற ஆலோசனையுடன். கட்டுரையில் பயன்படுத்தப்பட்ட குறிப்பிட்ட எடுத்துக்காட்டு பயனரின் அமர்வில் சேமிக்கப்பட்ட ஒரு திசையன் பட்டியல் ஆகும். மார்ச் 2000 இல், அப்பாச்சி ஸ்ட்ரட்ஸ் திட்டம் வெளியிடப்பட்டது. இந்த திட்டம் வியூ மற்றும் கன்ட்ரோலருக்கு இடையிலான பிரிவை முறைப்படுத்தியது மற்றும் "மாடல் 2" வடிவத்தை செயல்படுத்துவதாகக் கூறியது. மீண்டும், மென்பொருள் உருவாக்குநர்கள் பொருத்தமான தீர்வை நிரப்புவார்கள் என்ற எதிர்பார்ப்புடன் "மாதிரியை" செயல்படுத்துவது வரையறுக்கப்படவில்லை. ஜேடிபிசி மற்றும் ஈஜேபி வழியாக தரவுத்தள தொடர்பு என்பது ஸ்ட்ரட்ஸ் முகப்புப்பக்கத்தில் பரிந்துரைக்கப்பட்ட விருப்பங்களாகும். மிக சமீபத்தில், ஹைபர்னேட், ஐபாடிஸ் மற்றும் ஆப்ஜெக்ட் ரிலேஷனல் பிரிட்ஜ் ஆகியவை ஒரு மாதிரிக்கு பயன்படுத்தக்கூடிய நவீன விருப்பங்களாக பட்டியலிடப்பட்டன. ஸ்ட்ரட்ஸ் வெளியானதிலிருந்து, பல போட்டி கட்டமைப்புகள் தோன்றியுள்ளன. இந்த கட்டமைப்புகளில் பல "மாடல் 2" மற்றும் "எம். வி. சி" ஆகியவற்றை செயல்படுத்துவதாகக் கூறுகின்றன. இதன் விளைவாக, இரண்டு சொற்களும் டெவலப்பர்களின் மனதில் ஒத்ததாக மாறிவிட்டன. இது "எம். வி. சி மாடல் 2" அல்லது "எம். வி. சி 2" என்ற சொல்லை சுருக்கமாகப் பயன்படுத்த வழிவகுத்தது. தவறான கருத்துக்கள் ஒரு பொதுவான தவறான கருத்து என்னவென்றால், ஒரு மாடல் 2 செயல்படுத்தலை அடைய ஒரு முறைப்படுத்தப்பட்ட எம். வி. சி முறை தேவைப்படுகிறது. இருப்பினும், ஜாவா ப்ளூபிரிண்ட்ஸ் இந்த விளக்கத்திற்கு எதிராக குறிப்பாக எச்சரிக்கிறதுஃ J2EE இயங்குதளத்தில் வலை அடுக்கு தொழில்நுட்பத்தின் இலக்கியம் அடிக்கடி "மாடல் 1" மற்றும் "மாடல் 2" என்ற சொற்களை விளக்கம் இல்லாமல் பயன்படுத்துகிறது. இந்த சொல் JSP விவரக்குறிப்பின் ஆரம்ப வரைவுகளிலிருந்து உருவாகிறது, இது JSP பக்கங்களுக்கான இரண்டு அடிப்படை பயன்பாட்டு முறைகளை விவரிக்கிறது. விவரக்குறிப்பு ஆவணத்திலிருந்து சொற்கள் மறைந்துவிட்டாலும், அவை பொதுவான பயன்பாட்டில் உள்ளன. மாடல் 1 மற்றும் மாடல் 2 வெறுமனே கிளையன்ட் அடுக்கிலிருந்து கோரிக்கைகளை அனுப்பும் மற்றும் காட்சிகளைத் தேர்ந்தெடுக்கும் ஒரு கன்ட்ரோலர் சர்வ்லெட்டின் இல்லாமை அல்லது இருப்பை (முறையே) குறிக்கின்றன. மேலும், "எம்விசி2" என்ற சொல் மாடல் 2 அடுத்த தலைமுறை எம்விசி வடிவத்தைக் குறிக்கிறது என்ற தவறான நம்பிக்கைக்கு பலரை வழிநடத்தியுள்ளது. உண்மையில், எம். வி. சி 2 என்பது "எம். வி. சி மாடல் 2" என்ற வார்த்தையின் சுருக்கமாகும். "எம். வி. சி 2" என்ற சொல் குறித்த குழப்பம் மாடல் 1 குறியீட்டில் கூடுதல் குழப்பத்திற்கு வழிவகுத்தது, இதன் விளைவாக "எம். வி. சி 1" என்ற சொல் பொதுவாக பயன்படுத்தப்படுகிறது. மேலும் பார்க்கவும் அப்பாச்சி ஸ்ட்ரட்ஸ் என்பது மாடல் 2 கட்டமைப்பின் அடிப்படையில் வலை பயன்பாடுகளை செயல்படுத்துவதற்கான ஒரு திறந்த மூல கட்டமைப்பாகும். குறிப்புகள் வெளிப்புற இணைப்புகள் மாடல் 2 ASP.NET விளக்கக்காட்சி முறைகள் உட்பட எம்விசியின் வரலாறு-இந்த கட்டுரையில் டினோ எஸ்போசிட்டோ மாடல் 2 எவ்வாறு ASP.NET எம்விசியிலும் பயன்படுத்தப்படுகிறது என்பதைப் பற்றி விவாதிக்கிறது. மென்பொருள் வடிவமைப்பு வடிவங்கள் மென்பொருள் கட்டமைப்பு