Author: artdaw
Date: 2008-07-08 06:43:49 -0400 (Tue, 08 Jul 2008)
New Revision: 9443
Modified:
trunk/docs/cdkguide/en/src/main/docbook/modules/intro.xml
Log:
http://jira.jboss.com/jira/browse/RF-3692 - Introduction was added
Modified: trunk/docs/cdkguide/en/src/main/docbook/modules/intro.xml
===================================================================
--- trunk/docs/cdkguide/en/src/main/docbook/modules/intro.xml 2008-07-08 09:41:08 UTC (rev
9442)
+++ trunk/docs/cdkguide/en/src/main/docbook/modules/intro.xml 2008-07-08 10:43:49 UTC (rev
9443)
@@ -11,7 +11,101 @@
<title>Introduction</title>
<para>
- This document is aimed to provide guidelines for...
+ The major benefit of the JSF framework is a component based architecture.
+ The component in JSF is not just a set of HTML code rendered and interpreted by a
browser.
+ The JSF component is a composition of a client-side widget coupled with the
server-side object
+ that represents component behavior including data validation, events handling,
business layers bean binding, etc.
</para>
-
+ <para>
+ In contrast to a page-oriented development approach,
+ JSF allows to use a component-oriented paradigm to build a well-designed,
+ highly customizable UI interface based on reusable components.
+ </para>
+ <para>
+ However, there is not yet enough sets of rich components on the market that might
enable the rapid application developments.
+ One of important problems is a long and very complicated process of the component
creation.
+ Even the very primitive JSF component requires to write the
<property>UIComponent</property> class,
+ <property>Renderer class</property>, <property>Tag
class</property>
+ and a faces configuration file
(<property>faces-config.xml</property>).
+ </para>
+ <para>
+ In order to use the component library in a Facelets environment,
+ you should add the <property>*.taglib.xml</property> file to this
checklist.
+ </para>
+ <para>
+ Creation of the rich component takes even more time.
+ You have to provide the <property>ListenerTagHandler
class</property>, a class for creating a listener interface,
+ an event processing method name in a listener interface,
+ an event class, render specific classes for each possible render kit used with
the component.
+ </para>
+ <para>
+ Therefore, the process of JSF component creation is pretty complicated but
repeatable.
+ Jonas Jacobi and John R. Fallows in their "Pro JSF and Ajax Bulling Rich
Internet Components" book describe
+ the process in details.
+ This description and used approaches are very similar to our own experience and
have been used as a methodology
+ for <property>Component Development Kit (CDK)</property> - a
sub-project of <property>RichFaces</property>
+ that allows you to easily create rich components with built-in Ajax support.
+
+ <!--With version 1.1, Ajax4jsf introduces the Component Factory - a
Maven-driven process based on CDK.-->
+ </para>
+ <para>
+ The significant features of the <property>Component Development Kit
(CDK)</property> are:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Quick development start.
+ A new component development starts from a pre-generated component project
template.
+ It contains the whole required infrastructure and necessary files
generated.
+ It's necessary only to have a <ulink
url="http://maven.apache.org">Maven</ulink> installed.
+ All other required stuff will be loaded and configured automatically.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Declarative approach for a component development.
+ It's necessary only to specify meta-data and a code specific for
your component.
+ All other required artifacts are generated for you.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Independent development life-cycle. <property>Component Development
Kit (CDK)</property> presumes
+ development of each component isolated from each other with further
assembling them into the component library.
+ Hence, this allows to organize a continuous process when one component is
already in production condition,
+ but another is just started.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Add Ajax capability to the existing JSF applications and create a
first-class rich components
+ with built-in Ajax functionality.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Facility for automatic testing.
+ At the moment of generating the initial project structure,
+ the <property>Unit Test classes</property> are also
generated.
+ The <property>RichFaces</property> also provides the
Mock-test facility that allows to emulate
+ a run-time environment and automatically test the components before their
are gathered into the result library.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Optimization for different JSF implementations.
+ As soon as the most part of a result code is generated, the
<property>Component Development Kit (CDK)</property>
+ becomes able to generate an implementation specific code along with a
universal code.
+ It makes sense if it"s necessary to optimize a result code using
features specific for
+ the particular implementation. For example, for using with JSF 1.2 only.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Create a modern rich user interface look-and-feel with JSP-like templates
and skins-based technology.
+ RichFaces comes with a number of predefined skins to get you started,
+ but you can also easily create your own custom skins.
+ </para>
+ </listitem>
+ </itemizedlist>
</chapter>
\ No newline at end of file