[jboss-cvs] JBossAS SVN: r90759 - projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jul 2 02:12:56 EDT 2009


Author: laubai
Date: 2009-07-02 02:12:55 -0400 (Thu, 02 Jul 2009)
New Revision: 90759

Modified:
   projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Cache.xml
   projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Components.xml
   projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Configuration.xml
   projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Controls.xml
   projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Conversations.xml
   projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Events.xml
   projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Framework.xml
   projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Gettingstarted.xml
   projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Hsearch.xml
   projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Preface.xml
   projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Tutorial.xml
Log:
JIRA fixes JBPAPP-1904, 2051, 1962, 1769

Modified: projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Cache.xml
===================================================================
--- projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Cache.xml	2009-07-02 05:20:42 UTC (rev 90758)
+++ projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Cache.xml	2009-07-02 06:12:55 UTC (rev 90759)
@@ -4,17 +4,13 @@
 <chapter id="cache">
     <title>Caching</title>
     
-    <para>
-        In almost all enterprise applications, the database is the primary 
-        bottleneck, and the least scalable tier of the runtime environment. So anything we can possibly do to share the database <emphasis>less 
-        often</emphasis> is worth doing.
-    </para>
+   <para>
+	The database is the primary bottleneck in almost all enterprise applications, and the least-scalable tier of the runtime environment, so anything we can do to reduce the number of times the database is accessed can dramatically improve application performance.
+   </para>
     
-    <para>
-        This calls for a cache. Well, not just one cache. A well designed Seam
-        application will feature a rich, multi-layered caching strategy that
-        impacts every layer of the application:
-    </para>
+<para>
+	A well-designed Seam application will feature a rich, multi-layered caching strategy that impacts every layer of the application, including:
+</para>
     
     <itemizedlist>
         <listitem>
@@ -218,4 +214,4 @@
         
     </section>
     
-</chapter>
\ No newline at end of file
+</chapter>

Modified: projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Components.xml
===================================================================
--- projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Components.xml	2009-07-02 05:20:42 UTC (rev 90758)
+++ projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Components.xml	2009-07-02 06:12:55 UTC (rev 90759)
@@ -1023,13 +1023,13 @@
                             errors if the system is placed under any load and debug is enabled.
                         </para>
                         </listitem>
-                        <listitem>
+                        <!--<listitem>
                         <para>
                             <literal>org.jboss.seam.core.init.clientSideConversations</literal> &#8212; 
                             if set to <literal>true</literal>, Seam will save conversation context
                             variables in the client instead of in the <literal>HttpSession</literal>.
                         </para>
-                        </listitem>
+                        </listitem>-->
                         <listitem>
                         <para>
                             <literal>org.jboss.seam.core.init.userTransactionName</literal> &#8212; the JNDI

Modified: projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Configuration.xml
===================================================================
--- projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Configuration.xml	2009-07-02 05:20:42 UTC (rev 90758)
+++ projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Configuration.xml	2009-07-02 06:12:55 UTC (rev 90759)
@@ -682,11 +682,11 @@
         
         <para>You will also need to define a datasource.</para>
         
-        <para> A better alternative is to use JBoss Embedded to get access to the EE APIs. </para>
+<!--        <para> A better alternative is to use JBoss Embedded to get access to the EE APIs. </para>-->
                 
     </sect1>
 
-    <sect1>
+    <!--<sect1>
         <title>Configuring Seam in Java SE, with JBoss Embedded</title>
 
         <para> JBoss Embedded lets you run EJB3 components outside the context of the Java EE 5 application server. This
@@ -813,9 +813,8 @@
                 deploy.tomcat</literal>. </para>
 
         </sect2>
+    </sect1>-->
 
-    </sect1>
-
     <sect1>
         <title>Configuring jBPM in Seam</title>
         <para> Seam's jBPM integration is not installed by default, so you will need to enable jBPM by installing a

Modified: projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Controls.xml
===================================================================
--- projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Controls.xml	2009-07-02 05:20:42 UTC (rev 90758)
+++ projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Controls.xml	2009-07-02 06:12:55 UTC (rev 90759)
@@ -577,12 +577,12 @@
             <itemizedlist>
                <listitem>
                   <para>
-                     <literal>style</literal> &#8212; The controls style
+                     <literal>style</literal> &#8212; The control's style
                   </para>
                </listitem>
                <listitem>
                   <para>
-                     <literal>styleClass</literal> &#8212; The controls style class
+                     <literal>styleClass</literal> &#8212; The control's style class
                   </para>
                </listitem>
             </itemizedlist>
@@ -938,12 +938,12 @@
                </listitem>
                <listitem>
                   <para>
-                     <literal>style</literal> &#8212; The controls style
+                     <literal>style</literal> &#8212; The control's style
                   </para>
                </listitem>
                <listitem>
                   <para>
-                     <literal>styleClass</literal> &#8212; The controls style 
+                     <literal>styleClass</literal> &#8212; The control's style 
                      class
                   </para>
                </listitem>

Modified: projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Conversations.xml
===================================================================
--- projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Conversations.xml	2009-07-02 05:20:42 UTC (rev 90758)
+++ projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Conversations.xml	2009-07-02 06:12:55 UTC (rev 90759)
@@ -1222,10 +1222,10 @@
         <listitem>
           <para>
             <literal>&lt;a:poll reRender="total" interval="1000" /&gt;</literal> &#8212;
-            Polls the server, and re-renders an area as needed
+            Polls the server, and re-renders an area as needed.
           </para>
         </listitem>
       </itemizedlist>
     </section>
   </section>
-</chapter>
\ No newline at end of file
+</chapter>

Modified: projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Events.xml
===================================================================
--- projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Events.xml	2009-07-02 05:20:42 UTC (rev 90758)
+++ projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Events.xml	2009-07-02 06:12:55 UTC (rev 90759)
@@ -677,10 +677,14 @@
             <listitem><para><literal>org.jboss.seam.beforePhase </literal>&#8212; called before the start of a JSF phase</para></listitem>
             <listitem><para><literal>org.jboss.seam.afterPhase </literal>&#8212; called after the end of a JSF phase</para></listitem>
             <listitem><para><literal>org.jboss.seam.postInitialization </literal>&#8212; called when Seam has initialized and started up all components</para></listitem>
+            <listitem><para><literal>org.jboss.seam.security.loggedOut</literal> &#8212; called when a user logs out</para></listitem>            
+            <listitem><para><literal>org.jboss.seam.security.loginFailed</literal> &#8212; called when a user authentication attempt fails</para></listitem>            
+            <listitem><para><literal>org.jboss.seam.security.loginSuccessful</literal> &#8212; called when a user is successfully authenticated</para></listitem>            
+            <listitem><para><literal>org.jboss.seam.security.notAuthorized</literal> &#8212; called when an authorization check fails</para></listitem>            
             <listitem><para><literal>org.jboss.seam.postAuthenticate.&lt;name&gt; </literal>&#8212; called after a user is authenticated</para></listitem>
             <listitem><para><literal>org.jboss.seam.preAuthenticate.&lt;name&gt; </literal>&#8212; called before attempting to authenticate a user</para></listitem>
             <listitem><para><literal>org.jboss.seam.notLoggedIn</literal> &#8212; called there is no authenticated user and authentication is required</para></listitem>
-            <listitem><para><literal>org.jboss.seam.rememberMe</literal> &#8212; occurs when Seam security detects the username in a cookie</para></listitem>
+<!--            <listitem><para><literal>org.jboss.seam.rememberMe</literal> &#8212; occurs when Seam security detects the username in a cookie</para></listitem>-->
             <listitem><para><literal>org.jboss.seam.exceptionHandled.&lt;type&gt;</literal> &#8212; called when an uncaught exception is handled by Seam</para></listitem>
             <listitem><para><literal>org.jboss.seam.exceptionHandled</literal> &#8212; called when an uncaught exception is handled by Seam</para></listitem>
             <listitem><para><literal>org.jboss.seam.exceptionNotHandled</literal> &#8212; called when there was no handler for an uncaught exception</para></listitem>
@@ -994,45 +998,7 @@
            was actually handled by an exception handler. The outermost (wrapper) exception is 
            also available, as <literal>org.jboss.seam.exception</literal>.
          </para>
-         
-	 <!--        <section>
-             <title>Suppressing exception logging</title>
-             
-             <para>
-                 For the exception handlers defined in <literal>pages.xml</literal>, it is possible
-                 to declare the logging level at which the exception will be logged, or to even
-                 suppress the exception being logged altogether.  The attributes <literal>log</literal>
-                 and <literal>logLevel</literal> can be used to control exception logging.  By setting 
-                 <literal>log="false"</literal> as per the following example, then no log message will
-                 be generated when the specified exception occurs:
-             </para>
-             
-             <programlisting role="XML"><![CDATA[    <exception class="org.jboss.seam.security.NotLoggedInException" log="false">
-        <redirect view-id="/register.xhtml">
-            <message severity="warn">You must be a member to use this feature</message>
-        </redirect>
-    </exception>]]></programlisting>
-    
-             <para>
-                 If the <literal>log</literal> attribute is not specified, then it defaults to <literal>true</literal>
-                 (i.e. the exception will be logged).  Alternatively, you can specify the <literal>logLevel</literal>
-                 to control at which log level the exception will be logged:             
-             </para>
 
-             <programlisting role="XML"><![CDATA[    <exception class="org.jboss.seam.security.NotLoggedInException" logLevel="info">
-        <redirect view-id="/register.xhtml">
-            <message severity="warn">You must be a member to use this feature</message>
-        </redirect>
-    </exception>]]></programlisting>
-    
-              <para>
-                  The acceptable values for <literal>logLevel</literal> are: <literal>fatal, error, warn, info, debug</literal> 
-                  or <literal>trace</literal>.  If the <literal>logLevel</literal> is not specified, or if an invalid value is
-                  configured, then it will default to <literal>error</literal>.              
-              </para>
-         
-         </section> -->
-
         </section>
         
         <section>

Modified: projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Framework.xml
===================================================================
--- projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Framework.xml	2009-07-02 05:20:42 UTC (rev 90758)
+++ projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Framework.xml	2009-07-02 06:12:55 UTC (rev 90759)
@@ -329,7 +329,7 @@
 			event when a transaction succeeds (a call to <literal>persist()</literal>, 
 			<literal>update()</literal> or <literal>remove()</literal> succeeds).  By observing 
 			this event we can refresh our queries when the underlying entities are changed.  If
-			we only want to refresh certain queries when a particular entity is persited, 
+			we only want to refresh certain queries when a particular entity is persisted, 
 			updated or removed we can observe the 
 			<literal>org.jboss.seam.afterTransactionSuccess.&lt;name&gt;</literal> 
 			event (where <literal>&lt;name&gt;</literal> is the name of the entity).
@@ -530,7 +530,7 @@
        
       <para>
          Unfortunately Query objects do not work well with 
-         <emphasis>join fetch</emphasis> queries - the use of pagination with
+         <emphasis>join fetch</emphasis> queries&#8212;the use of pagination with
          these queries is not recommended, and you will have to implement your own
          method of calculating the total number of results (by overriding 
          <literal>getCountEjbql()</literal>.
@@ -596,4 +596,4 @@
 
     </section>
     
-</chapter>
\ No newline at end of file
+</chapter>

Modified: projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Gettingstarted.xml
===================================================================
--- projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Gettingstarted.xml	2009-07-02 05:20:42 UTC (rev 90758)
+++ projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Gettingstarted.xml	2009-07-02 06:12:55 UTC (rev 90759)
@@ -402,41 +402,4 @@
             incremental hot deployment for EAR projects.</para>
     </section>
 
-<!--    <section>
-        <title>Using Seam with JBoss 4.0</title>
-
-        <para> Seam 2.0 was developed for JavaServer Faces 1.2. When using JBoss AS, we recommend using JBoss 4.2, which
-            bundles the JSF 1.2 reference implementation. However, it is still possible to use Seam 2.0 on the JBoss 4.0
-            platform. There are two basic steps required to do this: install an EJB3-enabled version of JBoss 4.0 and
-            replace MyFaces with the JSF 1.2 reference implementation.  Once you complete these steps, Seam 2.0 
-            applications can be deployed to JBoss 4.0.</para>
-
-        <section>
-            <title>Install JBoss 4.0</title>
-            <para>JBoss 4.0 does not ship a default configuration compatible with Seam. To run Seam, you must install
-                JBoss 4.0.5 using the JEMS 1.2 installer with the ejb3 profile selected. Seam will not run with an
-                installation that doesn't include EJB3 support. The JEMS installer can be downloaded from <ulink
-                    url="http://labs.jboss.com/jemsinstaller/downloads"
-                >http://labs.jboss.com/jemsinstaller/downloads</ulink>. </para>
-        </section>
-
-        <section>
-            <title>Install the JSF 1.2 RI</title>
-
-            <para> The web configuration for JBoss 4.0 can be found in the
-                    <literal>server/default/deploy/jbossweb-tomcat55.sar</literal>. You'll need to delete
-                    <literal>myfaces-api.jar</literal> any <literal>myfaces-impl.jar</literal> from the
-                    <literal>jsf-libs </literal>directory. Then, you'll need to copy <literal>jsf-api.jar</literal>,
-                    <literal>jsf-impl.jar</literal>, <literal>el-api.jar</literal>, and <literal>el-ri.jar</literal>
-                to that directory. The JSF JARs can be found in the Seam <literal>lib</literal> directory. The el JARs
-                can be obtained from the Seam 1.2 release. </para>
-
-            <para>You'll also need to edit the <literal>conf/web.xml</literal>, replacing
-                <literal>myfaces-impl.jar</literal> with <literal>jsf-impl.jar</literal>. </para>
-        </section>
-
-
-
-    </section> -->
-
 </chapter>

Modified: projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Hsearch.xml
===================================================================
--- projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Hsearch.xml	2009-07-02 05:20:42 UTC (rev 90758)
+++ projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Hsearch.xml	2009-07-02 06:12:55 UTC (rev 90759)
@@ -212,7 +212,7 @@
       necessary.</para>
     </important>
 
-    <para>Check the <literal>DVDStore</literal> or the blog examples of the JBoss Seam
+    <para>Check the <literal>DVDStore</literal> or the <literal>blog</literal> examples of the JBoss Seam
     distribution for a concrete use of Hibernate Search.</para>
   </section>
 </chapter>

Modified: projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Preface.xml
===================================================================
--- projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Preface.xml	2009-07-02 05:20:42 UTC (rev 90758)
+++ projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Preface.xml	2009-07-02 06:12:55 UTC (rev 90759)
@@ -3,9 +3,171 @@
 ]>
 
 <preface id="Seam_Reference_Guide-Preface">
-	<title>Preface</title>
-	<para>
-	</para>
+        <title>Introduction to the JBoss Seam Framework</title>
+
+        <para>
+            The JBoss Seam Framework is an application framework for Enterprise Java. It is inspired by the following principles:
+        </para>
+
+        <variablelist>
+        
+            <varlistentry>
+                <term><emphasis>One kind of "stuff"</emphasis></term>
+                <listitem>
+                    <para>
+		      The Seam Framework (hereafter 'Seam') defines a uniform component model for all of the business logic in your application. Components can hold application state, which can be associated with any one of several well-defined contexts, including the long-running, persistent <emphasis>business process context</emphasis> and the <emphasis>conversation context</emphasis>, which is preserved across multiple web requests in a user interaction.
+			</para>
+		      <para>
+		      Unlike plain Java EE or J2EE components, Seam components can access both state associated with web requests and state held in transactional resources simultaneously, without propagating web request state manually through method parameters. There is no distinction between presentation tier components and business logic components in Seam, so layering your applications is much more flexible. The Seam framework allows you to design architecture that suits your business model, rather than being constrained to a set layering scheme.
+                    </para>
+                </listitem>
+            </varlistentry>
+            
+            <varlistentry>
+                <term><emphasis>Integrate JSF with EJB 3.0</emphasis></term>
+                <listitem>
+                    <para>
+			JavaServer Faces (JSF) is an excellent component model for the presentation tier, while Enterprise JavaBeans 3.0 (EJB3) is a new component model for server-side business and persistence logic. Java EE 5 provided no standard way to integrate these component models, relying instead upon extension points provided by JSF and EJB3 &mdash; Seam eliminates this glue code and unifies the two component models to enable improved performance.
+		    </para>
+		    <para>
+			EJB3 transformed the Enterprise JavaBean (EJB) from a coarse-grained "heavyweight" object into a fine-grained object. You can write a Seam application with EJBs alone, but virtually any Java class can be a Seam component, and Seam provides lightweight container functionality to match.
+		    </para>
+		</listitem>
+            </varlistentry>
+            
+            <varlistentry>
+                <term><emphasis>Integrated AJAX</emphasis></term>
+                <listitem>
+                    <para>
+			JBoss RichFaces and ICEfaces are two of the top JSF-based AJAX solutions. Seam supports both, which lets you add AJAX capabilities to your user interface without needing to write any JavaScript code.
+                    </para>
+                    <para>
+                        Alternatively, Seam provides a built-in JavaScript remoting layer that lets you call 
+                        components asynchronously from client-side JavaScript without using an intermediate 
+                        action layer. You can even subscribe to server-side JMS topics and receive messages via AJAX
+                        Push.
+                    </para>
+                    <para>
+                        Seam's built-in concurrency and state management ensures that multiple concurrent fine-grained, asynchronous AJAX requests are handled safely and efficiently on the server side.
+                    </para>
+                </listitem>
+            </varlistentry>
+            
+            <varlistentry>
+                <term><emphasis>Business process as a first class construct</emphasis></term>
+                <listitem>
+                    <para>
+                        Seam provides the option of transparent business process management through jBPM, allowing you to easily implement complex workflows, collaboration, and task management. You can also define presentation tier pageflow with the same language used for business process definition (jPDL).
+                    </para>
+                    <para>
+			JSF provides a rich event model for the presentation tier. Seam enhances this by using the same event-handling mechanism to expose jBPM's business process-related events, providing a uniform event model for Seam's uniform component model.
+                    </para>
+                </listitem>
+            </varlistentry>
+            
+            <varlistentry>
+                <term><emphasis>Declarative state management</emphasis></term>
+                <listitem>
+		    <para>
+			EJB3 introduced declarative persistence context management, while retaining concepts of declarative security and transaction management from earlier versions of EJB. These concepts help solve the problem of managing state associated with a particular <emphasis>context</emphasis> while ensuring that all necessary cleanup occurs when the context ends.
+		    </para>
+		    <para>
+			Seam applies the concept of declarative state management to <emphasis>application state</emphasis>. Traditionally, J2EE applications implement state management manually by getting and setting servlet session and request attributes. This causes many bugs and memory leaks when applications fail to clean up session attributes, or when multi-window applications fail to separate session data associated with different workflows. By managing application state, Seam can eliminate this class of bug.
+		    </para>
+		    <para>
+			Seam manages declarative application state by including two new contexts to the model defined by the servlet specifications. The <emphasis>conversation</emphasis> and <emphasis>business process</emphasis> contexts are more meaningful in terms of business logic, and solve many of the problems caused by older state management architecture.
+		    </para>
+                </listitem>
+            </varlistentry>
+            
+            <varlistentry>
+                <term><emphasis>Bijection</emphasis></term>
+                <listitem>
+		    <para>
+			The notion of Inversion of Control (IoC) or <emphasis>dependency injection</emphasis> exists in many lightweight containers, including JSF and EJB3. Most of these containers emphasize the injection of stateless components. Where stateful component injection is supported, application state is not handled well because component scope cannot be flexibly defined, and wider-scoped components may not be injected into components with narrower scopes.
+		    </para>
+		    <para>
+			<emphasis>Bijection</emphasis> differs from IoC in that it is dynamic, contextual, and bidirectional. You can think of it as a mechanism for aliasing contextual variables (names in the various contexts bound to the current thread) to attributes of the component. Bijection lets the container assemble stateful components automatically, and lets components safely and easily manipulate context variable values by assigning them to component attributes.
+		    </para>
+                  </listitem>
+            </varlistentry>
+            
+            <varlistentry>
+                <term><emphasis>Workspace management and multi-window browsing</emphasis></term>
+                <listitem>
+                    <para>
+                        Seam applications let the user freely switch between multiple browser tabs, each associated with a
+                        different, safely isolated conversation. Applications can even take advantage of <emphasis>workspace management</emphasis>, allowing the user to switch between conversations (workspaces) in a single
+                        browser tab.
+                    </para>
+                </listitem>
+            </varlistentry>
+            
+            <varlistentry>
+                <term><emphasis>Annotations over XML</emphasis></term>
+                <listitem>
+		    <para>
+			Where JSF still depends heavily on verbose XML configuration files, EJB3 combines annotations with configuration "by exception". Seam includes a set of annotations for declarative state management and context demarcation, eliminating the need for JSF-managed bean declarations and reducing the amount of XML to that required in JSF navigation rules.
+		    </para>
+                </listitem>
+            </varlistentry>
+            
+            <varlistentry>
+                <term><emphasis>Easy integration testing</emphasis></term>
+                <listitem>
+                    <para>
+			Seam components are unit-testable by nature, but for complex applications (above plain Java class), unit testing alone is insufficient. One of Seam's core features is the removal of all mess and difficulty traditionally associated with integration testing. It is easy to write JUnit or TestNG tests that reproduce whole user interactions and exercise all system components outside the view (the JSP or Facelets page). These tests can be run directly inside your IDE, where Seam will automatically deploy EJB components using Embedded JBoss.
+                    </para>
+                </listitem>
+            </varlistentry>
+            
+            <varlistentry>
+                <term><emphasis>Improving Specifications</emphasis></term>
+                <listitem>
+                    <para>
+			Seam patches holes that exist within Java EE specifications (for example, limitations in the JSF lifecycle for GET requests), and Seam authors work with JCP expert groups to ensure that any fixes are included in future standard revisions.
+                    </para>
+                </listitem>
+            </varlistentry>
+            
+            <varlistentry>
+                <term><emphasis>Web applications can do more than serve HTML pages</emphasis></term>
+                <listitem>
+		    <para>
+			We believe a complete web application framework should address  persistence, concurrency, asynchronicity, state management, security, email, messaging, PDF and chart generation, workflow, wikitext rendering, webservices, caching and more.
+		    </para>
+		    <para>
+			Seam integrates the Java Persistence API and Hibernate 3 for persistence; the EJB Timer Service and Quartz 
+                        for lightweight asychronicity; jBPM for workflow; JBoss Rules for business rules; Meldware 
+                        Mail for email; Hibernate Search and Lucene for full text search; Java Message Service for messaging; and JBoss 
+                        Cache for page fragment caching. Seam layers an innovative rule-based security framework over
+                        the Java Authentication and Authorization Service and JBoss Rules. It also includes JSF tag libraries for rendering PDF, outgoing email, charts 
+                        and wikitext. Seam components can be called synchronously as a Web Service, asynchronously 
+                        from client-side JavaScript or Google Web Toolkit, or directly from JSF.
+		    </para>
+                </listitem>
+            </varlistentry>
+
+            <varlistentry>
+                <term><emphasis>Get started now!</emphasis></term>
+                <listitem>
+                    <para>
+			Seam works in any Java EE application server. Even if your environment does not support EJB3, you can use Seam's inbuilt transaction management with JPA or Hibernate3 for persistence, or deploy Embedded JBoss in Tomcat for full EJB3 support.
+                    </para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+
+        <mediaobject>
+          <imageobject>
+            <imagedata fileref="images/architecture.png"/>
+          </imageobject>
+        </mediaobject>
+
+        <para>
+	    Combining Seam, JSF and EJB3 is the simplest way to write a complex web application in Java.
+        </para>
+
 	<xi:include href="Common_Content/Conventions.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 	<xi:include href="Feedback.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
 		

Modified: projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Tutorial.xml
===================================================================
--- projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Tutorial.xml	2009-07-02 05:20:42 UTC (rev 90758)
+++ projects/docs/enterprise/4.3.5.1/Seam/Seam_Reference_Guide/en-US/Tutorial.xml	2009-07-02 06:12:55 UTC (rev 90759)
@@ -52,7 +52,7 @@
 
         </section>
 
-        <section>
+        <!--<section>
             <title>Running the examples on Tomcat</title>
 
             <para> 
@@ -92,7 +92,7 @@
                 <filename>examples/<replaceable>registration</replaceable></filename> directory. It is also possible
                 to run the tests inside your IDE using the TestNG plugin.
             </para>
-        </section>
+        </section>-->
 
     </section>
 
@@ -1814,7 +1814,7 @@
             <para> One of the things you'll notice if you play with this application for long enough is that it is
                 extremely <emphasis>robust</emphasis>. You can play with back buttons and browser refresh and opening
                 multiple windows and entering nonsensical data as much as you like and you will find it very difficult
-                to make the application crash. You might think that we spent weeks testing and fixing bugs to archive
+                to make the application crash. You might think that we spent weeks testing and fixing bugs to achieve
                 this. Actually, this is not the case. Seam was designed to make it very straightforward to build robust
                 web applications and a lot of robustness that you are probably used to having to code yourself comes
                 naturally and automatically with Seam. </para>




More information about the jboss-cvs-commits mailing list