Thursday, August 5, 2010

Message Broker WMB

1) Create Broker
mqsicreatebroker BrokerName -i MQ_USER -a MQ_PASSWORD -q QM_NAME -n DB_DATA_SOURCE

2) Create Config Manager
mqsicreateconfigmgr CM_NAME -i MQ_USER -a MQ_PASSWORD -q QM_NAME

3) Trun On and Off Trace Node Output
mqsichangetrace –n [on off]

4) Broker Command queues

Request Queue
SYSTEM.BROKER.ADMIN.QUEUE

Reply or status queue.
SYSTEM.BROKER.ADMIN.REPLY

To Stop a flow send a message like this to command input queue.
------------------------Start----------------
<broker label="MB_5" uuid="fde5fa11-2101-0000-0080-ad643ef657b0" version="1">
<executiongroup uuid="94679f5c-2101-0000-0080-fcd728eb29b9">
<stop>
<messageflow uuid="dd732563-2101-0000-0080-a2d1ba771093">
</stop>
</executiongroup>
</broker>
------------------------End------------------

5) Message CCID
1208 = utf-8
819 is a default Unix platform CCSID (819 = ISO-8859-1)

Constants
• MQCCSI_UNDEFINED
• MQCCSI_DEFAULT
• MQCCSI_Q_MGR
• MQCCSI_INHERIT
• MQCCSI_EMBEDDED

6) Encoding
• MQENC_NATIVE


7) MQ Output node once write the into Q the message property like New Msg ID (if set to be generated), Correlation ID would be written to Destination Data coming from out node.

8) WMB Flow testing.
A good WMB flow result testing tool. Good tool to do a broker flow regression testing. Easy to configure and use. MA0T tool here: http://www-01.ibm.com/support/docview.wss?uid=swg24007048

9) Tracing in WMB
Support pac to format and read the logs from WMB
http://www-01.ibm.com/support/docview.wss?rs=171&uid=swg24006480&loc=en_US&cs=utf-8&lang=en
Note: Should modify the bat file to 1) Specify the log file directory location 2)Delete the log files once trace is read from WMB.

9.1) Service Trace: Service trace is used to get detailed information about your environment for use by your IBM Support Center.
Activate service traces only when you receive an error message that instructs you to start service trace, or when directed to do so by your IBM Support Center
Start: mqsichangetrace {BrokerName} -t -e {ExecutionGroup} -l {log level debug|normal|none} -r -c 50000
Stop: mqsichangetrace {BrokerName} -t -e {ExecutionGroup} -l none -r -c 50000
Delete old log files: mqsichangetrace {BrokerName} -t -e {ExecutionGroup} -r
Trace Level Report: mqsireporttrace {BrokerName} -e {ExecutionGroup} -t


9.2) User Trace: Use user trace for debugging your applications; you can trace brokers, execution groups, and deployed message flows. Start user trace facilities using the mqsichangetrace command or the WebSphere® Message Broker Explorer
Start: mqsichangetrace {BrokerName} -u -e {ExecutionGroup} -l {log level debug|normal|none} -r -c 50000
Stop: mqsichangetrace {BrokerName} -u -e {ExecutionGroup} -l none -r -c 50000
Delete old log files: mqsichangetrace {BrokerName} -u -e {ExecutionGroup} -r
Trace Level Report: mqsireporttrace {BrokerName} -e {ExecutionGroup} -u

10) Collecting message flow accounting and statistics data
Message flow accounting and statistics data is the information that can be collected by a broker to record performance and operating details of message flow execution. Message flow accounting and statistics data records dynamic information about the runtime behavior of a message flow. For example, it indicates how many messages are processed and how large those messages are, as well as processor usage and elapsed processing times.

2 types of performance data can be collected.

10.1.1) Snapshot Data: Snapshot data is collected for an interval of approximately 20 seconds. The exact length of the interval depends on system loading and the level of current broker activity. You cannot modify the length of time for which snapshot data is collected. At the end of this interval, the recorded statistics are written to the output destination and the interval is restarted.
10.1.2) Archive Data: Archive data is collected for an interval that you have set for the broker on the mqsicreatebroker or mqsichangebroker command. You can specify an interval of between 10 and 14400 minutes, the default value is 60 minutes. At the end of this interval, the recorded statistics are written to the output destination and the interval is restarted.

10.2) Commands
Start: mqsichangeflowstats {BrokerName} -s -e {ExecutionGp} -j -c active -n basic
Stop: mqsichangeflowstats {BrokerName} -s -g -j -c inactive
Report Settings: mqsireportflowstats {BrokerName} -s -g -j
Delete Archive Reports: mqsichangeflowstats {BrokerName} -a -g -j -r

The trace reading support pac can be used to read the statistic in case usertrace option is used.

11) Sender / Receiver channel setup:

11.1) Sender MQSC Scripts

DEFINE QLOCAL(QM2) DESCR('Transmission queue to QM2') REPLACE +
USAGE(XMITQ) PUT(ENABLED) GET(ENABLED) TRIGGER TRIGTYPE(FIRST) +
TRIGDATA(QM1.TO.QM2) INITQ(SYSTEM.CHANNEL.INITQ)

DEFINE CHANNEL(QM1.TO.QM2) CHLTYPE(SDR) TRPTYPE(TCP) +
REPLACE DESCR('Sender channel to QM2') XMITQ(QM2) +
CONNAME('localhost(2414)')

11.2) Receiver MQSC Scripts
DEFINE CHANNEL(QM1.TO.QM2) CHLTYPE(RCVR) TRPTYPE(TCP) +
REPLACE DESCR('Receiver channel from QM1')

11.3) Some problems
1) Some time QMGR objects gets corrupted when you could not figure out the problem then. Delete Channels, restart QMGR and recreate Channels
2) One of the common problem is different CCSID of sender and receiver QMs. This is more likely to be a problem when msg from sender CCSID can not be converted to receiver CCSID by default MQ data conversion. e.g. from 819 to 1399. In case one of QM CCSID needs to be changed.

11.4) Some Scripts
1) ALTER CHANNEL(Channel Name) CHLTYPE(SDR) CONVERT(YES)
2) STOP CHL(Channel Name) MODE(FORCE)
3) DIS CHS(Channel Name) STATUS -- Status should be STATUS(STOPPED) not stopping..
4) start CHL(Channel Name)

Friday, July 23, 2010

Linux Live

Linux is one of most dynamic OS. There are updates happening almost everyday. Linux Live is one of the feature which caught my eyes. I simpally liked it.



The idea of Live Linux is that you have a portable OS in your pocket in form of a USB stick. You can just put this USB stick in any machine and reboot, and there you go you have your own OS running. Though you have some restriction but still it is good.


Now you have option to try out all the linux flavor and choose the one you like most. I am sure all the linux flavours has something or other good, but I simple fan of Ubuntu. It gives all the flexiblity you can ask for.


- Small installer, require only one installer CD

- Smarter Updates, update your Ubuntu with what you want.

- Bigger software base, you will find all the things you need in the Ubuntu source archive, ranging from Dev Tools to multimedia, Good drivers for your hardware to simple UI.

Coming back to Live Linux. All you need a USB stick, installer for you Linux and Lili creator. (Do a google and you find the steps for installation)


Once installed you have max of 4 GB of space to make any updates to your OS. Looking from todays prospective 4 GB is less but that is a constain that I know right, may be I am outdated on this. Still you can have most of the stuff you need.
Now if you go some place and wish to show something to someone no need to carry your machine and because you know all the drivers / software are there, you are kind of sure that it would work.

It is a gift for people like me who kind of play around a lot with Linux and end up spoiling them. No worries just do the reinstall / simple restore the files from backup of USB stick and you are good to go again