Fraska Portal

Exploring the WebSphere Commerce world

Recent blog posts
WebSphere Commerce, CommandLevelAuthorizationCache

Few months ago I was working for a troubleshooting investigation regarding an ACL not expected behavior. My client was on iSeries with WCS 7 and B2B stores. I found the issue was deriving because of a base cache default configuration set by InitializationServlet.

The following brief article describe the issue and the solution adopted.

WebSphere Commerce v8, toolkit exception, ClassNotFound db2

During my first experiments with my new toolkit based on WCS v8 mod pack1, I almost instantly faced an exception just after the startup of the test server:

[4/18/16 15:07:06:039 CEST] 00000216 BusinessObjec W com.ibm.commerce.foundation.server.command.bod.BusinessObjectDocumentProcessor static com.ibm.db2.jcc.am.SqlDataException
                                 java.lang.ClassNotFoundException: com.ibm.db2.jcc.am.SqlDataException
	at java.lang.Class.forNameImpl(Native Method)
	at java.lang.Class.forName(Class.java:256)
	at com.ibm.commerce.foundation.server.command.bod.BusinessObjectDocumentProcessor.<clinit>(BusinessObjectDocumentProcessor.java:141)
	at java.lang.J9VMInternals.initializeImpl(Native Method)
	at java.lang.J9VMInternals.initialize(J9VMInternals.java:235)
	at com.ibm.commerce.marketing.facade.server.MarketingFacadeImpl.processMarketingTrigger(MarketingFacadeImpl.java:107)
	at com.ibm.commerce.marketing.facade.server.EJSLocalStatelessMarketing_0e493592.processMarketingTrigger(EJSLocalStatelessMarketing_0e493592.java:233)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
	at java.lang.reflect.Method.invoke(Method.java:620)
	at com.ibm.commerce.foundation.internal.client.services.invocation.impl.LocalEJBInvocationBindingImpl.invoke(LocalEJBInvocationBindingImpl.java:211)
	at com.ibm.commerce.foundation.internal.client.services.invocation.InvocationService.invoke(InvocationService.java:113)
	at com.ibm.commerce.foundation.client.facade.bod.AbstractBusinessObjectDocumentFacadeClient.internalSendBusinessObjectDocument(AbstractBusinessObjectDocumentFacadeClient.java:813)
	at com.ibm.commerce.foundation.client.facade.bod.AbstractBusinessObjectDocumentFacadeClient.sendBusinessObjectDocument(AbstractBusinessObjectDocumentFacadeClient.java:529)
	at com.ibm.commerce.marketing.facade.client.AbstractMarketingFacadeClient.processMarketingTrigger(AbstractMarketingFacadeClient.java:487)
	at com.ibm.commerce.marketing.facade.client.MarketingFacadeClient.processMarketingTrigger(MarketingFacadeClient.java:707)
	at com.ibm.commerce.marketing.facade.client.MarketingFacadeClient.processMarketingTrigger(MarketingFacadeClient.java:811)
	at com.ibm.commerce.marketing.internal.runtime.engine.SaveMarketingStatisticsCmdImpl.performExecute(SaveMarketingStatisticsCmdImpl.java:108)
	at com.ibm.commerce.command.ECCommandTarget.executeCommand(ECCommandTarget.java:157)
	at com.ibm.websphere.command.TargetableCommandImpl.execute(TargetableCommandImpl.java:139)
	at com.ibm.websphere.command.CacheableCommandImpl.execute(CacheableCommandImpl.java:139)
	at com.ibm.commerce.command.MeasuredCacheableCommandImpl.execute(MeasuredCacheableCommandImpl.java:68)
	at com.ibm.commerce.command.AbstractECTargetableCommand.execute(AbstractECTargetableCommand.java:199)
	at com.ibm.commerce.component.BaseComponentImpl.executeCommand(BaseComponentImpl.java:202)
	at com.ibm.commerce.component.WebAdapterComponentImpl.executeCommand(WebAdapterComponentImpl.java:46)
	at com.ibm.commerce.component.objimpl.WebAdapterServiceBeanBase.executeCommand(WebAdapterServiceBeanBase.java:58)
	at com.ibm.commerce.component.objects.EJSLocalStatelessWebAdapterService_ce749a4a.executeCommand(EJSLocalStatelessWebAdapterService_ce749a4a.java:31)
	at com.ibm.commerce.component.objects.WebAdapterServiceAccessBean.executeCommand(WebAdapterServiceAccessBean.java:160)
	at com.ibm.commerce.scheduler.SchedulerJob.process(SchedulerJob.java:562)
	at com.ibm.commerce.scheduler.SchedulerSecurityPriviledgedAction.run(SchedulerSecurityPriviledgedAction.java:59)
	at com.ibm.commerce.scheduler.SchedulerJob.run(SchedulerJob.java:1115)
	at com.ibm.commerce.threadmanagement.internal.BaseWork.run(BaseWork.java:139)
	at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:1178)
	at com.ibm.ws.asynchbeans.WorkWithExecutionContextImpl.go(WorkWithExecutionContextImpl.java:199)
	at com.ibm.ws.asynchbeans.CJWorkItemImpl.run(CJWorkItemImpl.java:236)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1881)

 Investigating a bit I found a possible solution.

Posted by on in Store
WebSphere Commerce, ATP migration

When I started to analyze (summer 2015) the possibilities to migrate non-ATP stores to the ATP model the IBM Knowledge Center was claiming the migration was not supported. However, not supported does not mean not possible.

So, I dig it and found a "simple" way to accomplish the migration.

Now (since 2016), finally, the switch of an existing store to the ATP mode is supported again (old version of WCS had even a migration script).

In this brief article I'll report few tips about the "migration" of existing stores to the ATP inventory model.

WebSphere Commerce, Performance analysis of few European stores

The performance tuning is one of the most difficult and delicate task for any professional. It could involve virtually any piece of code deployed. It's not even that easy report how a system is performing, most of all because so many variables are involved. However, today I wanted to check the performances of few Store made using WebSphere Commerce; I decided to take as reference the metrics and results provided by:

They should never be considered as the Bible. In fact, they just provide useful advices and a big picture of the performances for a common sense. In many cases, thought, not all the advices can be applied because of the same nature of the platform. However, collecting examples of how few stores perform can tell us more about the possible limit of the platform, in this case WebSphere Commerce.
In addition, although get "optimal" performances is a very personal goal which cannot be defined as any other simple requirement, in the e-commerce slowing down during the loading of a page means loose money and clients.

So, I took a set of 12 stores between big European companies which have adopted WebSphere Commerce Enterprise. Let's see how they performed ...

WebSphere Commerce, FEP7, Toolkit, Deploy SOLR Admin UI

The SOLR Admin UI is an interesting tool for monitoring the created cores, reviewing their configuration, querying them, understandng the cache performances, collecting useful troubleshooting information and many other things.

Having this tool in the hands of a System Admin could be really worth it. The UI is the following one:

WCS_SOLR_UI.png

The WCS InfoCenter describes the steps to follow in order to integrate the admin UI files in the solr-search web app: Info Center, Search performance tuning, Performance monitoring

However, it seems to have a couple of inaccuracies. So, I decided to report my experience deploying the SOLR Admin UI on FEP7 toolkit.

Most Popular Post

WebSphere Commerce, the SOLR extension index
Administration
Rate this blog entry:
4
WebSphere Commerce, Data Load and SOLR Delta Index
Data Load
Rate this blog entry:
0
WebSphere Commerce, FEP 7, SOLR index pre-process error
Administration
Rate this blog entry:
0

Latest Blogs

WebSphere Commerce, CommandLevelAuthorizationCache
Cache
Rate this blog entry:
0
WebSphere Commerce v8, toolkit exception, ClassNotFound db2
Administration
Rate this blog entry:
1
WebSphere Commerce, ATP migration
Store
Rate this blog entry:
0
WebSphere Commerce, the curious life of a front-end catalog request
Core
Rate this blog entry:
5
WebSphere Commerce, Performance analysis of few European stores
Performance
Rate this blog entry:
0