JavaServer Faces
JavaServer Faces (JSF) — це каркас вебзастосунків написаний на Java. Він служить для того, щоб полегшувати розробку користувацьких інтерфейсів для Java EE застосунків. На відміну від більшості MVC фреймворків, які керуються запитами, підхід JSF ґрунтується на використанні компонентів. Стан компонентів користувацького інтерфейсу зберігається, коли користувач запитує нову сторінку й потім відновлюється, якщо запит повторюється. Для відображення даних звичайно використовується JSP, але JSF можна пристосувати й під інші технології, наприклад XUL. КороткоПереваги
Недоліки
ДетальноСпецифікаціяКористь технології JSF обумовлена, в першу чергу, наявністю специфікації JSF. Специфікація дозволяє розробляти JSF фреймворки з різним призначенням та різною внутрішньою структурою. Вона лиш гарантує, що фреймворк буде підпорядкований певній структурі. Але з іншого боку специфікація дуже обмежує еталонну реалізацію в освоєнні нових можливостей. Тобто наприклад ajax-технології такі як Ajax4JSF включають дуже багато інтеграційного коду який виникає через потребу в узгодженні еталонної реалізації з основними вимогами специфікації. Можна відмітити, що сама специфікація розроблена досить неоднорідно. Плюсами специфікації є: дерево компонентів, підтримка різних технологій представлення(JSP, Facelets), підтримка різноманітних рендерерів — класів, що відповідають за відображення компоненту, підтримка обробки подій і перевіркою інформації, що вводиться, визначення навігації, а також підтримку інтернаціоналізації (і18n) і доступності (accessibility). Але є й недоліки: дуже великий обсяг коду для реалізації ітераційних компонентів, відсутності обробки повідомлень в середині ітераційного компоненту, великий обсяг шаблонного коду, який можна було б опустити, при реалізації власних компонентів(custom component), непродуманість певних архітектурних рішень в специфікації, щодо реалізації ajax, управління станом дерева компонентів, пошуку по дереву компонентів. Специфікація JSF 1.0 та 1.1 була розроблена завдяки Java Community Process як JSR 127, а JSF 1.2 як JSR 252. Майбутня JSF 2.0 буде розроблена як JSR 314. Сама специфікація не належить до жодної компанії і розроблюється групою експертів з таких відомих компаній як Sun, Oracle, IBM, Novell, Macromedia, BEA Systems, Hewlett-Packard, Siemens AG. Таким чином технологію JSF можна віднести до відкритих стандартів. Еталонна реалізаціяГрупа експертів підтримує в актуальному стані еталонну реалізацію(reference implementation) JSF. Це дозволяє, як використовувати її в реальних вебзастосунках, так і розвивати інші реалізації конкурентів. Гарними сферами застосування еталонної реалізації JSF є корпоративні вебсайти, та маленькі вебсайти, на зразок вебмагазину. Для великих вебсайтів з великою кількістю компонентів JSF не підійде. Це обумовлено тим що еталонна реалізація має деякі проблеми, що пов'язанні із надлінійним зменшенням швидкодії при збільшенні компонентного дерева. Різні експерти пов'язують це з непродуманістю підсистеми збереження стану та системи зв'язування компонентів. За специфікацією реалізація JSF повинна підтримувати багато різноманітних точок розширення, що дозволяють змінити поведінку JSF-застосунку. Такими точкам розширення є: 5 етапів циклу обробки запиту(JSF life cycle), навігаційна логіка(navigation handler), абстрактна система інтерпретації виразів(EL) JSF. Також розробнику вебзастосунків дозволяється розробляти свої компоненти, свої рендерери, валідаційні компоненти, компоненти перетворювачі, будувати дерева компонентів програмним шляхом. Це все свідчить на користь того, що JSF являє собою вельми абстрактну платформу для реалізації різноманітних вебзастосунків, але певні перепони із швидкістю заважають використовувати її в великих вебпроектах, що мають певні вимоги по швидкості виконання запитів. Версії JSF
Реалізації JSF
Підтримка IDE
Бібліотеки компонентів
Примітки
Література
|
Portal di Ensiklopedia Dunia