Richfaces

Richfaces

Infobox_Software
name = JBoss



caption = Screenshot of RichFaces
collapsible = yes
name = RichFaces
author = JBoss
latest release version = [http://www.jboss.org/jbossrichfaces/downloads/ 3.2.2 ]
latest release date = [Sep 08, 2008]
genre = Ajax, Java, JSF, Framework
website = [http://www.jboss.org/jbossrichfaces/ www.jboss.org ]

RichFaces is a rich component library for JavaServer Faces built on the open source framework Ajax4jsf. It allows easy integration of AJAX capabilities into enterprise-level business application development.

RichFaces enriches the Ajax4jsf framework in two important ways. First, it expands a number of visual ready-to-use components. Secondly, it fully implements the skinnability feature of the Ajax4jsf framework including a large number of predefined skins. Using skinnability, it is much easier to manage the look-and-feel of an application.

History of RichFaces

RichFaces originated from Ajax4jsf framework which was created and designed by Alexander Smirnov.cite web
title=Ajax4jsf and RichFaces - historical perspective
url=http://www.jsfone.com/blog/max_katz/2008/08/ajax4jsf_and_richfaces__historical_perspective.html
date=August 15, 2008
author=Max Katz, Exadel
] In early 2005, he was looking to add a “hot” new technology along with the associated experience to his resume. Roughly at the same time, the concept of AJAX was being introduced by Jesse James Garrett. Meanwhile, JSF was starting to pick up steam. Alexander figured why not just merge the two, so it would be easy to have AJAX functionality within a JSF application. He figured this would be an excellent addition to his resume.

In the fall of that same year, Alexander joined Exadel and continued to develop the framework.

The first version of what would become Ajax4jsf was released in March 2006. It wasn’t quite a standalone thing, yet. Rather, it was part of a product called Exadel Visual Component Platform. Later in the same year, Exadel VCP was split off and the Ajax4jsf framework and Rich Faces was born. While RichFaces provided out-of-the-box components or what’s called a component-centric AJAX approach (components do everything you need), Ajax4jsf provided what’s called page-wide AJAX support. You as a developer specify what parts of the page should be processed on server after some client side user actions and what parts should be updated after processing. Ajax4jsf became an open source project hosted on Java.net while RichFaces became a commercial JSF component library.

In March 2007 JBoss and Exadel signed a partnership where Ajax4jsf and RichFaces would now be under the JBoss umbrella and be called JBoss Ajax4jsf and JBoss RichFaces. RichFaces would now also be open source and free. In September 2007, JBoss and Exadel decided to merge Ajax4jsf and RichFaces under the RichFaces name. It made sense as both libraries were now free, open source. Having just one product solved many version and compatibility issues that existed before, such as which version of Ajax4jsf works with what version of RichFaces?

Framework

The framework is implemented as a component library which adds Ajax capability into existing pages, so a developer doesn’t need to write any JavaScript code or to replace existing components with new Ajax widgets. RichFaces enables page-wide Ajax support instead of the traditional component-wide support. Hence, a developer can define the event on the page that invokes an Ajax request and the areas of the page that should be synchronized with the JSF Component Tree after the Ajax request changes the data on the server according to the events fired on the client.

RichFaces allows to define (by means of JSF tags) different parts of a JSF page you wish to update with an Ajax request and provide a few options to send Ajax requests to the server. Also JSF page doesn't change from a "regular" JSF page and you don't need to write any JavaScript or XMLHttpRequest objects by hands, everything is done automatically.

RichFaces architecture

The architecture of RichFaces consists of Ajax Filter, AJAX Action Components, AJAX Containers, JavaScript Engine. : Ajax Filter - In order get all benefits of RichFaces, a developer should register a Filter in web.xml file of the application. The Filter recognizes multiple request types.: AJAX Action Components - AjaxCommandButton, AjaxCommandLink, AjaxPoll and AjaxSupport and other Action Components can be used to send Ajax requests from the client side. : AJAX Containers - AjaxContainer is an interface that describes an area on a JSF page that should be decoded during an Ajax request. AjaxViewRoot and AjaxRegion are implementations of this interface.: JavaScript Engine - RichFaces JavaScript Engine runs on the client-side. It updates different areas on a JSF page based on the information from the Ajax response. JavaScript Engine provides API so a developer doesn’t need to create own JavaScript functionality.

Skinnability

Skinnability is a special feature of RichFaces that is used for defining common interface styles. The feature is based on XCSS technology which provides flexibility and dynamics. RichFaces provide a set of predefined skins:
* "DEFAULT"
* plain
* emeraldTown
* blueSky
* wine
* japanCherry
* ruby
* classic
* deepMarine
* Laguna (new - RichFaces 3.2.1)
* GlassX (new - RichFaces 3.2.2)
* DarkX (new - RichFaces 3.2.2)

Skin properties, such as, generalBackgroundColor, generalLinkColor, headerFamilyFont etc are stored in skinname.skin.properties file. While each component has a XCSS (a special file format that combines flexibility of XML and CSS) file that performs mapping of CSS selectors to the skin properties of a particular skin. Additionally, RichFaces provides skinning for standard HTML controls. In the latest version of RichFaces a new feature Plug-n-Skin was introduced, it’s used for easy custom skin creation.

Simple JSF page with RichFaces calendar component

This is the result of the presented above code.

References

* [http://www.jboss.org/jbossrichfaces/ RichFaces Product Page]
* [http://www.jboss.org/file-access/default/members/jbossrichfaces/freezone/docs/devguide/en/html_single/index.html RichFaces Developer Guide]
* [http://livedemo.exadel.com/richfaces-demo/index.jsp RichFaces Live Demo]
* [http://anonsvn.jboss.org/repos/richfaces/ Anonymous SVN - Project repository]
* [http://jboss.com/index.html?module=bb&op=viewforum&f=261 Users' forum]
* [http://www.jboss.org/files/jbosslabs/podcasts/Alexander_Smirnov-JBoss_RichFaces-JavaOne-2008.ogg RichFaces/Ajax4jsf project discussion with Alexander Smirnov, JBoss Booth, JavaOne 2008 (ogg format)]
* [http://in.relation.to/Bloggers/Sergey Sergey Smirnov's blog]


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • RichFaces — Entwickler JBoss Aktuelle Version 4.0.0.Final [1] (30. März 2011) Betriebssystem plattformübergreifend Programmier­sprache …   Deutsch Wikipedia

  • RichFaces — JBoss RichFaces Тип Ajax, Java, JSF Авто …   Википедия

  • Ajax4jsf — Infobox Software name = Ajax4jsf caption = collapsible = yes author = Alexander Smirnov, Exadel, JBoss latest release version = now part of RichFaces latest release date = genre = Ajax, Java, JSF, Framework website =… …   Wikipedia

  • JBDS — Infobox Software name = JBoss > caption = Screenshot of JBDS 1.1.0.GA name = JBoss Developer Studio author = JBoss, a division of Red Hat latest release version = 1.1.0.GA latest release date = release date|2008|06|02 genre = Software development …   Wikipedia

  • JBoss Tools — Infobox Software name = JBoss Tools caption = developer = JBoss, a division of Red Hat latest release version = 2.1.0.GA latest release date = release date|2008|06|02 latest preview version = latest preview date = operating system = Cross… …   Wikipedia

  • JavaServer Faces — Тип Веб фреймворк Разработчик Sun Microsystems Написана на Java Операционная система Кроссплатформенное ПО …   Википедия

  • JavaServer Faces — (kurz: JSF) ist ein Framework Standard zur Entwicklung von grafischen Benutzeroberflächen für Webapplikationen. Basierend auf Servlets und JSP Technologie, gehört JSF zu den Webtechnologien der Java Platform, Enterprise Edition (Java EE).… …   Deutsch Wikipedia

  • Java Server Faces — JavaServer Faces (kurz: JSF) ist ein Framework Standard zur Entwicklung von Benutzeroberflächen für Webapplikationen. Basierend auf Servlets und JSP Technologie, gehört JSF zu den Webtechnologien der Java Platform, Enterprise Edition (Java EE).… …   Deutsch Wikipedia

  • JavaServer Faces — (JSF) is a Java based Web application framework intended to simplify development of user interfaces for Java EE applications. Unlike other traditional request driven MVC web frameworks, JSF uses a component based approach. The state of UI… …   Wikipedia

  • Comparison of web application frameworks — This is a comparison of notable web application frameworks. Contents 1 General 1.1 Perl 1.2 PHP 1.3 Java 1.4 Python …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”