Move Websphere Commerce cache instances to eXtreme Scale: setup

To start playing with Websphere eXtreme Scale and Websphere Commerce as suggested on developerWorks, you could “improve” your Websphere Commerce Developer environment installing WXS and configuring a local grid.

The goal is to apply the developerWorks tips to Websphere Commerce cache instances (baseCache and data cache) and check WXS functionalities.

I started from a Websphere Commerce Developer v7 environment with FixPack 6 and FEP5 installed. Websphere Application Server is a WAS 7.0.0.19 Base.

To setup WXS environment you need two fundamental pieces: a catalog server and a container to host the grid.

WXS 8.6 allows many different topologies: in this case we will setup the catalog server in WAS to use PMI infrastructure and XIO. The container will be created as stand alone JVM because Websphere Commerce Test Environment is still on 32 bit only…

The high level steps to integrate WXS with Websphere Commerce are quite simple:

1) Install WebSphere eXtreme Scale as a standalone product (to execute WXS container locally)

2) Install the WebSphere eXtreme Scale on the WebSphere Commerce server (to execute catalog server in WAS)

3) Augment all WebSphere Commerce nodes with WebSphere eXtreme Scale using the WebSphere Application Server profile management tool.

Let’s see how to apply these steps in a Websphere Commerce Developer environment.

First of all, download WXS installation package with your Passport account (or through Partnerworld): the part number is CIK3HML and the file is “WS_XSCALE_V8.6.0.2_MP_ML.zip”

Add the WXS repository to your Installation Manager installation and install “WebSphere eXtreme Scale in a stand-alone environment” (step 1)

IM installation for WXS

Step 2 (“Install the WebSphere eXtreme Scale on the WebSphere Commerce deployment”) needs a couple of tricks to be done in a RAD + WAS Test environment environment.

In general we have to follow the instructions to install WXS client in a Websphere Application Server.

“If you want to install WebSphere eXtreme Scale or WebSphere eXtreme Scale Client within a WebSphere Application Server Version 7 environment, then complete the following steps:”

but in our case Websphere Application Server is already installed: it’s the WAS 7 Test Environment in RAD.

To be able to install WXS over WAS Test environment you have to

a) Create a local repository that contains the latest data downloading

http://public.dhe.ibm.com/software/websphere/downloads/was/import/was.7.0.import.zip

and adding it as a repository

b) Import WebSphere Application Server Version 7 into Installation Manager

Import WAS Test Environment in IM

pointing to the RAD Test Environment runtime for WAS 7 (“C:\WebSphere\IBM\SDP\runtimes\base_v7” in my case)

WAS 7 Test Environment imported in IM

Once imported

c) we can start to install WXS on the existing WAS Test Environment

WXS Stand alone installed

because WAS 7.0.0.19 Test Environment is now a known package group

WAS Test Environment Package Group in IM

Remember to not create a new profile at the end of the installation: we want to use the existing one.

Now step 2 is complete and we can go forward augmenting the existing WAS profile (step 3).

To do this, you first need to know WAS profile name

C:\WebSphere\IBM\SDP\runtimes\base_v7\bin>manageprofiles.bat -listProfiles
[WCTOOL~1_113452]

which normally starts with “WCTOOL” in Websphere Commerce Developer. In my case was “WCTOOL~1_113452”

Then augmenting the profile is quite simple

manageprofiles.bat -augment -profileName WCTOOL~1_113452 -templatePath C:\WebSphere\IBM\SDP\runtimes\base_v7\profileTemplates\xs_augment\default

The result is to get WXS administration menus in the WAS Console

WAS console WXS augmented

Now the infrastructural part is complete and we need to start up both catalog server and container to get a fully functional WXS environment.

First of all we need to create a catalog server domain and add a catalog server using WAS console. One catalog server and one container is enough to have functional tests with Websphere Commerce and WXS.

WAS console create catalog server and domain

The catalog server will be initially stopped because catalog server properties aren’t configured yet.

Using the available sample in the WXS installation (C:\IBM\WebSphere\eXtremeScale\ObjectGrid\properties\sampleServer.properties), I created a new specific properties file to configure it and I copied it in the WAS properties directory (C:\WebSphere\WCToolkit\wasprofile\properties)

The most important changes are:

listenerHost=<localHostname>

listenerPort=4809

publishHost=<localHostname>

transport=XIO

Restarting WAS after adding the catalog.services.cluster custom property to server1, the catalog server is started as expected (with XIO enabled)

WAS Console with Catalog Service started

If everything is fine, your sysout should report

[1/23/14 19:03:52:937 CET] 00000000 RuntimeInfo   I   CWOBJ0903I: The internal version of WebSphere eXtreme Scale is v7.0.2 (8.6.0.2) [cf21323.07120159].
[1/23/14 16:21:42:453 CET] 00000004 TCPChannel    A   TCPC0001I: TCP Channel XIOInboundTCP is listening on host *  (IPv4) port 4809.
[1/23/14 16:21:42:453 CET] 00000004 WSChannelFram A   CHFW0019I: The Transport Channel Service has started chain Chain-XIOInbound.
[1/23/14 16:21:42:468 CET] 00000004 XIORegistry   I   CWOBJ9054I: The eXtremeIO registry is using the endpoint ID [40000143bfb14544e0000498296fa73c].

Finally it’s time to startup the container.

As we are using XIO as transport and the catalog server is local, we need to change a couple of things using WXS cachespec sample files as templates (C:\IBM\WebSphere\eXtremeScale\ObjectGrid\dynacache\etc).

I created a new folder

C:\IBM\WebSphere\eXtremeScale\ObjectGrid\webspherecommerce\etc

and I copied there dynacache-objectgrid.xml and dynacache-deployment.xml changing a couple of properties.

Then we can start the container

startXsServer.bat wccontainer1 -objectGridFile C:\IBM\WebSphere\eXtremeScale\ObjectGrid\webspherecommerce\etc/dynacache-objectgrid.xml -deploymentPolicyFile C:\IBM\WebSphere\eXtremeScale\ObjectGrid\webspherecommerce\etc/dynacache-deployment.xml -catalogServiceEndPoints localhost:4809

To simplify container configuration I only changed dynacache-objectgrid.xml and dynacache-deployment.xml as suggested in the developerWorks article (“The configuration consists of two files that define both the structure of the grid and the deployment characteristics of the grid for dynacache:…”)

During the startup the container will connect with the catalog server

[1/24/14 8:34:04:999 CET] 00000001 ServerImpl    I   CWOBJ0204I: The transport type of this Server JVM is being determined by contacting the catalog service domain with the catalog service endpoints of: localhost:4809.
[1/24/14 8:34:06:233 CET] 00000001 ServerImpl    I   CWOBJ0200I: The transport type is eXtremeIO.
[1/24/14 8:34:35:624 CET] 00000001 ServerImpl    I   CWOBJ1001I: ObjectGrid Server wccontainer1 is ready to process requests.

The setup is now complete.

To check out how the grid is working, start the WXS web console and create the reference for a new catalog server

Create catalog server pointer in WXS web console

and then create a catalog service domain and add the existing catalog server

Catalog service domain in WXS web console

Finally you can check the grid: it’s up and running

WXS web console used entries

Thanks to Stefano Zauli to review the full procedure before publish.

Advertisements

Websphere Commerce and Portal Architect ✔ Motivated IT professional with more than ten years of experience, combining Java and JEE developer skills with systems and IBM products installation knowledge. ✔ Strong experience and skills on planning, architecting and implementing complex commerce and portal solutions based on IBM middleware products. ✔ Reliable with a strong network attitude, experience on leading developer's teams and manage international relationships. Specialties ✔ Pleasant manner, reliable. ✔ Ability to consider issues from different point of views. ✔ End-oriented work capacity and problem-solving attitude. ✔ Ability to work with deadlines and under pressure. ✔ Ability to prioritise tasks and manage people. ✔ Ability to increase the whole team skills. ✔ Ability to generate commercial leads

Tagged with: , , ,
Posted in cache, was, websphere commerce
4 comments on “Move Websphere Commerce cache instances to eXtreme Scale: setup
  1. Sandeep says:

    Hello Marco,
    Nice article. Thanks.
    The WXS set up seems to be done using the package from partner world. But, I was trying to get the Extreme scale trial working with WAS in my WC developer. Downloaded the trial from here http://www.ibm.com/developerworks/downloads/ws/wsdg/ , but the zip does not seems to contain any executables. And there are no clear instructions provided for doing the integration. Is this something that you have worked with?

    thanks in advance
    regards
    Sandeep

    • Marco Fabbri says:

      Sorry Sandeep but I tried to setup WXS using Partnerworld binaries only. Did you solved your issue?

  2. Soumyakanta says:

    catalog.services.cluster custom property
    Can you please send the screen shot for this custom property

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: