Your SlideShare is downloading. ×
RichFaces: обзор
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

RichFaces: обзор

4,128
views

Published on

Basic review of RichFaces JSF framework for Java-based apps.

Basic review of RichFaces JSF framework for Java-based apps.


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
4,128
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
59
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. СОВРЕМЕННЫЕ ТЕНДЕНЦИИ В JAVA- ТЕХНОЛОГИЯХ : JBOSS RICHFACES FRAMEWORK Avlochinskaya Tatyana Software Engineer Exadel Inc. [email_address]
  • 2. ВСТУПЛЕНИЕ
    • RichFaces – фреймворк для создания графических интерфейсов
    • Проблема красивых интерфейсов: красиво, быстро работает, недорого – выберите любые 2.
    • Jboss ( Red Hat) – спонсор, компания Exadel – разработчик
    • Open Source проект, лицензия LGPL
  • 3. СОДЕРЖАНИЕ
    • Обзор технологий Ajax, JSF
    • Ajax + JSF = A4J
    • RichFaces
    • Примеры
    • Создание JSF- компонента
    • Сравнение RichFaces с аналогами
    • Полезные ресурсы
  • 4. ОБЗОР ТЕХНОЛОГИЙ
      • Ajax
      • Java Server Faces
  • 5. AJAX
    • Подход к построению интерактивных интерфейсов веб-приложений
      • Асинхронный режим выполнения запросов к серверу и обновления данных на странице
      • Преимущества:
      • Экономия трафика
      • Уменьшение нагрузки на сервер
      • Ускорение работы интерфейса
  • 6. AJAX : МОДЕЛЬ
  • 7. AJAX : МОДЕЛЬ
  • 8. JAVA SERVER FACES
    • Технология построения J2EE веб-приложений
    • Спецификация в составе J2EE
    • Построение интерфейса из компонент
    • Компоненты:
      • сохраняют состояние
      • имеют стандартизованный жизненный цикл
      • свойства подставляются из Backing Bean
  • 9. JAVA SERVER FACES : КОМПОНЕНТЫ Список компонентов и примеры использования: http://www.exadel.com/tutorial/jsf/jsftags-guide.html JSF: Rendered Component: HTML:
  • 10. JAVA SERVER FACES: ДЕРЕВО КОМПОНЕНТ
  • 11. JAVA SERVER FACES: ЖИЗНЕННЫЙ Ц ИКЛ JSF ЗАПРОСА
    • Поиск или создание компонентного дерева представления.
    • Обновление и установка значений компонент, с применением соответствующих конвертеров.
    • Проверка корректности значений. Генерация сообщений об ошибках.
    • Обновление модели, связанной с компонентами.
    • Вызов зарегистрированных обработчиков событий и выбор представления для отображения.
    • Создание и отображение нового представления.
  • 12. AJAX + JSF = A4J
  • 13. A4J: AJAX SUPPORT КОМПОНЕНТ
    • Добавление Ajax функциональности к стандартным компонентам.
    • Выполнение запроса по любым клиентским событиям , определенным на компоненте
  • 14. A4J: ТОЧКИ ВНЕДРЕНИЯ AJAX В JSF
    • Restore View
    • Восстановление представления. На этом этапе разработанный фильтр , уменьшает дерево представления до ограниченного разработчиком.
    • Invoke Application
    • После выполнения бизнес - логики разработчика в объекте Ajax Context сохраняется список зон , подлежащих обновлению .
    • Render Response
    • Восстановление частей дерева для передачи на клиент .
  • 15. A4J: ВОЗМОЖНОСТИ КОМПОНЕНТ AJAX ACTION
    • Оптимизация генерации и обработки запросов
      • eventQueue
      • requestDelay
      • timeout
      • ignoreDupResponses
    • Ограничение серверной обработки запроса
      • ajaxSingle
      • bypassUpdates
    • Обновление после запроса
      • reRender
      • limitToList
  • 16. A4J: ПРЕИМУЩЕСТВА
    • Использование Ajax в JSF приложении без необходимости применения Java Script конечным разработчиком
    • Внесение Ajax функциональности в приложение без необходимости изменения начального кода страниц
    • Прохождение Ajax запросов в рамках стандарта жизненного цикла JSF
  • 17. RICHFACES
      • Общие сведения
      • Визуальные компоненты
  • 18. RICHFACES : ОБЩИЕ СВЕДЕНИЯ
    • добавление Ajax функциональности в любое готовое JSF приложение
    • набор готовых компонентов с богатой функциональностью
    • Применение скинов для компонент
    • Набор инструментов для разработки компонент ( Component Development Kit )
    Ajax-фреймворк с библиотекой визуальных компонентов на основе JSF . Возможности:
  • 19. RICHFACES : ОБЩИЕ СВЕДЕНИЯ: ПРЕИМУЩЕСТВА
    • Разработка насыщенного веб-интерфейса с приятным внешним видом
    • … и Ajax функциональностью
    • Кроссбраузерность
    • Не нужна ручная верстка на HTML+CSS, свои скрипты на Javascript
    • Поддержка скриптовых библиотек: jQuery, Prototype, script.aculo.us
    • Безпроблемная интеграция с Spring, Jboss Seam
  • 20. RICHFACES : КОМПОНЕНТЫ
    • Всего — более 60 компонентов.
    • Префиксы a4j:, ajax: — невизуальные компоненты, которые добавляют Ajax- функциональность в JSF
    • Префиксы rich:, richfaces: — GUI- компоненты с приятным внешним видом и skinnability.
  • 21. RICHFACES : КОМПОНЕНТЫ
    • Интересные примеры:
      • ajaxForm
      • queue
      • ajaxValidator 
      • dataTable, dataGrid
      • dragSupport, dropSupport
      • contextMenu, dropDownMenu
      • tree
      • modalPanel, panelBar, progressBar, tabPanel, toolBar
      • calendar, colorPicker, comboBox, editor, fileUpload, inplaceInput
      • listShuttle 
      • effect, hotKey, layoutPanel 
  • 22. ПРИМЕРЫ
      • LiveDemo
      • PhotoAlbum
  • 23. ПРИМЕРЫ: LIVEDEMO
    • http://livedemo.exadel.com/richfaces-demo/richfaces/welcome.jsf
  • 24. ПРИМЕРЫ: PHOTOALBUM
    • http://livedemo.exadel.com/photoalbum/
    • http://download.jboss.com/jboss-richfaces/photoalbum-ear-3.3.1.GA.ear
  • 25. СОЗДАНИЕ КОМПОНЕНТА
      • JSF
      • C помощью Component Development Kit
  • 26. СОЗДАНИЕ КОМПОНЕНТА: JSF
    • Громоздкий занудный процесс: чтобы создать примитивный компонент, нужно написать:
      • UIComponent class,
      • Renderer class,
      • Tag class
      • faces configuration file (faces-config.xml).
      • *.taglib.xml (для facelets -среды ).
  • 27. СОЗДАНИЕ КОМПОНЕНТА: JSF
    • Чтобы создать полноценный компонент, который не только рисуется, но и что-то делает, нужны:
      • ListenerTagHandler class,
      • Интерфейс listener’a,
      • Методы в этом интерфейсе для обработки нужных событий
      • Классы событий
      • Классы для различных
      • типов render еров .
  • 28. СОЗДАНИЕ КОМПОНЕНТА: CDK
    • Чтобы создать полноценный компонент нужны:
      • Maven
      • mvn archetype:create -DarchetypeGroupId=org.richfaces.cdk -DarchetypeArtifactId=maven-archetype-jsf-component -DarchetypeVersion=3.3.1.GA -DartifactId=inputDate
  • 29. СОЗДАНИЕ КОМПОНЕНТА: CDK
    • Подробное руководство:
      • http://www.jboss.org/file-access/default/members/jbossrichfaces/freezone/docs/cdkguide/en/pdf/CDK_Developer_Guide.pdf
  • 30. СРАВНЕНИЕ С АНАЛОГАМИ
      • JSF- фреймворки
      • Не- JSF
  • 31. СРАВНЕНИЕ С АНАЛОГАМИ: JSF- ФРЕЙМВОРКИ
    • ICEfaces — меньше компонентов, не все поддерживают Ajax
    • ZK — не самый приятный внешний вид компонентов, не поддерживается skinning
    • MyFaces/Tomahawk — мало компонентов, плохая документация
    • Другие: Tobago , Woodstock , Trinidad , RCFaces , Netadvantage , WebGalileoFaces , QuipuKit
  • 32. СРАВНЕНИЕ С АНАЛОГАМИ: НЕ- JSF
      • Лицензия на использование Ext в коммерческих целях стоит от 200$
      • Огромный объем (порядка 500 кб)
      • Обширная, но мало понятная документация
      • Нужно разбираться с Javascript, отлаживать в случае проблем — неудобно и сложно
  • 33. СРАВНЕНИЕ С АНАЛОГАМИ: НЕ- JSF
    • GWT
      • Мало компонентов
      • Не продумана система расширения существующих компонентов — есть final компоненты
      • очень медленный цикл « change-deploy-test »
    • Flex
      • Дополнительная сложность — интеграция Flex- интерфейса с Java- бэкэндом
      • Время на изучение новой технологии
      • Среда для разработки (FlashBuilder) — платная
  • 34. ПОЛЕЗНЫЕ СВЕДЕНИЯ
      • Совместимость
      • How Do I?
      • Ссылки
  • 35. ПОЛЕЗНЫЕ СВЕДЕНИЯ: СОВМЕСТИМОСТЬ
    • Версии Java
    • JDK 1.5 и выше
    • Имплементации JSF и фреймворки
    • Sun JSF-RI - 1.2_12
    • MyFaces 1.2.5
    • Facelets 1.1.1 - 1.2
    • Seam 1.2. - 2.1.0
    • Браузеры
    • Internet Explorer 6.0 - 8.0
    • Firefox 2.0 - 3.0
    • Opera 8.5 - 9.5
    • Safari 3.0
    • Google Chrome
    • Сервера и
    • контейнеры
    • сервлетов
    • Apache Tomcat 5.5 - 6.0
    • BEA WebLogic 9.1 - 10.0
    • Resin 3.1
    • Jetty 6.1.x
    • Sun Application Server 9 (J2EE 1.5)
    • Glassfish (J2EE 5)
    • JBoss 4.2.x - 5
    • Websphere 7.0. и выше
    • Geronimo 2.0 и выше
  • 36. ПОЛЕЗНЫЕ СВЕДЕНИЯ : КАК БЫ МНЕ...
    • ... подключить компоненты RichFaces к имеющемуся JSF- приложению
    • <dependency> <groupId>org.richfaces.ui</groupId> <artifactId>richfaces-ui</artifactId> <version>3.3. 1 </version> </dependency>
    • ...подправить компоненты и собрать RF самостоятельно из исходников (с помощью Maven)
    • http://www.jboss.org/community/wiki/HowToBuildRichFacesSnapshotManually
    • ...задать вопрос разработчикам
    • http://www.jboss.org/index.html?module=bb&op=viewforum&f=261
    • ...зарепортить баг
    • https://jira.jboss.org/jira/browse/RF
    • ...написать свой компонент ( CDK)
    • http://www.jboss.org/community/wiki/CDKGettingStarted
  • 37.
    • RichFaces on Jboss page:
      • http://www.jboss.org/jbossrichfaces/
    • RichFaces документация, форум и wiki:
      • http://www.jboss.org/jbossrichfaces/docs/index.html
    • RichFaces downloads (файлы для загрузки) :
      • http://www.jboss.org/jbossrichfaces/downloads/
    ПОЛЕЗНЫЕ СВЕДЕНИЯ: ССЫЛКИ
  • 38. ВОПРОСЫ
      • [email_address]