You are hereInkriti Ideas / Websphere Commerce / Byline Article - Websphere Commerce : Issues with RapidAssetStore

Byline Article - Websphere Commerce : Issues with RapidAssetStore


High Level Findings : Issues with an e-commerce site rolled out on Websphere Commerce's RapidAssetStore


  • It looks like the site uses standard JSP templates that are part of the RapidAssetStore
  • Based on experience of other firms , it seems to be generally accepted that these templates have several limitations, along lines of functionality, bugs, cross-browser issues etc.
  • Importantly, they do not expose several important merchandising and marketing functions (such as cross-sells, upsells etc)
Generic
1.       Once on https, the site does not switch back to http even for non-secure pages - performance issue. Example - proceed to cart/checkout and then navigate to home/product pages - these pages still get served over https
2.      Lot of CSS errors - color codes are wrong (#c00000000), spelling mistakes (padiing), wrong syntax for comments (* used instead of /**/), wrong usage of constructor (wc.analytics.CoremetricsEventListener())
 
Repeated Tags
 
<fmt:setlocale value="en_US">
<fmt:setbundle basename="/Thepcf/storetext" var="storeText">
 </fmt:setbundle></fmt:setlocale></fmt:setbundle></fmt:setlocale></fmt:setbundle></fmt:setlocale>
 
 
 
Tags not closed properly (closing tags are repeated)
 
- (?) printed as-is in the page - probably missing taglib page directive in the page
- firefox ignored the extra closing tags - need to check if in IE6 has an issue with that
 
Repeated script tags:
 
<script>
Environment = {
    langId: '-1',
    storeId: '10201',
    catalogId: '10101',
    storeImgDir: '/wcsstore/Thepcf/',
    jspStoreImgDir: '/wcsstore/RAPIDStorefrontAssetStore/',
    storeDir: '/Thepcf/',
    jspStoreDir: '/RAPIDStorefrontAssetStore/',
    vfileStylesheet: 'css/Master2_1.css',
    storeCSS: 'css/tpf.css',
    storePrintCSS: 'css/tpf_print.css',
    isProdCoremetrics: true
}
</script>
 
Also a lot of javascript code inside <body> tag
 
Inline javascripts for Dojo AJAX
  • should be in an include file. if in include file, browser can cache the dojo scripts - page size and response time will reduce
  • otherwise the javascript code will get downloaded in all the pages that have inline code
 
The rendered page has lot of whitespaces
  • will increase the size of page sent to browser - network time more. not a clean code
 
Divs and tables are mixed
 
Comments on RapidAssetStore
 
  • It looks like the site uses standard JSP templates that are part of the RapidAssetStore
  • Based on experience of other firms, it seems to be generally accepted that these templates have several limitations, along lines of functionality, bugs, cross-browser issues etc.
  • Importantly, they do not expose several important merchandising and marketing functions (such as cross-sells, upsells etc)
 
Other Generic Ideas
 
Dynacache
Need to check if website uses basic dynamic caching (dynacache). Some possible areas to consider :
·         Cache a full-page and a page fragment.
·         Invalidate cache-entries using a variety of techniques.
·         Build cache-ids from different components.
·         Use the dynacache APIs not to cache.
·         Cache full-page and page fragments on the edge.
·         Understand the additional requirements to cache in a production environment.
 
Good WS Commerce Standards
  • Right hardware capacity to handle workload (hardware planning)
  •  Migrating to newer Commerce releases (for latest software fixes from IBM) OR apply latest patches.
  •  Performance testing using Tivoli Performance Tester
  •  Proactively monitor commerce site to prevent potential problems by using WebSphere Application Server build-in tools and Tivoli's Composite Application Management
  •  WebSphereCommerce has known bugs. It's better not to touch the code for WebSphere Commerce - a wise approach is to look at code that customized/extended Commerce APIs
  • WebSphere Commerce built using EJBs and as such has built-in performance issues
  • Which database is being used for thepcf site - DB2 or some other DB? Does Commerce perform better of the dB is DB2? (JDBC driver related performance issues)
 
Tuning WS Commerce Heap Size
  • For many J2EE sites, a sensitive performance tuning area is the java heap size.  Since Commerce is heavy on EJBs, heap size tuning will affect the performance. Increasing heap size beyond a limit might bring down performance due to larger overhead associated with garbage collection.  Optimal heap size can change with changes to the application - either hardware or the codebase - and hence need to be tuned continually. One way to arrive at the optimal size is to measure peak transactions-per-minute with the heap size being tried.