# ஜாவாசர்வர் ஃபேசஸ்


**ஜாவாசர்வர் ஃபேசஸ்** (**ஜே.எஸ்.எஃப்** ) என்பது வலை அடிப்படையான பயனர் இடைமுகங்களின் உருவாக்க ஒருமைப்பாட்டை எளிமையாக்கும் நோக்கமுடைய ஜாவா-அடிப்படையிலான வலைப் பயன்பாட்டு கட்டமைப்புப் பணி ஆகும்.  

ஜாவாசர்வர் ஃபேசஸ் என்பது ஒரு தொகுதிக்கூறு இயக்க UI வடிவமைப்பு மாதிரியின் அடிப்படையிலான கோரிக்கை-இயக்க MVC வலை கட்டமைப்புப்பணி ஆகும். இது காட்சி வார்ப்புருக்கள் அல்லது பேஸ்லெட்கள் பார்வைகள் என்றழைக்கப்படும் XML கோப்புகளைப் பயன்படுத்துகின்றது. கோரிக்கைகள் FacesServlet மூலமாக செயல்படுத்தப்படுகின்றன. இது மிகச்சரியான பார்வை வார்ப்புருவை ஏற்றுகின்றது, தொகுதிக்கூறு கிளையமைப்பைக் கட்டமைக்கின்றது, நிகழ்வுகளைச் செயல்படுத்துகின்றது மற்றும் வாடிக்கையாளருக்கு மறுமொழிகளை (பொதுவாக HTML) வழங்குகின்றது. UI தொகுதிக்கூறுகளின் (மற்றும் பல பிற இலக்குப்பொருட்களின்) நிலை ஒவ்வொரு கோரிக்கையின் முடிவிலும் சேமிக்கப்படுகின்றது (இது **நிலைசேமிப்பு** எனப்படுகின்றது (குறிப்பு: *டிரான்சியண்ட்* **உண்மை** )). மேலும் அந்த பார்வையின் அடுத்த உருவாக்கம் மீண்டும் சேமிக்கப்படுகின்றது. வாடிக்கையாளர்-பக்க மற்றும் சேவையக-பக்க நிலை சேமிப்பு உள்ளிட்ட பலவகையான நிலை சேமிப்புகள் உள்ளன. பெட்டியின் வெளியே, ஜே.எஸ்.எஃப் 1.x ஆனது ஜாவாசர்வர் பக்கங்களை (ஜே.எஸ்.பி) அதன் காட்சித் தொழில்நுட்பங்களுக்காகப் பயன்படுத்துகின்றது. ஆனால் அது பிற தொழில்நுட்பங்களையும் ஏற்கின்றது (XUL மற்றும் பேஸ்லெட்கள் போன்றவை). இந்த தேவைக்காக ஜே.எஸ்.எஃப் 2 இயல்பாக பேஸ்லெட்களைப் பயன்படுத்துகின்றது. பேஸ்லெட்ஸ் என்பது மிகவும் திறனுடைய, எளிமையான மற்றும் இன்னும் வலிமையான காட்சி விளக்க மொழியைக் கொண்டது (வி.டி.எல்).  

## முதன்மை அம்சங்கள்
- நிர்வகிக்கப்பட்ட பீன்கள்: சார்பு உறிஞ்சல் அமைப்பு (CDI, ஸ்பிரிங் அல்லது கைஸ் உடன் எளிதில் இடைமுகப்படுத்தப்பட்டது) - இது "பேக்கிங் பீன்கள்" அல்லது "பக்க பீன்கள்" என்றும் அழைக்கப்படுகின்றது
- விரைவான இணைந்த தொகுதிக்கூறு உருவாக்கத்திற்கான தொகுதிக்கூறு அமைப்பு அடிப்படை மாதிரியாக்கம் - இதற்கு ஜாவா கிளாஸ்கள் தேவையில்லை.
- <f:ajax /> ஐப் பயன்படுத்தி கட்டமைக்கப்பட்ட அஜாக்ஸ் (Ajax) ஆதரவு - யாவாஸ்கிரிப்ட் (JavaScript) தேவையில்லை.
- புத்தகக் குறியிடல் & பக்க-ஏற்ற செயல்பாடுகளுக்கான கட்டமைப்பு ஆதரவு.
- ஒருங்கிணைக்கப்பட்ட கோவை மொழி (EL) உடனான ஒருங்கிணைப்பு, ஜாவாசர்வர் ஃபேசசின் செயல்பாட்டுக்கு முதன்மையாக உள்ளது. காட்சிகள் நிர்வகிக்கப்பட்ட பீன் புலங்களையும் வழிமுறைகளையும் கோவை மொழி வாயிலாக அணுகலாம்: <my:component rendered="#{myBean.userLoggedIn}" />
- ஒரு இயல்புநிலை HTML குழு மற்றும் வலைப்பயன்பாடு குறிப்பிட்ட UI தொகுதிக்கூறுகள்.
- சேவையக-பகுதி நிகழ்வு மாதிரி: முதன்மை கணினி செயல்பாட்டிற்கு நிகழ்வுகளை அனுப்புதல் மற்றும் பார்வையாளர்களை சேர்த்தல் ஆகியவற்றுக்கான, "மறுமொழி வழங்கலுக்கு முன்னர்" அல்லது "சரிப்பார்ப்பிற்குப் பின்னர்" போன்றவை
- நிலை மேலாண்மை, ஆதரவளித்தல்: "கோரிக்கை", "அமர்வு", "பயன்பாடு", "ப்ளாஷ்" மற்றும் "காட்சி" ஆகியவற்றை நோக்காகக்கொண்ட ஜாவா பீன்கள்.
- காட்சி வார்ப்புருவில் ஜாவாசர்வர் ஃபேசஸ் இடைமுகங்களை வெளிப்படுத்துவதற்கான இரண்டு XML-அடிப்படை குறிச்சொல் நூலகங்கள் (முதன்மை மற்றும் html) (இவற்றை ஜாவாசர்வர் ஃபேசஸ் அல்லது பேஸ்லெட்கள் இரண்டிலும் பயன்படுத்தலாம்)

## ஜாவாசர்வர் ஃபேசஸ் பதிப்புகள்
- JSF 2.0 (2009-06-28) — தற்போதைய பதிப்பு, எளிமையான பயன்பாட்டிற்கான முக்கிய வெளியீடு, மேம்பட்ட செயல்பாடு மற்றும் செயல்திறன். Java EE 6 உடன் இணைந்து வருகின்றது.
- JSF 1.2 (2006-05-11) — (DEPRECATED) முதன்மை அமைப்புகள் மற்றும் APIகளுக்கு பல மேம்பாடுகளையுடையது
- JSF 1.1 (2004-05-27) — (DEPRECATED) பிழைத் திருத்த வெளியீடு. விவரக்குறிப்பு அல்லது HTML ரெண்டர்கிட் மாற்றங்கள் இல்லை.
- JSF 1.0 (2004-03-11) — (DEPRECATED) ஜாவாசர்வர் ஃபேசஸ் விவரக்குறிப்பிற்கான தொடக்க வெளியீடு.

## ஜாவாசர்வர் ஃபேசஸ் மற்றும் அஜாக்ஸ்
ஜாவாசர்வர் ஃபேசஸ் பெரும்பாலும் அஜாக்சுடன் இணைந்தே குறிப்பிடப்படுகின்றது. இது உயர் இணைய பயன்பாட்டு தொழில்நுட்பம் ஆகும். அஜாக்ஸ் என்பது உயர்ந்த பயனர் இடைமுகங்கள் உருவாக்குவதைச் சாத்தியமாக்குகின்ற தொழில்நுட்பங்களின் தொகுப்பு ஆகும். மோஜர்ராவில் (ஜாவாசர்வர் ஃபேசஸ் குறிப்பு செயலாக்கம்) பயனர் இடைமுக தொகுதிக்கூறுகளும் மைஃபேசசும் முதலில் HTML க்காக மட்டுமே உருவாக்கப்பட்டன. அஜாக்ஸ் ஆனது ஜாவாஸ்கிரிப்ட் வாயிலாகச் சேர்க்கப்பட்டது. இது மாற்றப்பட்டுள்ளது, இருப்பினும்:  

ஏனெனில் ஜாவாசர்வர் ஃபேசஸ் பல்வேறு வெளியீட்டு வடிவங்களை ஆதரிக்கின்றது. அஜாக்ஸ்-இயக்கப்பட்ட தொகுதிக்கூறுகளை ஜாவாசர்வர் ஃபேசஸ்-அடிப்படை பயனர் இடைமுகங்களுக்கு மேம்படுத்த எளிதில் சேர்க்க முடியும். JSF 2.0 விவரக்குறிப்பானது அஜாக்ஸ் கோரிக்கை வாழ்க்கைச்சுழற்சியை தரநிலைப்படுத்துதல் மூலமாக அஜாக்சுக்காகக் கட்டமைக்கப்பட்ட ஆதரவை வழங்குகின்றது. மேலும் அஜாக்ஸ் நிகழ்வுகளுக்கு எளிமையான மேம்பாட்டு இடைமுகங்களை வழங்குகின்றது. XML DOM புதுப்பிப்பு வழியாக உலாவிக்கு முடிவை அளிக்க முன்னர், எந்த நிகழ்வு மாற்றங்களையும் சரியான சரிபார்ப்பு, மாற்றம் மற்றும் இறுதியாக வழிமுறை நேர்வு வாயிலாக வாடிக்கையாளர் செல்லுதல் மூலமாக அனுமதிக்கின்றது, முன்னதாக XML DOM புதுப்பிப்பு வழியாக உலாவிக்கு முடிவை அளிக்கின்றது.  

JSF 2 ஆனது உலாவியில் ஜாவாஸ்கிரிப்ட் முடக்கப்படுகின்ற போது அமைதியான தரவிறக்கத்திற்கான ஆதரவைச் சேர்க்கின்றது.  

## பிரபல நீட்சிகள் மற்றும் நூலகங்கள்
- PrettyFaces (புத்தகக்குறியிடக்கூடிய URLகள், Url மீண்டும் எழுதுதல், அளவுரு உறிஞ்சல், எளிமையாக்கப்பட்ட வழிச்செலுத்துதல் மற்றும் பக்க-ஏற்ற நடவடிக்கைகள்)
- Exadel Fiji (ஃபிலெக்ஸ்-அடிப்படை விளக்க அட்டவணை மற்றும் வரைபடங்கள்)
- JSR-299 / Weld [SEAM ப்ரேம்வொர்க்] Java EE தளத்திற்கான (CDI) சூழல் மற்றும் சார்பு உறிஞ்சல்
- ஸ்பிரிங் ப்ரேம்வொர்க் ஒருங்கிணைப்பு (சார்பு உறிஞ்சல் நீட்சிகள்)

## அஜாக்ஸ் இயக்கப்பட்ட தொகுதிக்கூறுகள் மற்றும் கட்டமைப்புகள்
பின்வரும் நிறுவனங்களும் திட்டப்பணிகளும் அஜாக்ஸ்-அடிப்படை ஜாவாசர்வர் ஃபேசஸ் செயலாக்கங்களை அல்லது ப்ளூபிரிண்ட்களை அல்லது தொகுதிக்கூறு நூலகங்களை வழங்குகின்றன:  
- அப்பாச்சி டிரினிதாத் (திடமான தொகுதிக்கூறு நூலகம்)
- ஆரக்கிள் *ஏ.டி.எஃப் பேஸஸ் ரிச் கிளையண்ட்*, ஆரக்கிள் அப்ளிகேஷன் டெவலப்மெண்ட் ப்ரேம்வொர்க்
- பேக்பேஸ் *எண்டர்பிரைஸ் அஜாக்ஸ் — ஜே.எஸ்.எஃப் பதிப்பு*, அஜாக்ஸ் கட்டமைப்பு
- ICEபேஸஸ், ஓப்பன்-சோர்ஸ், ஜாவா ஜே.எஸ்.எஃப் நீட்டிப்பு கட்டமைப்பு மற்றும் உயர் தொகுதிக்கூறுகள், ஜாவாஸ்கிரிப்ட் அற்ற அஜாக்ஸ்
- jBoss *ரிச்பேஸஸ்* மற்றும் *Ajax4jsf* , அஜாக்ஸ்-இயக்கப்பட்ட ஜே.எஸ்.எஃப் தொகுதிக்கூறுகள்
- மைபேஸஸ், அஜாக்ஸ் தொகுதிக்கூறுகளுடனான அப்பாச்சி பவுண்டேசன் ஜே.எஸ்.எஃப் செயலாக்கம்
- சன் *ஜாவா ப்ளூபிரிண்ட்ஸ் அஜாக்ஸ் தொகுதிக்கூறுகள்*
- ஜே.எஸ்.எஃப் தொகுதிக்கூறுகளுடனான ZK அஜாக்ஸ் கட்டமைப்பு
- பிரைம்பேஸஸ் - அளவுக்கதிகமான ஆக்கநிலை குறிச்சொற்களுடன் எளிதான, இன்னமும் உள்ளுணர்வால் இயக்கப்பட்ட மற்றும் வலிமையான தொகுதிக்கூறு நூலகம்.
- ஓப்பன்பேஸஸ் அஜாக்ஸ்-இயக்கப்பட்ட ஜே.எஸ்.எஃப் தொகுதிக்கூறுகள், அஜாக்ஸ் கட்டமைப்பு மற்றும் வாடிக்கையாளர் பக்க சரிபார்ப்பு கட்டமைப்பு
- மொஜர்ரா ஸ்கேல்ஸ்

## சமீபத்திய மேம்பாடுகள்
பேஸ்லெட்ஸ் (ஜாவாசர்வர் ஃபேசசுக்காக பிரத்தியேகமாக வடிவமைக்கப்பட்டது) ஆனது JSF 2.0 க்கான அதிகாரப்பூர்வ காட்சித் தொழில்நுட்பமாக ஏற்கப்பட்டது. இது ஜே.எஸ்.பி உடன் காணப்படுகின்ற நன்கு அறியப்பட்ட வாழ்க்கைச் சுழற்சி வேறுபாடுகளைக் குறைக்கின்றது. ஜாவா உருவாக்குநர்கள் அதைத் தீர்க்கவேண்டுமென நிர்பந்திக்கின்றது. பேஸ்லெட்ஸ் எளிய தொகுதிக்கூறு/குறிச்சொல்லை ஜாவா குறியீட்டிற்குப் பதிலாக XML மார்க்-அப்பைப் பயன்படுத்த அனுமதிக்கின்றது, இது JSF 1.x க்கு எதிரான முக்கியமான கூறு.  

புதிய ஜாவாசர்வர் ஃபேசஸ் மேம்பாடுகளானவை @ManagedBean மற்றும் @ManagedProperty போன்ற **ஜாவா 5 மேற்கோள்களை** அணுக அனுமதிக்கின்றன. இவை கட்டமைப்பு நீட்சியை சேமிக்கும் அனைத்து நிகழ்வுகளிலும் faces-config.xml க்கான தேவையை அகற்றுகின்றது. வழிச்செலுத்துதல் எளிமையாக்கப்பட்டுள்ளது, faces-config.xml வழிச்செலுத்துதல் நிகழ்வுக்களுக்கான தேவை அகற்றப்படுகின்றது. பக்க பரிமாற்றங்களை தேவையான காட்சியின்/பேஸ்லெட்டின் பெயரை செலுத்துதல் மூலமாகச் செயல்படுத்தலாம்.  

பகுதி நிலை சேமிப்பின் சேர்க்கை மற்றும் DOM புதுப்பிப்புகள் ஆகியவை தரநிலையாக்கப்பட்ட அஜாக்ஸ் ஆதரவில் கட்டமைப்பின் பகுதியாக உள்ளன.  

சமீபத்திய ஜாவாசர்வர் ஃபேசஸ் வெளியீடானது படங்கள், சி.எஸ்.எஸ் மற்றும் ஜாவாஸ்கிரிப்ட் போன்ற ஆதாரங்களின் கையாளலின் கட்டமைப்பு ஆதரவைக் கொண்டுள்ளது, அனுமதிக்கப்படுகின்ற கலைப்பொருட்கள் தொகுதிக்கூறு நூலகங்களுடன் சேர்க்கப்படுகின்றன, JAR கோப்புகளில் பிரிக்கப்படுகின்றன, அல்லது வலைப் பயன்பாட்டில் நிலையான இடத்தில் எளிதில் துணையாக வைக்கப்படுகின்றன. தர்க்கப் பெயரிடல் மற்றும் ஆதாரங்களின் பதிப்பாக்கல் ஆகியவற்றைக் கொண்டுள்ளன.  

JSF 2.0 ஆனது நிகழ்வுகள், RAILS_ENV நடை மேம்பாட்டு நிலைகள் மற்றும் நிலையான தொகுதிக்கூறுகளின் குறிப்பிடத்தகுந்த விரிவாக்கம் போன்ற பல பிற மாற்றங்களையும் சேர்த்துள்ளது.