[jboss-cvs] jboss-portal-docs/referenceGuide/en/modules ...

Julien Viet julien at jboss.com
Thu Jul 13 09:13:31 EDT 2006


  User: julien  
  Date: 06/07/13 09:13:31

  Modified:    referenceGuide/en/modules  clustering.xml
  Log:
  updated clustering doc
  
  Revision  Changes    Path
  1.9       +113 -19   jboss-portal-docs/referenceGuide/en/modules/clustering.xml
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: clustering.xml
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-portal-docs/referenceGuide/en/modules/clustering.xml,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -b -r1.8 -r1.9
  --- clustering.xml	13 Jul 2006 03:09:32 -0000	1.8
  +++ clustering.xml	13 Jul 2006 13:13:31 -0000	1.9
  @@ -81,6 +81,115 @@
            persistent state like pages. If you don't use a shared database then you will have consitency problems.</listitem>
         </itemizedlist></para>
      </sect1>
  +
  +   <sect1>
  +      <title>JBoss Portal Clustered Services</title>
  +
  +      <sect2 id="PortalSessionReplication">
  +         <title>Portal Session Replication</title>
  +         <para>The portal associates with each user an http session in order to keep specific objects such as:
  +         <itemizedlist>
  +         <listitem>Navigational state : this is mainly the state of the different portlet windows that the user will manipulate
  +         during its interactions with the portal. For instance a maximized portlet window with specific render parameters.</listitem>
  +         <listitem>WSRP objects : the WSRP protocol can require to provide specific cookies during interactions with a remote
  +         portlet.</listitem>
  +         </itemizedlist>
  +         Replicating the portal session ensures that this state will be kept in sync on the cluster, e.g he will see the portlet
  +         window he uses exactly the same on every node. The activation of the portal session replication is made through the
  +         configuration of the web application that is the main entry point of the portal. This setting is available in the file
  +         <emphasis>jboss-portal.sar/portal-server.war/WEB-INF/web.xml</emphasis></para>
  +         <para>
  +            <programlisting><![CDATA[
  +<web-app>
  +   <description>JBoss Portal</description>
  +   <!-- Comment/Uncomment to enable portal session replication -->
  +   <distributable/>
  +   ...
  +</web-app>
  +]]></programlisting>
  +         </para>
  +      </sect2>
  +
  +      <sect2>
  +         <title>Hibernate clustering</title>
  +         <para>JBoss Portal leverages hibernate for its database access. In order to improve performances it uses
  +         the caching features provided by hibernate. On a cluster the cache needs to be replicated in order
  +         to avoid state inconsistencies. Hibernate is configured with JBoss Cache which perform that synchronization transparently.
  +         Therefore the different hibernate services must be configured to use JBoss Cache, the following hibernate configurations
  +         needs to use a replicated JBoss Cache :
  +         <itemizedlist>
  +            <listitem><emphasis>jboss-portal.sar/conf/hibernate/user/hibernate.cfg.xml</emphasis></listitem>
  +            <listitem><emphasis>jboss-portal.sar/conf/hibernate/instances/hibernate.cfg.xml</emphasis></listitem>
  +            <listitem><emphasis>jboss-portal.sar/conf/hibernate/portal/hibernate.cfg.xml</emphasis></listitem>
  +            <listitem><emphasis>jboss-portal.sar/conf/hibernate/portlet/hibernate.cfg.xml</emphasis></listitem>
  +         </itemizedlist>
  +         The cache configuration should look like :
  +            <programlisting><![CDATA[
  +<!--
  +   | Uncomment in clustered mode : use transactional replicated cache
  +   -->
  +   <property name="cache.provider_class">org.jboss.portal.core.hibernate.JMXTreeCacheProvider</property>
  +   <property name="cache.object_name">portal:service=TreeCacheProvider,type=hibernate</property>
  +<!-- -->
  +
  +<!--
  +   | Comment in clustered mode
  +   <property name="cache.provider_configuration_file_resource_path">conf/hibernate/instance/ehcache.xml</property>
  +   <property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
  +-->
  +]]></programlisting>
  +         Also we need to ensure that the cache is deployed by having in the file <emphasis>jboss-portal.sar/META-INF/jboss-service.xml</emphasis>
  +         the cache service uncommented :
  +            <programlisting><![CDATA[
  +<!--
  +   | Uncomment in clustered mode : replicated cache for hibernate
  +   -->
  +   <mbean
  +   code="org.jboss.cache.TreeCache"
  +   name="portal:service=TreeCache,type=hibernate">
  +   <depends>jboss:service=Naming</depends>
  +   <depends>jboss:service=TransactionManager</depends>
  +   <attribute name="TransactionManagerLookupClass">org.jboss.cache.JBossTransactionManagerLookup</attribute>
  +   <attribute name="IsolationLevel">REPEATABLE_READ</attribute>
  +   <attribute name="CacheMode">REPL_SYNC</attribute>
  +   <attribute name="ClusterName">portal.hibernate</attribute>
  +   </mbean>
  +
  +   <mbean
  +   code="org.jboss.portal.core.hibernate.JBossTreeCacheProvider"
  +   name="portal:service=TreeCacheProvider,type=hibernate">
  +   <depends optional-attribute-name="CacheName">portal:service=TreeCache,type=hibernate</depends>
  +   </mbean>
  +<!-- -->
  +]]></programlisting>
  +         </para>
  +      </sect2>
  +
  +      <sect2>
  +         <title>Identity clustering</title>
  +         <para>JBoss Portal leverages the servlet container authentication for its own authentication mechanism. When the user
  +         is authenticated on one particular node he will have to reauthenticate again if he use another node of the cluster (during
  +         a failover for instance). This is valid only for the <emphasis>FORM</emphasis> based authentication which is the default
  +         form of authentication that JBoss Portal uses. Fortunately JBoss provides transparent reauthentication of the user called
  +         JBoss clustered SSO. Its activation is done by modifying the file <emphasis>JBOSS_HOME/server/all/deploy/jbossweb-tomcat55.sar/server.xml</emphasis>
  +         and uncommenting the clustered sso valve
  +            <programlisting><![CDATA[
  +<!-- -->
  +<Valve className="org.jboss.web.tomcat.tc5.sso.ClusteredSingleSignOn" />
  +]]></programlisting>
  +         </para>
  +      </sect2>
  +
  +      <sect2>
  +         <title>CMS clustering</title>
  +      </sect2>
  +
  +      <sect2>
  +         <title>HA Singleton</title>
  +      </sect2>
  +
  +   </sect1>
  +
      <sect1>
         <title>Portlet Session Replication</title>
         <para>Web containers offer the capability to replicate sessions of web applications. In the context of a portal using portlets the use case is different. The portal itself is a web application
  @@ -105,19 +214,7 @@
         <sect2>
            <title>JBoss Portal configuration</title>
            <para>The mandatory step to make JBoss Portal able to replicate portlet sessions is to configure
  -         the portal web application to be distributed. This setting is available in the file
  -            <emphasis>jboss-portal.sar/portal-server.war/WEB-INF/web.xml</emphasis></para>
  -         <para>
  -            <programlisting>
  -               <![CDATA[
  -<web-app>
  -   <description>JBoss Portal</description>
  -   <!-- Comment/Uncomment to enable portal session replication -->
  -   <distributable/>
  -   ...
  -</web-app>
  -]]></programlisting>
  -         </para>
  +         the portal web application to be distributed which is explained in <xref linkend="PortalSessionReplication"/></para>
         </sect2>
         <sect2>
            <title>Portlet configuration</title>
  @@ -127,8 +224,7 @@
               <listitem>Configure your portlet to be distributed in the <emphasis>/WEB-INF/jboss-portlet.xml</emphasis> file.</listitem>
            </itemizedlist>
            <para>
  -            <programlisting>
  -<![CDATA[
  +            <programlisting><![CDATA[
   <web-app>
      ...
      <listener>
  @@ -142,8 +238,7 @@
         </caption>
            </para>
            <para>
  -            <programlisting>
  -<![CDATA[
  +            <programlisting><![CDATA[
   <portlet-app>
      ...
      <portlet>
  @@ -175,8 +270,7 @@
                  on the portlet session object in order to trigger replication by the container.</listitem>
            </itemizedlist>
            <para>
  -            <programlisting>
  -<![CDATA[
  +            <programlisting><![CDATA[
   public void processAction(ActionRequest req, ActionResponse resp) throws PortletException, IOException
   {
      ...
  
  
  



More information about the jboss-cvs-commits mailing list