You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dm...@apache.org on 2020/03/26 17:49:22 UTC

svn commit: r1875725 [9/9] - in /ignite/site/branches/ignite-redisign: ./ css/ images/ includes/ js/ scss/ use-cases/caching/

Modified: ignite/site/branches/ignite-redisign/screencasts.html
URL: http://svn.apache.org/viewvc/ignite/site/branches/ignite-redisign/screencasts.html?rev=1875725&r1=1875724&r2=1875725&view=diff
==============================================================================
--- ignite/site/branches/ignite-redisign/screencasts.html (original)
+++ ignite/site/branches/ignite-redisign/screencasts.html Thu Mar 26 17:49:21 2020
@@ -49,172 +49,123 @@ under the License.
         <h1 >Apache Ignite <strong>Screencasts</strong></h1>
 </div>
 </header>
-<div class="container">
+<div class="container" id="screencasts">
 
         <p>Ignite's memory-centric architecture  provides rich support for SQL queries including distributed joins, full ACID transactions, key-value data store, collocated processing, elastic scalability, and high availability.</p><br/>
         <p>Take a look at how this works.</p>
 
         
             <div class="row">
-                    <div class="col-sm-4 ">
+                    <div class="col-md-4">
                         
-                        <!-- Trigger Modal -->
-                        <a href="#sql-db-modal" data-toggle="modal"><img src="/images/video-screen-2.jpg" alt="Video Screenshot" width="300" height="180">
-                        <p class="video-image-text">DISTRIBUTED SQL <br/>DATABASE </p></a>
-                        <span class="screencast-duration">02:59</span>
-
-                        <!-- Modal HTML -->
-                        <div id="sql-db-modal" class="modal fade">
-                            <div class="modal-dialog">
-                                <div class="modal-content video-modal-content" >
-                                    <div class="modal-header">
-                                        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-                                        <h4 class="modal-title">Apache Ignite&reg; Distributed SQL Database</h4>
-                                    </div>
-                                    <div class="modal-body">
-                                        <iframe id="sql-db" width="668" height="400" src="https://www.youtube.com/embed/FKS8A86h-VY?rel=0" frameborder="0" allowfullscreen></iframe>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
+                        <a class="video" data-target="#videoModal" href="#sql-db-modal"  data-title="Apache Ignite&reg; Distributed SQL Database" data-video-url="https://www.youtube.com/embed/FKS8A86h-VY?rel=0" data-toggle="modal">
+                            <p>DISTRIBUTED SQL <br/>DATABASE </p>
+                            <span>02:59</span>
+                        </a>
+                    
                     </div>
 
-                    <div class="col-sm-4 ">
+                    <div class="col-md-4">
                         
-                        <!-- Trigger Modal -->
-                        <a href="#data-grid-modal" data-toggle="modal"><img src="/images/video-screen-2.jpg" alt="Video Screenshot" width="300" height="180">
-                        <p class="video-image-text">KEY-VALUE OPERATIONS<br/>AND ACID TRANSACTIONS </p></a>
-                        <span class="screencast-duration">03:49</span>
-
-                        <!-- Modal HTML -->
-                        <div id="data-grid-modal" class="modal fade">
-                            <div class="modal-dialog">
-                                <div class="modal-content video-modal-content">
-                                    <div class="modal-header">
-                                        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-                                        <h4 class="modal-title">Apache Ignite&reg; Distributed Cache Operations and Transactions</h4>
-                                    </div>
-                                    <div class="modal-body">
-                                        <iframe id="data-grid" width="668" height="400" src="https://www.youtube.com/embed/pFbDWpOiMOU?rel=0" frameborder="0" allowfullscreen></iframe>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
+                        <a class="video" data-target="#videoModal" href="#data-grid-modal" data-toggle="modal"  data-title="Apache Ignite&reg; Distributed Cache Operations and Transactions" data-video-url="https://www.youtube.com/embed/pFbDWpOiMOU?rel=0">
+                            
+                        <p >KEY-VALUE OPERATIONS<br/>AND ACID TRANSACTIONS </p>
+                        <span>03:49</span>
+                    </a>
+
                     </div>
 
-                    <div class="col-sm-4 ">
+                    <div class="col-md-4">
                         
-                        <!-- Trigger Modal -->
-                        <a href="#clustering-modal" data-toggle="modal"><img src="/images/video-screen-2.jpg" alt="Video Screenshot" width="300" height="180">
-                        <p class="video-image-text">GETTING STARTED<br/> WITH COMPUTE GRID</p></a>
-                        <span class="screencast-duration">03:50</span>
-
-                        <!-- Modal HTML -->
-                        <div id="clustering-modal" class="modal fade">
-                            <div class="modal-dialog">
-                                <div class="modal-content video-modal-content">
-                                    <div class="modal-header">
-                                        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-                                        <h4 class="modal-title">Apache Ignite&reg; Advanced Clustering</h4>
-                                    </div>
-                                    <div class="modal-body">
-                                        <iframe id="clustering" width="668" height="400" src="https://www.youtube.com/embed/J775J77_-B8?rel=0" frameborder="0" allowfullscreen></iframe>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
+                        <a class="video" data-target="#videoModal" href="#clustering-modal" data-toggle="modal"  data-title="Apache Ignite&reg; Advanced Clustering" data-video-url="https://www.youtube.com/embed/J775J77_-B8?rel=0">
+                            
+                            <p >GETTING STARTED<br/> WITH COMPUTE GRID</p>
+                            <span>03:50</span>
+                        </a>                    
                     </div>
-                    
-                </div>
+            </div>
 
 
 
-                <h2>Ignite Web Console - Automatic RDBMS Integration</h2>
-                <p >This tutorial is divided in to 3 parts- Part 1 shows how to automatically import schema metadata from an RDBMS;
-                        Part 2 shows how to start an Ignite cluster and load data from the database; Part 3 shows how to use Ignite web console to run sql queries on distributed data stored across the cluster. </p>
-
-                <div class="row">
-                    <div class="col-sm-4">
-                        
-                        <!-- Trigger Modal -->
-                        <a href="#database-import-modal" data-toggle="modal"><img src="/images/video-screen-2.jpg" alt="Video Screenshot" width="300" height="180">
-                            <p class="video-image-text">Part 1 <br/>Database Model Import</p></a>
-                        
-                        <span class="screencast-duration">03:50</span>
-                        <!-- Modal HTML -->
-                        <div id="database-import-modal" class="modal fade">
-                            <div class="modal-dialog">
-                                <div class="modal-content video-modal-content" >
-                                    <div class="modal-header">
-                                        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-                                        <h4 class="modal-title">Ignite Web Console - Automatic RDBMS Integration - Part 1</h4>
-                                    </div>
-                                    <div class="modal-body">
-                                        <iframe id="database-import" width="668" height="400" src="https://www.youtube.com/embed/SJ6h55VhUBI" frameborder="0" allowfullscreen></iframe>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
+            <h2>Ignite Web Console - Automatic RDBMS Integration</h2>
+            <p >This tutorial is divided in to 3 parts- Part 1 shows how to automatically import schema metadata from an RDBMS;
+                    Part 2 shows how to start an Ignite cluster and load data from the database; Part 3 shows how to use Ignite web console to run sql queries on distributed data stored across the cluster. </p>
 
-                    <div class="col-sm-4">
+            <div class="row">
+                <div class="col-md-4">
+                    
+                    
+                    <a class="video" data-target="#videoModal" href="#database-import-modal" data-toggle="modal"  data-title="Ignite Web Console - Automatic RDBMS Integration - Part 1" data-video-url="https://www.youtube.com/embed/SJ6h55VhUBI">
                         
-                        <!-- Trigger Modal -->
-                        <a href="#data-loading-modal" data-toggle="modal"><img src="/images/video-screen-2.jpg" alt="Video Screenshot" width="300" height="180">
-                            <p class="video-image-text">Part 2 <br/>Data Loading</p></a>
-                        <span class="screencast-duration">03:25</span>
-
-                        <!-- Modal HTML -->
-                        <div id="data-loading-modal" class="modal fade">
-                            <div class="modal-dialog">
-                                <div class="modal-content video-modal-content">
-                                    <div class="modal-header">
-                                        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-                                        <h4 class="modal-title">Ignite Web Console - Automatic RDBMS Integration - Part 2</h4>
-                                    </div>
-                                    <div class="modal-body">
-                                        <iframe id="data-loading" width="668" height="400" src="https://www.youtube.com/embed/V7O7Nh0btO4" frameborder="0" allowfullscreen></iframe>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
+                        <p >Part 1 <br/>Database Model Import</p>
+                        <span>03:50</span>
+                    </a>
+                    
+                </div>
 
-                    <div class="col-sm-4">
-                        <!-- Trigger Modal -->
-                        <a href="#webconsole-sql-modal" data-toggle="modal"><img src="/images/video-screen-2.jpg" alt="Video Screenshot" width="300" height="180">
-                            <p class="video-image-text">Part 3 <br/>Running SQL Queries</p></a>
-                        
-                        <span class="screencast-duration">03:27</span>
-                        
-                        <!-- Modal HTML -->
-                        <div id="webconsole-sql-modal" class="modal fade">
-                            <div class="modal-dialog">
-                                <div class="modal-content video-modal-content">
-                                    <div class="modal-header">
-                                        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-                                        <h4 class="modal-title">Ignite Web Console - Automatic RDBMS Integration - Part 3</h4>
-                                    </div>
-                                    <div class="modal-body">
-                                        <iframe id="webconsole-sql" width="668" height="400" src="https://www.youtube.com/embed/XBtI2Z01kAA" frameborder="0" allowfullscreen></iframe>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
+                <div class="col-md-4">
+                    
+                    <a class="video" data-target="#videoModal" href="#data-loading-modal" data-toggle="modal"  data-title="Ignite Web Console - Automatic RDBMS Integration - Part 2" data-video-url="https://www.youtube.com/embed/V7O7Nh0btO4">
+                        
+                        <p >Part 2 <br/>Data Loading</p>
+                        <span>03:25</span>
+                    </a>
 
+                </div>
 
+                <div class="col-md-4">
                     
+                    <a class="video" data-target="#videoModal" href="#webconsole-sql-modal" data-toggle="modal"  data-title="Ignite Web Console - Automatic RDBMS Integration - Part 3" data-video-url="https://www.youtube.com/embed/XBtI2Z01kAA">
+                        
+                        <p >Part 3 <br/>Running SQL Queries</p>
+                        <span>03:27</span>
+                    </a>
                 </div>
 
+
+                
             </div>
 
+
+            
+
+
+
+            <div aria-hidden="true" aria-labelledby="videoModal" class="modal fade" id="videoModal" role="dialog"
+             tabindex="-1">
+            <div class="modal-dialog" role="document">
+                <div class="modal-content">
+                    <div class="modal-header">
+                        <button aria-label="Close" class="close" data-dismiss="modal" type="button"><span aria-hidden="true">&times;</span></button>
+                        <h4 class="modal-title"></h4>
+                    </div>
+
+                    <div class="modal-body">
+                        <iframe id="data-grid" src="" frameborder="0" allowfullscreen=""></iframe>
+                    </div>
+
+                </div>
+            </div>
+        </div>
+
+        </div>
+
 </article>
     <!--#include virtual="/includes/footer.html" -->
 
 <!--#include virtual="/includes/scripts.html" -->
-<!--
-<script type="text/javascript" src="js/jquery.main.js"></script>
--->
+
+<script type="text/javascript">
+    jQuery('#videoModal').on('show.bs.modal', function(event){
+        console.log(jQuery(event.relatedTarget));
+        
+        const title = jQuery(event.relatedTarget).data('title');
+        jQuery(this).find('h4').text(title);
+
+        const video = jQuery(event.relatedTarget).data('video-url');
+        jQuery(this).find('iframe').attr('src', video);
+    });
+
+</script>
 </body>
 </html>

Modified: ignite/site/branches/ignite-redisign/scss/ignite-redesign.scss
URL: http://svn.apache.org/viewvc/ignite/site/branches/ignite-redisign/scss/ignite-redesign.scss?rev=1875725&r1=1875724&r2=1875725&view=diff
==============================================================================
Binary files - no diff available.

Modified: ignite/site/branches/ignite-redisign/use-cases/caching/hibernate-l2-cache.html
URL: http://svn.apache.org/viewvc/ignite/site/branches/ignite-redisign/use-cases/caching/hibernate-l2-cache.html?rev=1875725&r1=1875724&r2=1875725&view=diff
==============================================================================
--- ignite/site/branches/ignite-redisign/use-cases/caching/hibernate-l2-cache.html (original)
+++ ignite/site/branches/ignite-redisign/use-cases/caching/hibernate-l2-cache.html Thu Mar 26 17:49:21 2020
@@ -39,66 +39,63 @@ under the License.
     <title>Hibernate Second-Level Cache Use Case - Apache Ignite</title>
     <!--#include virtual="/includes/styles.html" -->
 
-    <!--#include virtual="/includes/sh.html" -->
 </head>
 <body>
-<div id="wrapper">
     <!--#include virtual="/includes/header.html" -->
+<article>
+    <header>
+        <div class="container">
+            <h1 >Second-Level Cache <strong>for Hibernate</strong></h1>
+        </div>
+    </header>
 
-    <main id="main" role="main" class="container">
-        <section id="hibernate-l2-cache" class="page-section">
-            <h1 class="first">Second-Level Cache for Hibernate</h1>
-            <div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 20px 0;">
-                <div class="col-sm-6 col-md-6 col-xs-12" style="padding-left:0;">
-                    <p>
-                        Hibernate stores data in first-level (L1) cache to minimize expensive database requests. However,
-                        this data is cached per Hibernate session and is not shared among threads. A common solution here is
-                        to configure a second-level (L2) cache.
-                    </p>
-                    <p>
-                        Ignite In-Memory Data Grid can be plugged in as Hibernate second-level (L2) cache.
-                        Accessible by all sessions, Ignite Data Grid can significantly accelerate the performance of your
-                        application by reducing the data access time.
-                    </p>
-                    <div class="page-heading">How Hibernate Caching Works</div>
-                    <p>
-                        Hibernate first-level (L1) cache is associated with the session object, the scope of which
-                        is limited to a single session. Objects cached in one session are not shared with another,
-                        which means that a request for the same entity by another session
-                        will still go to the database.
-                    </p>
-                </div>
-                <div class="col-sm-6 col-md-6 col-xs-12" style="padding-right:0">
-                    <img class="img-responsive" src="/images/hibernate-L2-cache.png" width="500px" style="float:right;"/>
-                </div>
-            </div>
-            <div class="page-heading">Ignite as Hibernate L2 Cache</div>
-            <p>
-                To overcome the issue of per-session cache, a global second-level (L2) cache can be configured,
-                in which cached objects are visible to all sessions. This usually gives a significantly greater
-                performance gain since each newly created session now has access to the data already present in
-                the L2 cache memory.
-            </p>
-            <p>
-                Apache Ignite can be plugged-in as Hibernate L2 cache implementation, and can be used in all access
-                modes - <code>READ_ONLY</code>, <code>READ_WRITE</code>, <code>NONSTRICT_READ_WRITE</code>, and
-                <code>TRANSACTIONAL</code>, supporting a wide range of related features:
-            <ul class="page-list">
-                <li>On-Heap and Off-Heap in-memory stores, as well as disk overflow.</li>
-                <li>Cache transactions, that make <code>TRANSACTIONAL</code> mode possible.</li>
-                <li>Clustering, with 2 different replication modes: <code>REPLICATED</code> and <code>PARTITIONED</code></li>
-            </ul>
-            </p>
-            <p>
-                <a href="https://apacheignite-mix.readme.io/docs/hibernate-l2-cache">
-                    <b>Configure Hibernate L2 Cache <i class="fa fa-angle-double-right"></i></b>
-                </a>
-            </p>
-        </section>
-    </main>
-
+    <div class="container">
+        <p>
+            Hibernate stores data in first-level (L1) cache to minimize expensive database requests. However,
+            this data is cached per Hibernate session and is not shared among threads. A common solution here is
+            to configure a second-level (L2) cache.
+        </p>
+        <img class="img-responsive diagram-right" src="/images/hibernate-L2-cache.png" />
+        <p>
+            Ignite In-Memory Data Grid can be plugged in as Hibernate second-level (L2) cache.
+            Accessible by all sessions, Ignite Data Grid can significantly accelerate the performance of your
+            application by reducing the data access time.
+        </p>
+        <h2>How Hibernate Caching Works</h2>
+        <p>
+            Hibernate first-level (L1) cache is associated with the session object, the scope of which
+            is limited to a single session. Objects cached in one session are not shared with another,
+            which means that a request for the same entity by another session
+            will still go to the database.
+        </p>
+            
+            
+        <h2>Ignite as Hibernate L2 Cache</h2>
+        <p>
+            To overcome the issue of per-session cache, a global second-level (L2) cache can be configured,
+            in which cached objects are visible to all sessions. This usually gives a significantly greater
+            performance gain since each newly created session now has access to the data already present in
+            the L2 cache memory.
+        </p>
+        <p>
+            Apache Ignite can be plugged-in as Hibernate L2 cache implementation, and can be used in all access
+            modes - <code>READ_ONLY</code>, <code>READ_WRITE</code>, <code>NONSTRICT_READ_WRITE</code>, and
+            <code>TRANSACTIONAL</code>, supporting a wide range of related features:
+        <ul class="page-list">
+            <li>On-Heap and Off-Heap in-memory stores, as well as disk overflow.</li>
+            <li>Cache transactions, that make <code>TRANSACTIONAL</code> mode possible.</li>
+            <li>Clustering, with 2 different replication modes: <code>REPLICATED</code> and <code>PARTITIONED</code></li>
+        </ul>
+        </p>
+        <p>
+            <a href="https://apacheignite-mix.readme.io/docs/hibernate-l2-cache">
+                <b>Configure Hibernate L2 Cache <i class="fa fa-angle-double-right"></i></b>
+            </a>
+        </p>
+    </div>  
+</article>        
     <!--#include virtual="/includes/footer.html" -->
-</div>
+
 <!--#include virtual="/includes/scripts.html" -->
 </body>
 </html>

Modified: ignite/site/branches/ignite-redisign/use-cases/caching/jcache-provider.html
URL: http://svn.apache.org/viewvc/ignite/site/branches/ignite-redisign/use-cases/caching/jcache-provider.html?rev=1875725&r1=1875724&r2=1875725&view=diff
==============================================================================
--- ignite/site/branches/ignite-redisign/use-cases/caching/jcache-provider.html (original)
+++ ignite/site/branches/ignite-redisign/use-cases/caching/jcache-provider.html Thu Mar 26 17:49:21 2020
@@ -42,55 +42,55 @@ under the License.
     <title>JCache Provider - Apache Ignite</title>
     <!--#include virtual="/includes/styles.html" -->
 
-    <!--#include virtual="/includes/sh.html" -->
+
 </head>
 <body>
-<div id="wrapper">
-    <!--#include virtual="/includes/header.html" -->
-
-    <main id="main" role="main" class="container">
-        <section id="jcache" class="page-section">
-            <h1 class="first">JCache Provider (JSR 107)</h1>
-            <div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 20px 0;">
-                <div class="col-sm-6 col-md-7 col-xs-12" style="padding-left:0;">
-                    <p>
-                        Ignite data grid is an implementation of <code>JCache (JSR 107)</code> specification.
-                        JCache provides a very simple to use, but yet very powerful API for data access.
-                        However, the specification purposely omits any details about data distribution and consistency to
-                        allow vendors enough freedom in their own implementations.
-                    </p>
 
-                    <p>
-                        With JCache support you get the following:
-                        <ul class="page-list">
-                            <li>In-Memory Key Value Store</li>
-                            <li>Basic Cache Operations</li>
-                            <li>ConcurrentMap APIs</li>
-                            <li>Collocated Processing (EntryProcessor)</li>
-                            <li>Events and Metrics</li>
-                            <li>Pluggable Persistence</li>
-                        </ul>
-                    </p>
-                </div>
-                <div class="col-sm-6 col-md-5 col-xs-12" style="padding-right:0">
-                    <img class="img-responsive" src="/images/data_grid.png" width="500px" style="float:right;"/>
-                </div>
-            </div>
-            <div class="page-heading">Vendor Neutrality</div>
+    <!--#include virtual="/includes/header.html" -->
+<article>
+    <header>
+        <div class="container">
+            <h1 >JCache Provider <strong>(JSR 107)</strong></h1>
+        </div>
+    </header>
+    <div class="container">
+        <p>
+            Ignite data grid is an implementation of <code>JCache (JSR 107)</code> specification.
+            JCache provides a very simple to use, but yet very powerful API for data access.
+            However, the specification purposely omits any details about data distribution and consistency to
+            allow vendors enough freedom in their own implementations.
+        </p>
+        <img class="img-responsive diagram-right" src="/images/data_grid.png" />
+        <p>
+            With JCache support you get the following:
+            <ul class="page-list">
+                <li>In-Memory Key Value Store</li>
+                <li>Basic Cache Operations</li>
+                <li>ConcurrentMap APIs</li>
+                <li>Collocated Processing (EntryProcessor)</li>
+                <li>Events and Metrics</li>
+                <li>Pluggable Persistence</li>
+            </ul>
+        </p>
+                
+                
+        
+                
+                    
+        <h2> Neutrality</h2>
             <p>
                 Support for JCache API allows applications to be vendor neutral, making it relatively
                 easy to switch between JCache supporting products.
             </p>
-            <div class="page-heading">Additional Features</div>
+            <h2>Additional Features</h2>
             <p>
                 In addition to JCache, Ignite provides ACID transactions,
                 distributed ACID transactions, scan and continuous queries, collocated processing, and much more.
             </p>
-        </section>
-    </main>
-
+    </div>
+</article>
     <!--#include virtual="/includes/footer.html" -->
-</div>
+
 <!--#include virtual="/includes/scripts.html" -->
 </body>
 </html>

Modified: ignite/site/branches/ignite-redisign/use-cases/caching/web-session-clustering.html
URL: http://svn.apache.org/viewvc/ignite/site/branches/ignite-redisign/use-cases/caching/web-session-clustering.html?rev=1875725&r1=1875724&r2=1875725&view=diff
==============================================================================
--- ignite/site/branches/ignite-redisign/use-cases/caching/web-session-clustering.html (original)
+++ ignite/site/branches/ignite-redisign/use-cases/caching/web-session-clustering.html Thu Mar 26 17:49:21 2020
@@ -39,45 +39,44 @@ under the License.
     <title>Web Session Clustering - Apache Ignite</title>
     <!--#include virtual="/includes/styles.html" -->
 
-    <!--#include virtual="/includes/sh.html" -->
+    
 </head>
 <body>
-<div id="wrapper">
-    <!--#include virtual="/includes/header.html" -->
 
-    <main id="main" role="main" class="container">
-        <section id="web-session-caching" class="page-section">
-            <h1 class="first">Web Session Clustering</h1>
-            <div class="col-sm-12 col-md-12 col-xs-12" style="padding:0 0 20px 0;">
-                <div class="col-sm-6 col-md-7 col-xs-12" style="padding-left:0;">
+    <!--#include virtual="/includes/header.html" -->
+<article>
+    <header>
+        <div class="container">
+            <h1>Web Session <strong>Clustering</strong></h1>
+        </div>
+    </header>
+    <div class="container">
 
-                    <p>
-                        Apache Ignite is capable of caching web sessions of all Java Servlet containers that
-                        follow Java Servlet 3.0 Specification, including Apache Tomcat, Eclipse Jetty, Oracle WebLogic, and others.
-                    </p>
-                    <div class="page-heading">Horizontal Scalability</div>
-                    <p>
-                        Ignite Web Sessions Cache is a distributed cache that maintains a copy of all web sessions’ data in memory.
-                        In case of an application server failure, web requests get routed to another application server that
-                        simply fetches the web session data from Ignite distributed cache.
-                    </p>
-                    <div class="page-heading">Fault Tolerance</div>
-                    <p>
-                        Ignite ensures fault tolerance by either replicating or partitioning the sessions' data
-                        across all cluster nodes. Ignite guarantees that no session is ever lost, providing a
-                        better user experience.
-                    </p>
-                </div>
-                <div class="col-sm-6 col-md-5 col-xs-12" style="padding-right:0">
-                    <img class="img-responsive" src="/images/web_sessions.png" width="440px" style="float:right;"/>
-                </div>
-            </div>
-            <div class="page-heading">No Sticky Sessions</div>
+            <p>
+                Apache Ignite is capable of caching web sessions of all Java Servlet containers that
+                follow Java Servlet 3.0 Specification, including Apache Tomcat, Eclipse Jetty, Oracle WebLogic, and others.
+            </p>
+            <img class="img-responsive diagram-right" src="/images/web_sessions.png" />
+            <h2>Horizontal Scalability</h2>
+            <p>
+                Ignite Web Sessions Cache is a distributed cache that maintains a copy of all web sessions’ data in memory.
+                In case of an application server failure, web requests get routed to another application server that
+                simply fetches the web session data from Ignite distributed cache.
+            </p>
+            <h2>Fault Tolerance</h2>
+            <p>
+                Ignite ensures fault tolerance by either replicating or partitioning the sessions' data
+                across all cluster nodes. Ignite guarantees that no session is ever lost, providing a
+                better user experience.
+            </p>
+                
+                    
+            <h2>No Sticky Sessions</h2>
             <p>
                 With web session caching, sticky connections become less important as sessions are now available
                 on any application server the web request may be routed to.
             </p>
-            <div class="page-heading">Plug-n-Play</div>
+            <h2>Plug-n-Play</h2>
             <p>
                 Ignite web session clustering automatically plugs into any application server or servlet container.
             </p>
@@ -86,11 +85,10 @@ under the License.
                     <b>Configure Web Session Clustering <i class="fa fa-angle-double-right"></i></b>
                 </a>
             </p>
-        </section>
-    </main>
-
+        </div>
+        </article>        
     <!--#include virtual="/includes/footer.html" -->
-</div>
+
 <!--#include virtual="/includes/scripts.html" -->
 </body>
 </html>