Here’s another head-shaking story (what’s mine is mine and what’s yours is yours unless MS says no):
http://www.pcmag.com/article2/0,2817,2397414,00.asp
Regards,
Roger Lacroix
Capitalware Inc.
Here’s another head-shaking story (what’s mine is mine and what’s yours is yours unless MS says no):
http://www.pcmag.com/article2/0,2817,2397414,00.asp
Regards,
Roger Lacroix
Capitalware Inc.
In the MQ File Mover (MQFM) How To #2 blog posting, MQFM ran in “client mode” when it connected to the queue managers. In this blog posting, I will show how to implement a simple file transfer using End-To-End encryption when connecting to the queue manager in “client mode”.
MQFM’s Send and Watch Actions use Advanced Encryption Standard (AES) to encrypt the data. The Receive Action can decrypt the incoming data before it is written to the target file. MQFM supports the use of 128, 192 and 256-bit AES encryption/decryption.
US export restrictions limit the Java AES support to 128-bits. If the user wishes to use AES 192 or 256-bit encryption then “Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6” needs to be downloaded (and installed) from Oracle’s Java web page: http://www.oracle.com/technetwork/java/javase/downloads/index.html

In this example, the following servers are used but they only have WebSphere MQ (WMQ) Client installed (no queue managers):
– aix002 is an AIX server with WMQ Client and MQFM software installed
– linux002 is a Linux server with WMQ Client and MQFM software installed
In this example, the following queue managers are used:
– MQA1 is a queue manager residing on a AIX (aix001) server (sender)
– MQL1 is a queue manager residing on a Linux (linux001) server (receiver)
– TEST.LINUX.QL and TEST.LINUX.QL.BK are local queues defined in queue manager MQL1 (receiver)
– TEST.LINUX.QR is a remote queue defined in queue manager MQA1 (sender)
If you do not know how to define/setup communication between 2 queue managers then follow the instructions in this blog posting:
http://www.capitalware.biz/rl_blog/?p=509
Step #1: On the linux002 server, create a file in the mq directory called mql1.xml and copy the following into the file:
MQL1
TEST.LINUX.QL
linux001
SYSTEM.DEF.SVRCONN
1414
tester
The mql1.xml (MQFM_MQ XML) file describes how to connect to the remote MQL1 queue manager on server linux001. The connection will use UserID of tester. If you do not have that UserID defined on the linux001 server then use a UserID that is defined.
Step #2: On the linux002 server, in the MQFM install directory, create a file called mqfm_receive_test_3.xml and copy the following into the file:
mql1.xml
TEST.LINUX.QL.BK
/home/roger/MQFM/
When MQFM is started, it will run as a daemon (run=”D”) and use a backout queue called TEST.LINUX.QL.BK just in case there is an issue with a message. For decrypting the data, MQFM will use a key size of 128-bit and a PassPhrase of ‘this is the secret’. MQFM will override the message’s specified directory and use the one provided. Either create /home/roger/MQFM/ directory on your Linux server or use a directory that already exist on your Linux server.
Step #3: On the linux002 server, start MQFM to receive the file transfers:
./mqfm.sh mqfm_receive_test_3.xml &
Step #4: On the aix002 server, create a file in the mq directory called mqa1.xml and copy the following into the file:
MQA1
TEST.LINUX.QR
aix001
SYSTEM.DEF.SVRCONN
1414
tester
The mqa1.xml (MQFM_MQ XML) file describes how to connect to the remote MQA1 queue manager on server aix001. The connection will use UserID of tester. If you do not have that UserID defined on the aix001 server then use a UserID that is defined.
Step #5: On the aix002 server, create a file in the data directory called test.txt and put a simple text message in the file (i.e. This is a test message.)
Step #6: On the AIX server, in the MQFM install directory, create a file called mqfm_send_test_3.xml and copy the following into the file:
data/test.txt
mqa1.xml
/var/mqm/
When MQFM is started, first it will encrypt the data using a key size of 128-bit and a PassPhrase of ‘this is the secret’ then MQFM will send the encrypted data.
Step #7: On the aix002 server, start MQFM to send the file:
./mqfm.sh mqfm_send_test_3.xml
MQFM will start, encrypted the data and put the encrpyted message to the specified queue then terminate.
Step #8: On the linux002 server, verify that the test file (i.e. test.txt) was put into the /home/roger/MQFM/ directory or whatever directory you specified in the mqfm_receive_test_3.xml file.
Step #9: Finally, we need to stop MQFM daemon that is running on the linux002 server. In the MQFM install directory, create a file called mqfm_putquit_test_3.xml and copy the following into the file:
mql1.xml
Step #10: On the linux002 server, run MQFM with the PutQuit action:
./mqfm.sh mqfm_putquit_test_3.xml
This blog demonstrates how to perform End-To-End encryption using MQFM at both the sender and receiver ends as MQ clients that connect to remote queue managers. You do NOT need to implement SSL or purchase SSL certificates to have secure End-To-End encryption. Besides, implementing the headache of SSL does absolutely nothing for messages sitting in the queue because SSL is only for encrypting data as it crosses the channel. MQFM provides true End-To-End encryption of the data.
Regards,
Roger Lacroix
Capitalware Inc.
If you are interested in learning about NoSQL, then have a look at 4 NoSQL presentations given by Dan McCreary.
Part One: http://www.dataversity.net/archives/6548
Part Two: http://www.dataversity.net/archives/6590
Part Three: http://www.dataversity.net/archives/6623
Part Four: http://www.dataversity.net/archives/6789
These presentations were given at the NoSQL Now! 2011 Conference in San Jose, California in August 2011.
Regards,
Roger Lacroix
Capitalware Inc.
Capitalware Inc. would like to announce the official release of MQ Batch Toolkit v2.0.0. MQ Batch Toolkit allows users to manipulate, monitor and manage messages in a queue of a WebSphere MQ (formally MQSeries) queue manager from a command-line or shell scripting environment.
For more information about MQ Batch Toolkit go to:
https://www.capitalware.com/mqbt_overview.html
Regards,
Roger Lacroix
Capitalware Inc.
IBM has released version 7.0.1.7 and 7.1.0.0 of SupportPac MS0T.
http://www.ibm.com/support/docview.wss?rs=171&uid=swg24021041&loc=en_US&cs=utf-8&lang=en
SupportPac MS0T (MQ Explorer) is a graphical configuration tool built on Eclipse which enables you to remotely explore and configure all WebSphere MQ objects and resources, including Java Message Service (JMS), and publish and subscribe.
Regards,
Roger Lacroix
Capitalware Inc.
IBM has just released FixPack 7.0.1.7 for WebSphere MQ.
http://www.ibm.com/support/docview.wss?rs=171&uid=swg24030911
Regards,
Roger Lacroix
Capitalware Inc.
For months, I have been looking at different laptops but none fit the bill (a small, light, fast laptop for a developer – yes, I want it all!!). Every time I found a potential laptop candidate , it would have a lousy screen resolution (i.e. 1366×768). My kids suggested (many times) that I get a MacBook Air. A perfect laptop except I cannot do MQ development on Mac OS X, I need either Windows or Linux laptop. Yes, I could dual-boot it but then I have purchase Win7 and I would lose hard drive space to both operating systems.
Back in early October, I read a review about a new ASUS ZenBook that is a MacBook Air clone. The specifics for the ASUS ZenBook looked great, in particular, I really liked UX31E-DH72 model but nobody had it. The Canadian retailers web sites listed as it being available at the end of November. 🙁
Being Canadian, the US Thankgiving/Black Friday is meaningless to us but it is a great excuse to travel to the US, have a vacation and do some shopping. 🙂 One of the places I like to go to when I am in Michigan, is Micro Center in Madison Heights. While looking around in Micro Center, I decided to ask if they had any ASUS ZenBook in stock, in particular the UX31E-DH72 model, and the sales rep said yes. He went and retrieved it from the back, opened it and handed it to me. It was awesome. 🙂 And it never left my hands. Sadly, it was not on sale, so I had to pay $1449.00.

ASUS UX31E-DH72 is small, light and fast. Here are the specs:
– 13.3-inch display (1600×900 pixels)
– Intel Core i7-2677M
– 4GB RAM
– 256GB SSD
– Bluetooth 4.0
– USB 3.0 port
– Wireless 802.11bgn
– Includes an USB to Ethernet dongle
– Multi-Touch mouse pad
– Weight is 1.29 kilograms (2.86 pounds)
I have only had the laptop for a few days, but so far, 2 great big thumbs up from me. 🙂
Regards,
Roger Lacroix
Capitalware Inc.
In the MQ File Mover (MQFM) How To #1 blog posting, MQFM ran in “bindings mode” when it connected to the queue managers. In this blog posting, I will show how to do the same simple file transfer but in “client mode” when MQFM connects to the queue managers. Client mode connectivity means that the queue manager resides on a different server than the client application (i.e. MQFM).

In this example, the following servers are used but they only have WebSphere MQ (WMQ) Client installed (no queue managers):
– aix002 is an AIX server with WMQ Client and MQFM software installed
– linux002 is a Linux server with WMQ Client and MQFM software installed
In this example, the following queue managers are used:
– MQA1 is a queue manager residing on a AIX (aix001) server (sender)
– MQL1 is a queue manager residing on a Linux (linux001) server (receiver)
– TEST.LINUX.QL and TEST.LINUX.QL.BK are local queues defined in queue manager MQL1 (receiver)
– TEST.LINUX.QR is a remote queue defined in queue manager MQA1 (sender)
If you do not know how to define/setup communication between 2 queue managers then follow the instructions in this blog posting:
http://www.capitalware.biz/rl_blog/?p=509
Step #1: On the linux002 server, create a file in the mq directory called mql1.xml and copy the following into the file:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE MQFM_MQ SYSTEM "MQFM_MQ.dtd">
<MQFM_MQ>
<QMgrName>MQL1</QMgrName>
<QueueName>TEST.LINUX.QL</QueueName>
<Hostname>linux001</Hostname>
<ChannelName>SYSTEM.DEF.SVRCONN</ChannelName>
<Port>1414</Port>
<UserID>tester</UserID>
</MQFM_MQ>
The mql1.xml (MQFM_MQ XML) file describes how to connect to the remote MQL1 queue manager on server linux001. The connection will use UserID of tester. If you do not have that UserID defined on the linux001 server then use a UserID that is defined.
Step #2: On the linux002 server, in the MQFM install directory, create a file called mqfm_receive_test_2.xml and copy the following into the file:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE MQFM_Workflow SYSTEM "MQFM_Workflow.dtd">
<MQFM_Workflow>
<Actions>
<Receive getwithconvert="Y" run="D">
<MQ>
<MQFile>mql1.xml</MQFile>
<BackOutQName>TEST.LINUX.QL.BK</BackOutQName>
</MQ>
<Default>
<Directory override="Y">/home/roger/MQFM/</Directory>
</Default>
</Receive>
</Actions>
</MQFM_Workflow>
When MQFM is started, it will run as a daemon (run=”D”) and use a backout queue called TEST.LINUX.QL.BK just in case there is an issue with a message. MQFM will use ‘get with convert’ option when retrieving the messages. MQFM will override the message’s specified directory and use the one provided. Either create /home/roger/MQFM/ directory on your Linux server or use a directory that already exist on your Linux server.
Step #3: On the linux002 server, start MQFM to receive the file transfers:
./mqfm.sh mqfm_receive_test_2.xml &
Step #4: On the aix002 server, create a file in the mq directory called mqa1.xml and copy the following into the file:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE MQFM_MQ SYSTEM "MQFM_MQ.dtd">
<MQFM_MQ>
<QMgrName>MQA1</QMgrName>
<QueueName>TEST.LINUX.QR</QueueName>
<Hostname>aix001</Hostname>
<ChannelName>SYSTEM.DEF.SVRCONN</ChannelName>
<Port>1414</Port>
<UserID>tester</UserID>
</MQFM_MQ>
The mqa1.xml (MQFM_MQ XML) file describes how to connect to the remote MQA1 queue manager on server aix001. The connection will use UserID of tester. If you do not have that UserID defined on the aix001 server then use a UserID that is defined.
Step #5: On the aix002 server, create a file in the data directory called test.txt and put a simple text message in the file (i.e. This is a test message.)
Step #6: On the AIX server, in the MQFM install directory, create a file called mqfm_send_test_2.xml and copy the following into the file:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE MQFM_Workflow SYSTEM "MQFM_Workflow.dtd">
<MQFM_Workflow>
<Actions>
<Send delete="N" format="S">
<File>data/test.txt</File>
<MQ>
<MQFile>mqa1.xml</MQFile>
</MQ>
<Remote>
<Directory>/var/mqm/</Directory>
</Remote>
</Send>
</Actions>
</MQFM_Workflow>
When MQFM is started, it will send the specified file and mark the message’s MQMD format as ‘string’.
Step #7: On the aix002 server, start MQFM to send the file:
./mqfm.sh mqfm_send_test_2.xml
MQFM will start and put the file as a message to the specified queue then terminate.
Step #8: On the linux002 server, verify that the test file (i.e. test.txt) was put into the /home/roger/MQFM/ directory or whatever directory you specified in the mqfm_receive_test_2.xml file.
Step #9: Finally, we need to stop MQFM daemon that is running on the linux002 server. In the MQFM install directory, create a file called mqfm_putquit_test_2.xml and copy the following into the file:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE MQFM_Workflow SYSTEM "MQFM_Workflow.dtd">
<MQFM_Workflow>
<Actions>
<PutQuit>
<MQ>
<MQFile>mql1.xml</MQFile>
</MQ>
</PutQuit>
</Actions>
</MQFM_Workflow>
Step #10: On the linux002 server, run MQFM with the PutQuit action:
./mqfm.sh mqfm_putquit_test_2.xml
This blog demonstrates how to use MQFM at both the sender and receiver ends as MQ clients that connect to remote queue managers.
Regards,
Roger Lacroix
Capitalware Inc.
I get asked on a regular basis how to do a simple MQ File Mover (MQFM) setup on 2 servers. It is actually very straight forward and I will run through an example in this blog posting.

In this example, the following servers are used:
– aix001 is an AIX server with WMQ Server and MQFM software installed
– linux001 is a Linux server with WMQ Server and MQFM software installed
In this example, the following queue managers are used:
– MQA1 is a queue manager residing on a AIX (aix001) server (sender)
– MQL1 is a queue manager residing on a Linux (linux001) server (receiver)
– TEST.LINUX.QL and TEST.LINUX.QL.BK are local queues defined in queue manager MQL1 (receiver)
– TEST.LINUX.QR is a remote queue defined in queue manager MQA1 (sender)
If you do not know how to define/setup communication between 2 queue managers then follow the instructions in this blog posting:
http://www.capitalware.biz/rl_blog/?p=509
Step #1: On the Linux server, in the MQFM install directory, create a file called mqfm_receive_test_1.xml and copy the following into the file:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE MQFM_Workflow SYSTEM "MQFM_Workflow.dtd">
<MQFM_Workflow>
<Actions>
<Receive getwithconvert="Y" run="D">
<MQ>
<QMgrName>MQL1</QMgrName>
<QueueName>TEST.LINUX.QL</QueueName>
<BackOutQName>TEST.LINUX.QL.BK</BackOutQName>
</MQ>
<Default>
<Directory override="Y">/home/roger/MQFM/</Directory>
</Default>
</Receive>
</Actions>
</MQFM_Workflow>
When MQFM is started, it will run as a daemon (run=”D”) and use a backout queue called TEST.LINUX.QL.BK just in case there is an issue with a message. MQFM will use ‘get with convert’ option when retrieving the messages. MQFM will override the message’s specified directory and use the one provided. Either create /home/roger/MQFM/ directory on your Linux server or use a directory that already exist on your Linux server.
Step #2: On the Linux server, start MQFM to receive the file transfers:
./mqfm.sh mqfm_receive_test_1.xml &
Step #3: On the AIX server, create a file in the data directory called test.txt and put a simple text message in the file (i.e. This is a test message.)
Step #4: On the AIX server, in the MQFM install directory, create a file called mqfm_send_test_1.xml and copy the following into the file:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE MQFM_Workflow SYSTEM "MQFM_Workflow.dtd">
<MQFM_Workflow>
<Actions>
<Send delete="N" format="S">
<File>data/test.txt</File>
<MQ>
<QMgrName>MQA1</QMgrName>
<QueueName>TEST.LINUX.QR</QueueName>
</MQ>
<Remote>
<Directory>/var/mqm/</Directory>
</Remote>
</Send>
</Actions>
</MQFM_Workflow>
When MQFM is started, it will send the specified file and mark the message’s MQMD format as ‘string’.
Step #5: On the AIX server, start MQFM to send the file:
./mqfm.sh mqfm_send_test_1.xml
MQFM will start and put the file as a message to the specified queue then terminate.
Step #6: On the Linux server, verify that the test file (i.e. test.txt) was put into the /home/roger/MQFM/ directory or whatever directory you specified in the mqfm_receive_test_1.xml file.
Step #7: Finally, we need to stop MQFM daemon that is running on the Linux server. In the MQFM install directory, create a file called mqfm_putquit_test_1.xml and copy the following into the file:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE MQFM_Workflow SYSTEM "MQFM_Workflow.dtd">
<MQFM_Workflow>
<Actions>
<PutQuit>
<MQ>
<QMgrName>MQL1</QMgrName>
<QueueName>TEST.Q1.QL</QueueName>
</MQ>
</PutQuit>
</Actions>
</MQFM_Workflow>
Step #8: On the Linux server, run MQFM with the PutQuit action:
./mqfm.sh mqfm_putquit_test_1.xml
Hopefully, that will help new users of MQFM to get up and running in minutes. In the future, I will post more complex MQFM examples.
Regards,
Roger Lacroix
Capitalware Inc.