<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>As it is.</title>
	<atom:link href="http://sarona.co.uk/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://sarona.co.uk/blog</link>
	<description>The way we see things &#38; the way we do things</description>
	<lastBuildDate>Fri, 13 Apr 2012 17:17:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Setting StartNum value for StagingProp in WebSphere Commerce</title>
		<link>http://sarona.co.uk/blog/2012/04/setting-startnum-value-for-stagingprop-in-websphere-commerce/</link>
		<comments>http://sarona.co.uk/blog/2012/04/setting-startnum-value-for-stagingprop-in-websphere-commerce/#comments</comments>
		<pubDate>Fri, 13 Apr 2012 17:17:47 +0000</pubDate>
		<dc:creator>Bleddyn</dc:creator>
				<category><![CDATA[eCommerce]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[WebSphere]]></category>
		<category><![CDATA[stagingprop]]></category>
		<category><![CDATA[staglog]]></category>
		<category><![CDATA[startnum]]></category>
		<category><![CDATA[WebSphere Commerce]]></category>

		<guid isPermaLink="false">http://sarona.co.uk/blog/?p=137</guid>
		<description><![CDATA[When you run the stagingprop utility in WebSphere Commerce it uses entries from the staglog table.  One thing that it does in order to make that lookup faster is get the starting record, because your staglog table could have a lot of entries.  It will try and process all records where stgprocessed = 0, but [...]]]></description>
			<content:encoded><![CDATA[<p>When you run the stagingprop utility in WebSphere Commerce it uses entries from the staglog table.  One thing that it does in order to make that lookup faster is get the starting record, because your staglog table could have a lot of entries.  It will try and process all records where stgprocessed = 0, but that number is important.  if for example you ever have issues and set your staglog records to a different number in order to get stagingprop to run, then it will now start at a record number greater than records you may want to run again.</p>
<p>In order to see and to set the starting number run the following SQL</p>
<p>SELECT * FROM staglog WHERE stgrfnbr=0</p>
<p>This is the base record you will always have one in staglog and you should never delete it.</p>
<p>Update the entry in the stgpkey field in order to change the starting record where staglog will start looking for entries where stgprocessed = 0.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://sarona.co.uk/blog/2012/04/setting-startnum-value-for-stagingprop-in-websphere-commerce/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Madisons Native Android Application</title>
		<link>http://sarona.co.uk/blog/2011/12/madisons-native-android-application/</link>
		<comments>http://sarona.co.uk/blog/2011/12/madisons-native-android-application/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 13:34:48 +0000</pubDate>
		<dc:creator>Bleddyn</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[eCommerce]]></category>
		<category><![CDATA[WebSphere]]></category>
		<category><![CDATA[Madisons]]></category>
		<category><![CDATA[Native]]></category>
		<category><![CDATA[WebSphere Commerce]]></category>

		<guid isPermaLink="false">http://sarona.co.uk/blog/?p=128</guid>
		<description><![CDATA[I have been following the steps to try and deploy the WebSphere Commerce V7 Feature Pack 4 Native Android application. Although this was not the first issue I encountered but the last, the first thing to do is make sure the JDK you use is 1.6.  I initially had 1.7 setup it was the latest [...]]]></description>
			<content:encoded><![CDATA[<p>I have been following the steps to try and deploy the WebSphere Commerce V7 Feature Pack 4 Native Android application.</p>
<p>Although this was not the first issue I encountered but the last, the first thing to do is make sure the JDK you use is 1.6.  I initially had 1.7 setup it was the latest and greatest when I followed the instructions for setting up the SDK that the Info Centre pointed me at.  Given there are no instructions on how they have written the sample app on the IBM site, made sense to me.  But once I resolved the two problems below I had a whole load of red errors about</p>
<p>the method onCLick(view) of type new &#8230;</p>
<p>A Google on this indicated along the lines of this, especially when I looked at the code flagging the errors</p>
<p>Since Java 1.6 the annotation @Override is not only possible for inherited methods from a superclass but also for implemented methods from an interface. But if your compiler is still set to 1.5 the problem is that he will check if you&#8217;re overwriting a method from a super class.</p>
<p>So my guess is in 1.7 something changed again.  Once I got the 1.6 JDK installed and set up within Eclipse and cleaned the project all the errors went, just a few warnings left.  So get 1.6 for your JDK not 1.7.</p>
<p>Next when I installed the Android SDK it download the latest API 14 files. I installed Eclipse set the Path and as soon as I imported the Android Application I got the following error</p>
<p>Madisons-AndroidNativeMobile Unable to resolve target &#8216;Google Inc.:Google APIs:8&#8242;</p>
<p>What this means is I am missing the Level 8 API&#8217;s and have to import them into the Eclipse environment. You can either use the Window &#8211; Android SDK Manager option within the Eclipse environment. Otherwise use the Android SDK Manager itself.  I did find that until I closed and then opened the Eclipse environment I still had the error, not sure if you will get the same thing.  Just make sure the SDK manager reloads everything OK.</p>
<p>Then when I restarted I now saw a different error, now this is due to me having 1.7 installed but worth a mention.  if you go with 1.6 you won&#8217;t see this.</p>
<p>Madisons-AndroidNativeMobile] Android requires compiler compliance level 5.0 or 6.0. Found &#8217;1.4&#8242; instead. Please use Android Tools &gt; Fix Project properties.</p>
<p>You can find this by right clicking on the project and it is near the bottom if the options.  if you look in the properties of the application as well and click on &#8216;Java Compiler&#8217;  you can see the compiler compliance level if you let the environment do the setting it goes to 1.5 (V5) you can select 1.6 (6) this seems to be OK.  Not sure if it is best to be on 6 or not?</p>
<p>Hopefully I can now build and deploy the app and see what it does.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://sarona.co.uk/blog/2011/12/madisons-native-android-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Error uploading file assets in Firefox with WebSphere Commerce Management Centre V7</title>
		<link>http://sarona.co.uk/blog/2011/11/error-uploading-file-assets-in-firefox-with-websphere-commerce-management-centre-v7/</link>
		<comments>http://sarona.co.uk/blog/2011/11/error-uploading-file-assets-in-firefox-with-websphere-commerce-management-centre-v7/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 12:39:13 +0000</pubDate>
		<dc:creator>Bleddyn</dc:creator>
				<category><![CDATA[eCommerce]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[WebSphere]]></category>
		<category><![CDATA[file upload]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[management centre]]></category>

		<guid isPermaLink="false">http://sarona.co.uk/blog/?p=109</guid>
		<description><![CDATA[Although this link is from the Info Centre for WebSphere Commerce V7, a quick google gave up nothing useful, so I thought this might generate some hits. I have the Madisons sample store deployed on a server and I was using Firefox to get into Management Center. However when I wanted to create file assets [...]]]></description>
			<content:encoded><![CDATA[<p>Although this link is from the Info Centre for WebSphere Commerce V7, a quick google gave up nothing useful, so I thought this might generate some hits.</p>
<p>I have the Madisons sample store deployed on a server and I was using Firefox to get into Management Center. However when I wanted to create file assets I got an error saying it could not complete.</p>
<p>Looking at the systemout.log file I could see a</p>
<p>wcfServiceDataset onIOError while invoking URL [/lobtools/cmc/AttachmentFileUpload</p>
<p>Nothing obvious with a Google search on that error. I then spotted this <a title="Error using Firefox for Creating Assets" href="http://publib.boulder.ibm.com/infocenter/wchelp/v7r0m0/index.jsp" target="_blank">link</a> in the Info Center.  It would have exactly the problem because this is a self signed certificate for the Madisons store that I am using on the server.  It would be nice if the error was handled better, I swapped to Internet Explorer and the file upload works fine in there.</p>
]]></content:encoded>
			<wfw:commentRss>http://sarona.co.uk/blog/2011/11/error-uploading-file-assets-in-firefox-with-websphere-commerce-management-centre-v7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CMN1245E: Server fails to redirect to the view URL for Madisons Store</title>
		<link>http://sarona.co.uk/blog/2011/07/cmn1245e-server-fails-to-redirect-to-the-view-url-for-madisons-store/</link>
		<comments>http://sarona.co.uk/blog/2011/07/cmn1245e-server-fails-to-redirect-to-the-view-url-for-madisons-store/#comments</comments>
		<pubDate>Wed, 06 Jul 2011 06:15:10 +0000</pubDate>
		<dc:creator>Bleddyn</dc:creator>
				<category><![CDATA[eCommerce]]></category>
		<category><![CDATA[WebSphere]]></category>
		<category><![CDATA[CMN1245E]]></category>
		<category><![CDATA[Redirect]]></category>
		<category><![CDATA[WebSphere Commerce]]></category>

		<guid isPermaLink="false">http://sarona.co.uk/blog/?p=111</guid>
		<description><![CDATA[Having just upgraded to WebSphere Commerce 7 and Feature Pack 3,  we were having a problem with the products displaying on the front page and any links that used the ClickInfo tagging to track users in the Madisons Sample store.  We kept getting a message that said the following in systemout.log CMN1245E: Server fails to redirect to [...]]]></description>
			<content:encoded><![CDATA[<p>Having just upgraded to WebSphere Commerce 7 and Feature Pack 3,  we were having a problem with the products displaying on the front page and any links that used the ClickInfo tagging to track users in the Madisons Sample store.  We kept getting a message that said the following in systemout.log</p>
<p>CMN1245E: Server fails to redirect to the view URL</p>
<p>And a generic error being displayed in the store page.  A google on the CMN1245E error was showing nothing however after opening a PMR a link to the following was provided.  hopefully this can be expanded to cover CMN1245E as well.</p>
<p><a title="CMN0207E error indicating incorrect URL when redirect occurs in WebSphere Commerce" href="https://www-304.ibm.com/support/docview.wss?uid=swg21458241" target="_blank">Receive CMN0207E error indicating incorrect URL when redirect occurs in WebSphere Commerce</a></p>
<p>The same fix applied in this case the webserver is remote to the application server, so the hostname is different that is being used.  Once the extra paramater was specified from the <a title="Enable URL Filtering" href="http://publib.boulder.ibm.com/infocenter/wchelp/v7r0m0/index.jsp?topic=/com.ibm.commerce.admin.doc/tasks/tseurlredirectfiltering.htm" target="_blank">Enable URL Filtering</a> section in the Info Centre into the instance.xml and the server restarted the site worked fine, all links were now clickable.</p>
]]></content:encoded>
			<wfw:commentRss>http://sarona.co.uk/blog/2011/07/cmn1245e-server-fails-to-redirect-to-the-view-url-for-madisons-store/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting SOLR Host Name for WebSphere Commerce V7</title>
		<link>http://sarona.co.uk/blog/2011/07/setting-solr-host-name-for-websphere-commerce/</link>
		<comments>http://sarona.co.uk/blog/2011/07/setting-solr-host-name-for-websphere-commerce/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 08:29:34 +0000</pubDate>
		<dc:creator>Bleddyn</dc:creator>
				<category><![CDATA[eCommerce]]></category>
		<category><![CDATA[SOLR]]></category>
		<category><![CDATA[WebSphere]]></category>
		<category><![CDATA[Config]]></category>
		<category><![CDATA[Search]]></category>
		<category><![CDATA[SRCHCONF]]></category>
		<category><![CDATA[WebSphere Commerce]]></category>

		<guid isPermaLink="false">http://sarona.co.uk/blog/?p=106</guid>
		<description><![CDATA[When you run SOLR with WebSphere Commerce the first step you have to complete is to setup the search index. However if you are doing this with a remote webserver providing access to the ApplicationServer, you will find that it uses the HOSTNAME of the application server where you run the command as the hostname for [...]]]></description>
			<content:encoded><![CDATA[<p>When you run SOLR with WebSphere Commerce the first step you have to complete is to <a title="Setup SOLR Search Index" href="http://publib.boulder.ibm.com/infocenter/wchelp/v7r0m0/index.jsp?topic=%2Fcom.ibm.commerce.developer.doc%2Ftasks%2Ftsdsearchsetuplocal.htm" target="_blank">setup the search index</a>.</p>
<p>However if you are doing this with a remote webserver providing access to the ApplicationServer, you will find that it uses the HOSTNAME of the application server where you run the command as the hostname for for later commands.  It also uses it for the configuration on how the pages build within the site, when they want to access the search engine.  This means that when you run the buildindex command or the Madisons sample store things will fail, and you will get a remote host error being displayed such as the following when running the buildindex command.</p>
<p><em><strong>INFO: I/O exception (java.net.ConnectException) caught when processing request:</strong></em><br />
<em><strong>A remote host refused an attempted connect operation.</strong></em><br />
<em><strong>04-Jul-2011 21:35:33 org.apache.commons.httpclient.</strong></em><wbr><em><strong>HttpMethodDirector executeWithRetry</strong></em><br />
<em><strong>INFO: Retrying request</strong></em><br />
<em><strong>org.apache.solr.client.solrj.</strong></em><wbr><em><strong>SolrServerException: java.net.ConnectException: A remote host refused an attempted connect operation.</strong></em><br />
</wbr></wbr></p>
<p>It would be nice if on startup the server configuration showed the hostname that would be used for SOLR, it would provide a much quicker clue.</p>
<p>What you need to do is make sure you update the following tables SRCHCONF and SRCHCONFEXT and replace the host name with that of your webserver.  Then update the wc-search.xml file found in /xml/config/com.ibm.commerce.catalog-fep in the deployed application, make sure you redeploy the file after changes.  You will want to restart the Application servers to pick these details up both your SOLR and Commerce server.</p>
<p>You should then find that your search works fine and you can setup the index.  It does need IBM to add an option onto the setupSearchIndex command for hostname, that would remove these steps.  Remember if you run the setup command again it will go back to how it was in the DB and the XML file, so you need to make the same changes.</p>
]]></content:encoded>
			<wfw:commentRss>http://sarona.co.uk/blog/2011/07/setting-solr-host-name-for-websphere-commerce/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebSphere Commerce Developer V7 and SOLR Search Setup</title>
		<link>http://sarona.co.uk/blog/2011/06/websphere-commerce-developer-v7-and-solr-search-setup/</link>
		<comments>http://sarona.co.uk/blog/2011/06/websphere-commerce-developer-v7-and-solr-search-setup/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 14:04:20 +0000</pubDate>
		<dc:creator>Bleddyn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sarona.co.uk/blog/?p=101</guid>
		<description><![CDATA[One of the key components in WebSphere Commerce 7, was the release in Feature Pack 2 of the SOLR search technology.  For anyone familiar a decent search in the Commerce product, without the need to but another piece of software or integrate yourself has been a long time coming.  Look out for Feature Pack 3 [...]]]></description>
			<content:encoded><![CDATA[<p>One of the key components in WebSphere Commerce 7, was the release in Feature Pack 2 of the SOLR search technology.  For anyone familiar a decent search in the Commerce product, without the need to but another piece of software or integrate yourself has been a long time coming.  Look out for Feature Pack 3 as well, with more SOLR functions about to be released plus better integration with Coremetrics for tracking your searches.  There are going to be two places you will want to setup SOLR, one the development environment and the second the server side.</p>
<p>I wanted to setup a development environment with SOLR and although a lot of this info is taken from the V7 info Centre, it left me puzzling about the actual steps to perform.  This was from the point of view of installing Feature Pack 2 and what I then needed to do to see SOLR in action.</p>
<p>1.) I started with a clean install of the WC Toolkit for V7 that was installed into the latest RAD version (7.5.5.3 iFix001), using the IBM installation manger.</p>
<p>2.) I applied Fixpack 7.0.0.2 onto this environment, again using the Installation manager.</p>
<p>3.) I then applied Feature Pack 2 for V7 and again used the Installation manager.  this gave me the option of which features to install and I selected &#8220;All&#8221; of them to be applied to the environment.  This was the step that was now a little confusing because I knew from the server installation that I had processes to do with SOLR, after enabling the foundation feature. But when you read the IC it is not clear what point you are now at with the environment.</p>
<p>4.) I looked at the following link, for <a title="Deploy WebSphere Commerce Search Locally" href="http://publib.boulder.ibm.com/infocenter/wchelp/v7r0m0/index.jsp?topic=/com.ibm.commerce.developer.doc/tasks/tsdsearchbuilddeployfirst.htm" target="_blank">Deploying WebSphere Commerce Search Locally</a>.  This page had been linked to from enabling the foundation feature, so did the fact that I had enabled the feature mean it was complete?  The answer is yes you have no need to do this step if you enabled features from IBM Installation manager tool.  I started up my commerce server within the development environment and was able to run the request &#8220;http://localhost/solr/Default/select?q=*%3A*&#8221; and get the correct response.</p>
<p>5.) Now I needed to run the setupSearchIndex.bat -masterCatalogId 10001 command for the Madisons FEAP 2 store I have created.  What I did find is that I now must stop the commerce server in the development environment otherwise the Apache database is locked and it will not run.</p>
<p>6.) Now run the di-preprocess.bat file against the search index, again I kept the server stopped at this point.</p>
<p>7.) Finally I ran the di-buildindex.bat -masterCatalogId 10001 this command needs to talk to the SOLR environment, so you must have your server started when it runs.  It will also take a while to run depending on the data you have compared to the other two commands.</p>
<p>8.) Once that is there you should now be able to access your development environment store and see it displayed with the SOLR.  One thing I have found though is that if you have SOLR enabled and even with the Apache database I have started to see Out of Memory errors occurring in the environment.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://sarona.co.uk/blog/2011/06/websphere-commerce-developer-v7-and-solr-search-setup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebSphere Extreme Scale &amp; WebSphere Commerce (Part 1)</title>
		<link>http://sarona.co.uk/blog/2011/05/websphere-extreme-scale-websphere-commerce-part-1/</link>
		<comments>http://sarona.co.uk/blog/2011/05/websphere-extreme-scale-websphere-commerce-part-1/#comments</comments>
		<pubDate>Mon, 09 May 2011 14:37:02 +0000</pubDate>
		<dc:creator>Bleddyn</dc:creator>
				<category><![CDATA[eCommerce]]></category>
		<category><![CDATA[WebSphere]]></category>
		<category><![CDATA[WXS]]></category>
		<category><![CDATA[Dynacache]]></category>
		<category><![CDATA[invalidation]]></category>
		<category><![CDATA[object cache]]></category>
		<category><![CDATA[WebSphere Commerce]]></category>
		<category><![CDATA[websphere extreme scale]]></category>

		<guid isPermaLink="false">http://sarona.co.uk/blog/?p=72</guid>
		<description><![CDATA[Recently we managed to get a customer running WebSphere Commerce V6 on WebSphere 6.1 (had to upgrade from V6), in conjunction with WebSphere Extreme Scale 7.1  It had been a long path and far from as simple as things perhaps made out, just plug it in and away you go not quite like that.  I had [...]]]></description>
			<content:encoded><![CDATA[<p>Recently we managed to get a customer running WebSphere Commerce V6 on WebSphere 6.1 (<a title="Upgrading to WebSphere V6.1" href="http://sarona.co.uk/blog/2010/07/websphere-commerce-v6-migration-between-was-v6-and-v6-1/">had to upgrade from V6</a>), in conjunction with WebSphere Extreme Scale 7.1  It had been a long path and far from as simple as things perhaps made out, just plug it in and away you go not quite like that.  I had written an initial post on setting up <a title="Initial WebSphere Extreme Scale Setup" href="http://sarona.co.uk/blog/2010/07/websphere-commerce-v6-and-websphere-extreme-scale-7-1/">WebSphere Extreme Scale and the environment we used</a>, not perhaps realising how far away we were at that point from running this live.</p>
<p>There was still a lot of learning and some quite major changes to make, that you don&#8217;t really don&#8217;t come across when you use Dynacache within the WebSphere Application Server server for a Commerce environment.</p>
<p>If you are wondering what is Dynacache and you use WebSphere Commerce then it is important that you understand, not running Cache in a Commerce environment is a little like having a fast car and only using your first three gears maybe.  What is possible will always be limited and will not do the environment any good at all, affecting the end users of the site.  You will never really maximise the performance that is possible from your Commerce environment, have a look at this Redbook to get an understanding &#8216;<a title="Mastering Dynacache in WebSPhere Commerce" href="http://www.redbooks.ibm.com/abstracts/sg247393.html" target="_blank">Mastering Dynacache in WebSphere Commerce</a>&#8216;.  I have also split this blog post into <a title="Part 2 - WebSphere Extreme Scale and WebSphere Commerce" href="http://sarona.co.uk/blog/?p=79">two parts</a>, just so we do not end up with a huge page to read and get bored in, perhaps it could even be three.</p>
<p><strong>The aim of WebSphere Commerce and WebSphere Extreme Scale</strong></p>
<p>This article is not about the details of WXS there are some excellent pieces available such as &#8216;<a title="WXS and WebSphere Commerce" href="http://www.ibm.com/developerworks/websphere/techjournal/1008_genkin/1008_genkin.html?ca=drs-" target="_blank">why WXS</a>&#8216; for that, especially from <a title="Billy Newport" href="http://en.wikipedia.org/wiki/Billy_Newport" target="_blank">Billy Newport</a>. There is also a <a title="Elastic Cache Redbook" href="http://www.redbooks.ibm.com/abstracts/sg247926.html" target="_blank">Elastic Cache redbook</a> which gives some excellent background and also some WC integration options plus part of its team was <a title="Jonathan marshall" href="http://twitter.com/#!/jmarshall1" target="_blank">Jonathan Marshall</a>, who helped us along the WXS path.</p>
<p>For the environment we decided to go for WXS 7.1 and have kept that up to date as well with the latest fixpacks so 7.1.0.2 is the current version.  We then went for the <a title="Standalone WXS Grid" href="http://publib.boulder.ibm.com/infocenter/wxsinfo/v7r0/topic/com.ibm.websphere.extremescale.admin.doc/txsinstall.html" target="_blank">standalone process model</a> rather than using WebSphere to provide the WXS grid, that model is discussed in the redbook.  There are advantages to running on WAS, but it seemed to make sense plus save on licences just using the standalone process mode for the WXS grid on Ubuntu (<a title="Setup of the WXS Environment" href="http://sarona.co.uk/blog/2010/07/websphere-commerce-v6-and-websphere-extreme-scale-7-1/" target="_blank">see previous blog for setup</a>).</p>
<p>The aim of integrating WXS with Commerce was to improve several areas.</p>
<ul>
<li>Capability to hold more cache items as the products available was going to grow substantially on the stores.</li>
<li>Reduce the overhead on the application servers when dealing with the cache, such as disk offload and the space the cache takes up within the JVM.</li>
<li>Improve startup times for servers when coming on line as the cache would already exist rather than having to build.</li>
</ul>
<p>For the grid setup we initially have three machines each running a WXS catalogue service process and then having three containers processes on each machines.  This is a starting point and will be further tuned, but it provides the ability to balance in terms of resources and failure.</p>
<p><strong>WebSphere Application Server Configuration</strong></p>
<p>On the application server we had installed WXS onto each machine, and created a catalogue service domain with the three catalogue service processes defined.  It&#8217;s worth noting here that the name you give the grid means nothing, you can call it anything you would like.</p>
<p>Also we deployed the enhanced cache monitor rather than the standard version, as this provides a better view of the cache environment when using WXS.</p>
<p>Underneath each of the servers in the environment the following properties need to be added to the Java Virtual Machine custom settings.  They are defining the change in cache environment that will be used and its setup, also the cache is remote.  The first part in the following is the name of the property and after the / is the value.  There may be other properties in there already, depending on your setup.  One setting that was interesting is that you need to tell WXS to turn compression on.</p>
<p><span style="color: #339966;"><em>com.ibm.websphere.xs.dynacache.disable_recursive_invalidate  /   true</em></span><br />
<span style="color: #339966;"><em> com.ibm.websphere.xs.dynacache.enable_compression   /    true</em></span><br />
<span style="color: #339966;"><em> com.ibm.websphere.xs.dynacache.ignore_value_in_change_event   /  true</em></span><br />
<span style="color: #339966;"><em> com.ibm.websphere.xs.dynacache.num_initial_containers /  1</em></span><br />
<span style="color: #339966;"><em> com.ibm.websphere.xs.dynacache.topology    /     remote</em></span><br />
<span style="color: #339966;"><em> com.ibm.ws.cache.CacheConfig.cacheProviderName   /  com.ibm.ws.objectgrid.dynacache.CacheProviderImpl</em></span><br />
<span style="color: #339966;"><em> com.ibm.ws.cache.CacheConfig.enableCacheReplication   /  true</em></span></p>
<p>One last thing is that when you go into the console even with the fixes applied it will still show the WXS level shown as 7.1.0.0.  So you need to look at the systemout.log on startup to really see what fix level has been applied.</p>
<p><strong>Dynacache Configuration</strong></p>
<p>The dynacache configuration was the point at which, we found that the most serious changes were going to have to be made yet we had assumed it would be minimal.  Problems you will have are not apparent when you run cache within the JVM of the application server, compared to how it will look with a remote grid.  When you use WXS it is the case lots of bad requests or constant chatter for cache content is going to add overhead when the grid is remote.  Even if the grid sits on Gigabit ethernet then &#8216;remote&#8217; is remote and there will be network overhead.  What we saw initially is that with local dynacache pages would take a second or so to build transfer that to a remote cache page and suddenly it was twelve seconds or more.  Yet the only change was the introduction of WXS, so what could be going on?  What then followed was a lot of time with the support team and here is what we found out.</p>
<p><strong>WebSphere Commerce Data Caches</strong></p>
<p>First we had to implement <a title="WebSphere Commerce Data Caches" href="https://www-304.ibm.com/support/docview.wss?uid=swg21366387" target="_blank">WebSphere Commerce Data Caches</a>, it is a good article but to me not the most obvious to follow on how you do this.  What it is simply saying is that there are certain types of data you can now hold in cache, that will be generated by commands.  So the cache now goes beyond page fragments and pages, which is what you would typically have setip.  In the case of WXS this is data that could change frequently and have a lot of invalidations, and as we will see lots of invalidation requests are not great.</p>
<p>So rather than holding this data in the grid in this case we want some things to still be held at the application server level, but to do this we have to define additional cache containers.  It is worth noting that making this change will also help your standard Commerce environment with no WXS, especially if you are on V6, where this functionality was added later in the product.  It will be a reason why a lot of sites under V6 with cache will not have this enabled.</p>
<p>In order to do this the first thing that needs creating is a cacheinstance.properties file, you need to put that into the /stores.war/WEB-INF/classes directory in your Commerce deployment.  The file we have have created it looks something like this although it does an area to be tuned in terms of the number of cache entries.  We are creating two containers one general for the DistributedMapCache and the other for ListMemberGroupForUsers, but it can be split how you see fit.  When you look in the Cache Monitor you will see these containers.</p>
<p><span style="color: #339966;"><em>cache.instance.0=/services/cache/WCDistributedMapCache</em></span><br />
<span style="color: #339966;"> <em> cache.instance.0.cacheSize=6000</em></span><br />
<span style="color: #339966;"> <em> cache.instance.0.enableDiskOffload=false</em></span><br />
<span style="color: #339966;"> <em> cache.instance.0.flushToDiskOnStop=false</em></span><br />
<span style="color: #339966;"> <em> cache.instance.0.useListenerContext=false</em></span><br />
<span style="color: #339966;"> <em> cache.instance.0.replicationType=1</em></span><br />
<span style="color: #339966;"> <em> cache.instance.0.disableDependencyId=false</em></span><br />
<span style="color: #339966;"> <em> cache.instance.0.filterTimeOutInvalidation=true</em></span><br />
<span style="color: #339966;"> <em> cache.instance.0.filterLRUInvalidation=true</em></span><br />
<span style="color: #339966;"> <em> cache.instance.0.ignoreValueInInvalidationEvent=true</em></span><br />
<span style="color: #339966;"> <em> cache.instance.0.disableTemplatesSupport=true</em></span><br />
<span style="color: #339966;"> <em> cache.instance.0.useServerClassLoader=true</em></span><br />
<span style="color: #339966;"> <em> cache.instance.1=/services/cache/com.ibm.commerce.membergroup.commands.ListMemberGroupsForUserCmdImpl</em></span><br />
<span style="color: #339966;"> <em> cache.instance.1.cacheSize=4000</em></span><br />
<span style="color: #339966;"> <em> cache.instance.1.enableDiskOffload=false</em></span><br />
<span style="color: #339966;"> <em> cache.instance.1.flushToDiskOnStop=false</em></span><br />
<span style="color: #339966;"> <em> cache.instance.1.useListenerContext=false</em></span><br />
<span style="color: #339966;"> <em> cache.instance.1.replicationType=1</em></span><br />
<span style="color: #339966;"> <em> cache.instance.1.disableDependencyId=false</em></span><br />
<span style="color: #339966;"> <em> cache.instance.1.filterTimeOutInvalidation=true</em></span><br />
<span style="color: #339966;"> <em> cache.instance.1.filterLRUInvalidation=true</em></span><br />
<span style="color: #339966;"> <em> cache.instance.1.ignoreValueInInvalidationEvent=true</em></span><br />
<span style="color: #339966;"> <em> cache.instance.1.disableTemplatesSupport=true</em></span><br />
<span style="color: #339966;"> <em> cache.instance.1.useServerClassLoader=true</em></span></p>
<p>With that file deployed then you need to add the content to define the data items into the cachespec.xml.  IBM have provided an example of what data to cache in samples/dynacache/cacheinstances.properties, so take the content defining the commands and copy it into your cachespec.xml, then deploy that update.</p>
<p><strong>Changes to Custom Dynacache Entries</strong></p>
<p>One of the reasons that things had appeared so slow when we enabled WXS was the amount of invalidation requests that were issues, had and the way they were grouped.  This is an important change you would not see locally because there is no overhead.  In the cachespec we had several different stores defined and they were all doing invalidations, on content within them.  It was just something which had built up over time as people had added content into the cachespec.xml file.</p>
<p>Because we listed all the commands that could cause an invalidation to run, what would happen is say we had a basket update the invalidations would run and eighteen different requests would be fired at the WXS environment.  Each one takes time and added together that was taking quite a significant amount of overhead on the request.  So we went back and updated the cachespec so that all the components we were invalidating had the same dependancy-id, and then cut down the invalidations to a single request.</p>
<p>On the dependancy ID that was defined on fragments such as the mini basket, previously each one had its own identifier.  So the dependancy ID was Minicart:storeId:DC_userid which is how the IBM sample file would define user based fragments.  Now all user based fragments in the stores say exactly the same for the ID we will use for invalidation and by doing that they are all removed in a single request on the store rather than multiple requests.</p>
<p><span style="color: #008000;"><em>&lt;dependency-id&gt;StoreIDUserIDForInvalidation</em></span><br />
<span style="color: #008000;"><em> &lt;component id=&#8221;storeId&#8221; type=&#8221;parameter&#8221;&gt;</em></span><br />
<span style="color: #008000;"><em> &lt;required&gt;true&lt;/required&gt;</em></span><br />
<span style="color: #008000;"><em> &lt;/component&gt;</em></span><br />
<span style="color: #008000;"><em> &lt;component id=&#8221;DC_userId&#8221; type=&#8221;attribute&#8221;&gt;</em></span><br />
<span style="color: #008000;"><em> &lt;required&gt;true&lt;/required&gt;</em></span><br />
<span style="color: #008000;"><em> &lt;/component&gt;</em></span><br />
<span style="color: #008000;"><em> &lt;/dependency-id&gt;</em></span></p>
<p>Then after the commands that we would run invalidation such as add to basket, we define a single invalidation.</p>
<p><em><span style="color: #008000;">&lt;invalidation&gt;StoreIDUserIDForInvalidation</span></em><br />
<em><span style="color: #008000;"> &lt;component type=&#8221;method&#8221; id=&#8221;getCommandContext&#8221;&gt;</span></em><br />
<em><span style="color: #008000;"> &lt;method&gt;getStoreId&lt;/method&gt;</span></em><br />
<em><span style="color: #008000;"> &lt;required&gt;true&lt;/required&gt;</span></em><br />
<em><span style="color: #008000;"> &lt;/component&gt;</span></em><br />
<em><span style="color: #008000;"> &lt;component type=&#8221;method&#8221; id=&#8221;getCommandContext&#8221;&gt;</span></em><br />
<em><span style="color: #008000;"> &lt;method&gt;getUserId&lt;/method&gt;</span></em><br />
<em><span style="color: #008000;"> &lt;required&gt;true&lt;/required&gt;</span></em><br />
<em><span style="color: #008000;"> &lt;/component&gt;</span></em><br />
<em><span style="color: #008000;"> &lt;/invalidation&gt;</span></em></p>
<p>Once we did this we saw a major change in how the environment performed, again it would even help locally but the measurements would be much smaller periods of time than the remote requests.</p>
<p><strong>Server Restart</strong></p>
<p>Although changes to the cachespec.xml file will be picked up dynamically the other changes will require a server restart.  If your catalogue processes are running in WXS you should see it showing that the grid is active from inside of WAS also in the systemout log file for WAS will show the containers and connections being made.  If the WXS environment is not up and running I have noticed that your WAS server will just stop on startup if the grid is not available.  It does not throw and error it will instead appear to do nothing.</p>
<p><strong>Part II</strong></p>
<p>In the next part I will look at the changes we had to make in the WXS environment from the standard setup plus any other general tips we found useful.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://sarona.co.uk/blog/2011/05/websphere-extreme-scale-websphere-commerce-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unable to use component services under WebSphere Commerce 6</title>
		<link>http://sarona.co.uk/blog/2010/09/unable-to-use-component-services-under-websphere-commerce-6/</link>
		<comments>http://sarona.co.uk/blog/2010/09/unable-to-use-component-services-under-websphere-commerce-6/#comments</comments>
		<pubDate>Tue, 14 Sep 2010 17:19:24 +0000</pubDate>
		<dc:creator>Bleddyn</dc:creator>
				<category><![CDATA[eCommerce]]></category>
		<category><![CDATA[WebSphere]]></category>

		<guid isPermaLink="false">http://sarona.co.uk/blog/?p=65</guid>
		<description><![CDATA[I have been feeling like banging my head hard on the desk for the last few days with a strange error on one of the WebSphere Commerce instances I have upgraded to WAS 6.1 and the latest Feature pack level.  I found that suddenly I could get no service based commands in the site to [...]]]></description>
			<content:encoded><![CDATA[<p>I have been feeling like banging my head hard on the desk for the last few days with a strange error on one of the WebSphere Commerce instances I have upgraded to WAS 6.1 and the latest Feature pack level.  I found that suddenly I could get no service based commands in the site to run, all other commands were fine but add to basket commands were failing.  Also I could not log into the management centre.  After opening a PMR I got the following commands to trace (remember you can do these runtime it is much simpler).</p>
<p>*=info: com.ibm.websphere.commerce.WC_SERVER=all:<br />
com.ibm.websphere.commerce.WC_MESSAGING=all:<br />
com.ibm.websphere.commerce.WC_SENSITIVE_INFO=all:<br />
com.ibm.commerce.foundation.*=all:com.ibm.websphere.commerce.WC_TRANSPORT_ADAPTER=all</p>
<p>That trace showed me the issue was within the businessobjectdocumentprocessor and how it was reading in the xml file that defined the service.  I looked at a trace that worked and a trace that failed.  After a quick Google I ended up on this page and after first making sure the authority to the files was OK.</p>
<p><a title="Unable to use WebSphere Commerce Services" href="http://www-01.ibm.com/support/docview.wss?rs=0&amp;context=SSC8NWC&amp;q1=null&amp;uid=swg21386407&amp;loc=en_US&amp;cs=utf-8&amp;cc=us&amp;lang=en" target="_blank">www-01.ibm.com/support/docview.wss?rs=0&amp;context=SSC8NWC&amp;q1=null&amp;uid=swg21386407&amp;loc=en_US&amp;cs=utf-8&amp;cc=us&amp;lang=en</a></p>
<p>I went and checked my wc-server.xml file and the section required for component services was not there.  That explained why everything looked good but it could not find the required files.  One I added that in I ran the updateEAR process, and restarted the servers after synchronising the changes out and things sprang into life.</p>
<p>It really was a lot of effort and all from a NullPointer error!</p>
<p>&nbsp;</p>
<p>Bleddyn</p>
]]></content:encoded>
			<wfw:commentRss>http://sarona.co.uk/blog/2010/09/unable-to-use-component-services-under-websphere-commerce-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updating Rational Business Developer 7.5.0.x</title>
		<link>http://sarona.co.uk/blog/2010/09/updating-rational-business-developer-7-5-0-x/</link>
		<comments>http://sarona.co.uk/blog/2010/09/updating-rational-business-developer-7-5-0-x/#comments</comments>
		<pubDate>Tue, 14 Sep 2010 12:36:52 +0000</pubDate>
		<dc:creator>Bleddyn</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://sarona.co.uk/blog/?p=61</guid>
		<description><![CDATA[If you have Rational Business Developer or Rational Developer for i installed and want to install the latest updates then make sure you do not apply the update to the Rational Update Manager.  If you do then the 1.4.1 version of the Update Manager is not compatable with 7.5 updates for Rational Business Developer.  You [...]]]></description>
			<content:encoded><![CDATA[<p>If you have Rational Business Developer or Rational Developer for i installed and want to install the latest updates then make sure you do not apply the update to the Rational Update Manager.  If you do then the 1.4.1 version of the Update Manager is not compatable with 7.5 updates for Rational Business Developer.  You ill get an error like this</p>
<ul><tt>Updating IBM Rational Developer for i to 7.5.0.x is not allowed</tt></ul>
<p>There is nothing mentioned about this in the info center about this, unless they read my feedback  it even still says update your update manager to install the fix.  Very likely as well you have your update manager set to check for updates.  So by the time you install the patch you will see the problem, you will look and if you are lucky you will find this link <a title="Ration Business Developer Issue with Update Manager" href="http://www-01.ibm.com/support/docview.wss?rs=&amp;uid=swg21439225" target="_blank">www-01.ibm.com/support/docview.wss?rs=&amp;uid=swg21439225</a>.</p>
<p>We ended up uninstalling the update manager and downloading the 1.3 version that they list in the fix page then installing the fix which did work, but its all a waste of time.  You waste your time trying to find the error, updating the update manager  uninstalling the update manager and reinstalling the update manager.  As for being told why don&#8217;t you update to V7.6 that will probably not work for a lot of people.  Also no consideration for users on low bandwidth connections, yes it would be great to do but that would be in a users plan.  or it is an interesting way to force users to update by breaking the normal process.</p>
]]></content:encoded>
			<wfw:commentRss>http://sarona.co.uk/blog/2010/09/updating-rational-business-developer-7-5-0-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebSphere Commerce V6 and WebSphere Extreme Scale 7.1</title>
		<link>http://sarona.co.uk/blog/2010/07/websphere-commerce-v6-and-websphere-extreme-scale-7-1/</link>
		<comments>http://sarona.co.uk/blog/2010/07/websphere-commerce-v6-and-websphere-extreme-scale-7-1/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 18:59:42 +0000</pubDate>
		<dc:creator>Bleddyn</dc:creator>
				<category><![CDATA[eCommerce]]></category>
		<category><![CDATA[WebSphere]]></category>
		<category><![CDATA[WXS]]></category>

		<guid isPermaLink="false">http://sarona.co.uk/blog/?p=34</guid>
		<description><![CDATA[I have written a previous post on migrating to WAS 6.1 under WebSphere Commerce 6, this allows you to then utilise WebSphere Extreme Scale.  But there are then quite a few pieces that you need to pull together to get things going, so hopefully I can give some pointers on what to do.  If it [...]]]></description>
			<content:encoded><![CDATA[<p>I have written a previous post on <a title="WebSphere Commerce migration WAS versions" href="http://sarona.co.uk/blog/2010/07/websphere-commerce-v6-migration-between-was-v6-and-v6-1/" target="_self">migrating to WAS 6.1</a> under WebSphere Commerce 6, this allows you to then utilise WebSphere Extreme Scale.  But there are then quite a few pieces that you need to pull together to get things going, so hopefully I can give some pointers on what to do.  If it saves you the time and aggravation then its a good thing, if you find anything different then let me know.</p>
<p>First of all I ran up a test environment a standalone 6.1 WAS instance at 6.1.0.31, Commerce at 6.0.0.10 and WebSphere Extreme Scale at 7.1.  Ok right now this is not supported but I could see no reason why it would not work.  We had the WAS/WC environment running on AIX 5.3 and the WXS was remote and installed under Ubunto 6.  We wanted to use the standalone environment for WXS to save us money (no WAS license), and create quite a simple configuration.</p>
<h2>Setting up the WAS Side</h2>
<p>The first step is to ensure you are patched to the latest levels of WAS 6.1  because of the Commerce migration I had done then the site was running 6.1</p>
<p>Restore the WXS installer onto the environment, and run the installer.</p>
<h2>Setting up the Remote Extreme Scale Server</h2>
<h2></h2>
<h2>Catalog Server</h2>
<p>The catalog</p>
<h2>Catalog Container</h2>
<h2>Extreme Scale Console</h2>
<p>The extreme scale console is new in WXS 7.1 and can be used to monitor the environment.</p>
<p>It is started from the &lt;installpath&gt;/ObjectGrid/bin directory using the command startConsoleServer.sh.  one thing I did notice under Ubuntu is that because the install of the software was performed under root, if I used the standard profile it did not now have authority to create the directory structure required under &lt;installpath&gt;/ObjectGrid/console where it wanted to create a number of objects.  This includes a Derby database and a number of files.  I have ended up using sudo to start the console server, but it will be something to address the simplest thing will be to set the right authority.</p>
<p>One the server is started in the browser goto <samp id="vcc_sp_samp_52">https://&lt;hostname&gt;:7443</samp>, use admin and admin as the password and profile.     My first thought is this is quite a nice interface it looks good and the first step is to add the catalog sever.  Enter the hostname the JMX port, which should default to 1099 and the listener port 2809.  No connection will exist until you then create an Extreme Scale Domain.  At first I was unsure should go here because the <a title="Extreme Scale Domain" href="http://publib.boulder.ibm.com/infocenter/wxsinfo/v7r1/index.jsp?topic=/com.ibm.websphere.extremescale.admin.doc/common/txscsdomain.html" target="_blank">7.1 domain documentation</a> only talks about WAS 7.1, but the domain name can be anything.  Once the domain name is added then on the right hand side of the screen add the catalogue server.  The status in the top right hand corner should now go to connected.  If you click around the Commerce site and then go into Monitors &gt; Data Grid Overview you should see DYNACACHE_REMOTE, click that and you will get some details of what is taking place in the cache.</p>
<p>In the environment I am first setting up with a single catalog server and container, then I need to define</p>
]]></content:encoded>
			<wfw:commentRss>http://sarona.co.uk/blog/2010/07/websphere-commerce-v6-and-websphere-extreme-scale-7-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

