I would like to wish everyone a Merry Christmas, Happy Hanukkah, Happy Kwanzaa, etc… and a Happy New Year. 🙂
Regards,
Roger Lacroix
Capitalware Inc.
I would like to wish everyone a Merry Christmas, Happy Hanukkah, Happy Kwanzaa, etc… and a Happy New Year. 🙂
Regards,
Roger Lacroix
Capitalware Inc.
I’m starting to see questions (even being asked) about IBM MQ for .NET Core and the challenges that people are having. I’m not a .NET developer, more of a “I’ll do it to get it done” .NET developer. Hence, I’ll explain it from an IBM MQ perspective.
The first thing you should know is that there are 2 different .NET environments: .NET Framework and .NET Core.
So far, so good!?!
Now to IBM MQ. IBM has 2 releases of IBM MQ called: IBM MQ classes for .NET Framework and IBM MQ classes for .NET Standard (aka Base .NET Classes).
So, still with me!?!
I have posted a lot of IBM MQ C# sample applications that were built for .NET Framework and can also be built for .NET Core.
So, lets say you now want to build your MQ .NET applications for .NET Core. Well, the first thing you will need to do is check if you have .NET Core v3.1 or higher. To check, simply issue the dotnet –version command. Note: You can also use the dotnet –info command.
i.e.
C:\>dotnet –version 2.1.509
So, I don’t have the correct .NET Core version. To get .NET Core v3.1, simply go to Microsoft’s Download .NET Core 3.1 web page, download and then install it. As you see on the download page, you can get .NET Core V3.1 for Linux, macOS and Windows.
After you install .NET Core v3.1, you can issue the dotnet –version command again.
i.e.
C:\>dotnet –version 3.1.415
Now I have the correct .NET Core release to use the IBM MQ classes for .NET Standard.
I just copied my MQTest62L.cs (get messages in a loop) to a new directory. You can download the source code from here.
Next, we need to create a C# project file for it. The C# project file is used by the .NET Core compiler to build the executable. There are 2 important items in it: .NET Core version and where to find the amqmdnetstd.dll file. Simply name the C# project file with the same prefix as the source file. i.e. MQTest62L.csproj
i.e.
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp3.1</TargetFramework> <GenerateAssemblyInfo>false</GenerateAssemblyInfo> <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath> <OutputPath>.</OutputPath> </PropertyGroup> <ItemGroup> <Reference Include="amqmdnetstd"> <HintPath>C:\Program Files\IBM\MQ\tools\dotnet\samples\cs\core\base\bin\amqmdnetstd.dll</HintPath> </Reference> </ItemGroup> </Project>
So, now we can compile the C# file as follows:
F:\dev\some\path\to\it\MQTest62L> dotnet build MQTest62L.csproj Microsoft (R) Build Engine version 16.7.2+b60ddb6f4 for .NET Copyright (C) Microsoft Corporation. All rights reserved. Determining projects to restore... All projects are up-to-date for restore. MQTest62L -> F:\dev\some\path\to\it\MQTest62L\MQTest62L.dll Build succeeded. 0 Warning(s) 0 Error(s) Time Elapsed 00:00:00.66
The .NET Core compiler will generate a bunch of files in the working directory. Don’t worry about them, as long as it generated the MQTest62L.exe file.
So, now it is time to test the newly build application. I’ll put 10 test messages on the queue using MQ Visual Edit then run MQTest62L.exe to retrieve the messages.
F:\dev\some\path\to\it\MQTest62L> MQTest62L.exe -h 127.0.0.1 -p 1414 -c TEST.CHL -m MQA1 -q TEST.Q1 -u tester -x mypwd 2021-12-03 16:49:26.799 MQTest62L: MQ: 2021-12-03 16:49:26.805 MQTest62L: QMgrName ='MQA1' 2021-12-03 16:49:26.806 MQTest62L: Output QName ='TEST.Q1' 2021-12-03 16:49:26.806 MQTest62L: Connection values: 2021-12-03 16:49:26.807 MQTest62L: hostname = '127.0.0.1' 2021-12-03 16:49:26.807 MQTest62L: userID = 'tester' 2021-12-03 16:49:26.807 MQTest62L: port = '1414' 2021-12-03 16:49:26.808 MQTest62L: transport = 'MQSeries Managed Client' 2021-12-03 16:49:26.808 MQTest62L: channel = 'TEST.CHL' 2021-12-03 16:49:27.015 MQTest62L: MQTest62L successfully connected to MQA1 2021-12-03 16:49:27.020 MQTest62L: MQTest62L successfully opened TEST.Q1 2021-12-03 16:49:27.041 MQTest62L: Message Data: This is a test message #1 2021-12-03 16:49:27.042 MQTest62L: Message Data: This is a test message #2 2021-12-03 16:49:27.043 MQTest62L: Message Data: This is a test message #3 2021-12-03 16:49:27.043 MQTest62L: Message Data: This is a test message #4 2021-12-03 16:49:27.044 MQTest62L: Message Data: This is a test message #5 2021-12-03 16:49:27.044 MQTest62L: Message Data: This is a test message #6 2021-12-03 16:49:27.045 MQTest62L: Message Data: This is a test message #7 2021-12-03 16:49:27.045 MQTest62L: Message Data: This is a test message #8 2021-12-03 16:49:27.046 MQTest62L: Message Data: This is a test message #9 2021-12-03 16:49:27.048 MQTest62L: Message Data: This is a test message #10 2021-12-03 16:49:32.065 MQTest62L: No more messages. 2021-12-03 16:49:32.068 MQTest62L: closed: TEST.Q1 2021-12-03 16:49:32.080 MQTest62L: disconnected from MQA1
Hopefully the above information will help people get up and running using .NET Core and IBM MQ classes for .NET Standard.
If you are really adventurous, you can now build IBM MQ and .NET Core applications on Linux, macOS and Windows. Have fun!
Regards,
Roger Lacroix
Capitalware Inc.
A couple of weeks ago, I had a bright idea for a future project, so I registered a domain name. Since then, I have received over 50 emails, 8 text messages and over 12 phone calls, offering their services for web design.
Enough is enough, you bunch of trolls. Stop wasting my time with this crap!!!
Can you imagine offering your services for web site design and the emails (text messages) are horrible with spelling mistakes and look like crap. Or the phone calls are so bad with so much noise from the call center that I can hardly hear the person, let alone, understand them through their thick accent.
Seriously, you are offering web site design, but you send an absolutely poorly designed email and you actually think you will get business. Seriously!! Your first impression to a potential customer is complete garbage? Seriously!! You think that will get you business – if you are actually legitimate.
You emails SHOULD be showing off your skills not your lack of skills!!! A 12 year old can create a better looking email than what I have seen so far.
Also, why aren’t you listing some of the web site you have designed? Of course, it better have a tag line at the bottom saying “Designed by” either your name or your company’s name.
If you cannot show proof that you actually have designed web sites then clearly you are a troll/spammer looking to fraudulently steal people’s money.
To other people registering domain names, I strongly suggest that if you get emails, text messages and/or phone calls claiming to do web site design just delete it or hang up on phone calls. The other option is to pay for a private registration when you register your domain name to avoid all this non-sense.
Regards,
Roger Lacroix
Capitalware Inc.
IBM has announced IBM MQ V9.2.4:
https://www.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_ca/8/899/ENUSLP21-0278/index.html
Highlights:
MQ 9.2.4:
MQ Advanced 9.2.4:
MQ Appliance 9.2.4 firmware:
Planned availability for IBM MQ V9.2.4 is November 18, 2021 for Electronic software delivery.
IBM MQ (aka WebSphere MQ) homepage
https://www.ibm.com/products/mq
Regards,
Roger Lacroix
Capitalware Inc.
IBM has just released Fix Pack 9.2.0.4 for IBM MQ V9.2 LTS:
https://www.ibm.com/support/pages/node/6514427
Regards,
Roger Lacroix
Capitalware Inc.
I love that line from Monty Python which is from the film of the same name.
Last week, someone emailed me about running MQ Visual Edit on Microsoft Surface Pro X. For those who don’t know, the Surface Pro X comes with a Microsoft SQ1 or SQ2 ARM processor. Yes, ARM CPU and not an Intel CPU.
After some internet searches and a bunch of reading, I discovered that besides Microsoft, there are other manufacturers making laptops with Windows on ARM.
I noticed that Best Buy was having a sale (25% off) on Samsung Galaxy Book Go. So, I bought one. Always like a good deal. 🙂
Here’s screen-shots (click on the image to see a larger picture):
Windows 10 on ARM will run native applications very well and will provide emulation for 32-bit Intel x86 applications. It does not provide support for 64-bit Intel x64 applications. Note: Microsoft says that Windows 11 on ARM will add support for emulation of 64-bit Intel x64 applications.
I’m not a big fan of emulation but I did run several 32-bit x86 applications on my new Samsung laptop and everything worked.
Here’s a screenshot of a 32-bit x86 release of MQ Visual Edit running on Windows on ARM (running in emulation):
I installed the Microsoft build of OpenJDK for Windows 10 ARM64 and ran some test Java applications and everything worked fine. Next, I ran MQ Visual Edit in the OpenJDK for Windows 10 ARM64. And here’s a screenshot:
So, I’m going to continue testing (aka playing around with my new laptop) and see what interesting things I can discover.
Therefore, for those customers that want to run MQ Visual Edit, MQ Visual Browse, MQ Batch Toolkit and/or MQTT Message Editing Suite on Windows on ARM then let me know and I will provide you with either:
To go one step further, maybe IBM would like to join the party and provide a native release of IBM MQ for Windows on ARM. 🙂 IBM has already released developer versions of IBM MQ for macOS (client only) and Raspberry Pi (client & server), so why not provide a developer release for Windows on ARM!
The future: Microsoft has taken a lot of flack over Windows on ARM, especially that first generation called Microsoft Surface RT which had a special build of Windows for it. Now this time around, Microsoft has learned its lesson and now provides the regular release of Windows 10 for ARM. It could be that since Apple has been successfully migrating from Intel CPUs to Apple ARM CPUs for their hardware, Microsoft probably figures it is time to get their shit together before they loose out on that market too.
Its definitely interesting times. 🙂
Regards,
Roger Lacroix
Capitalware Inc.
Capitalware Inc. would like to announce the official release of MQ Visual Edit v3.2.0. This is a FREE upgrade for ALL licensed users of MQ Visual Edit V2/V3. MQ Visual Edit allows users to view, manipulate and manage messages in a queue and/or topic of an IBM MQ queue manager and presents the data in a simplified format similar to a database utility or spreadsheet program.
For more information about MQ Visual Edit go to:
https://www.capitalware.com/mqve_overview.html
Regards,
Roger Lacroix
Capitalware Inc.
Capitalware Inc. would like to announce the official release of MQ Visual Browse v3.2.0. This is a FREE upgrade for ALL licensed users of MQ Visual Browse V2/V3. MQ Visual Browse allows users to view messages in a queue and/or topic of an IBM MQ queue manager and presents the data in a simplified format similar to a database utility or spreadsheet program.
For more information about MQ Visual Browse go to:
https://www.capitalware.com/mqvb_overview.html
Regards,
Roger Lacroix
Capitalware Inc.
Capitalware Inc. would like to announce the official release of MQ Batch Toolkit v3.2.2. This is a FREE upgrade for ALL licensed users of MQ Batch Toolkit. MQ Batch Toolkit allows users to manipulate, monitor and manage messages in a queue of an IBM MQ (formally WebSphere MQ & MQSeries) queue manager from a command-line or shell scripting environment.
MQ Batch Toolkit can run on the following platforms: Linux x86 64-bit, macOS (Mac OS X), Windows 7/8/8.1/10 and Raspberry Pi (ARM).
For more information about MQ Batch Toolkit go to:
https://www.capitalware.com/mqbt_overview.html
Regards,
Roger Lacroix
Capitalware Inc.
Capitalware Inc. would like to announce the official release of MQTT Message Editing Suite V1.1.0.
MQTT Message Editing Suite (MMES) application allows users to subscribe, publish, edit, copy, delete, forward, backup, restore, import and export messages of a topic of an MQTT Broker.
The messages of a topic are presented in a table format similar to a spreadsheet program. MMES is an MQTT (MQ Telemetry Transport) client that connects to an MQTT Broker. MQTT is a machine-to-machine (M2M)/Internet of Things (IoT) connectivity protocol.
MMES supports MQTT protocol versions 3.1, 3.1.1 and 5.0.
MMES is a great tool for IoT (Internet of Things) application programmers, developers, quality assurance testers, and production support personnel. The tool allows for quick problem solving because the data is presented in a very logical and insightful manner.
MMES is able to connect to any remote MQTT Broker. The remote MQTT Broker can be on any platform. The following is a sample of the MQTT Brokers that MMES can connect to: 2lemetry, Apache ActiveMQ, Apache Apollo, EMQ, GnatMQ, HBMQTT, HiveMQ, IBM MessageSight, IBM MQ, JoramMQ, Moquette, Mosquitto, MQTT.js, RabbitMQ, RSMB, Software AG Universal Messaging, Solace, ThingMQ and VerneMQ.
MMES has full language support for the following 55 languages: Amharic, Arabic, Azerbaijani, Bengali, Cebuano, Chinese (Mandarin China), Chinese (Mandarin Taiwan), Czech, Danish, Dutch, English, Finnish, French, German, Greek, Gujarati, Hausa, Hebrew, Hindi, Hungarian, Igbo, Indonesian, Italian, Japanese, Javanese, Kannada, Korean, Malay, Malayalam, Marathi, Norwegian, Panjabi, Pashto, Persian, Polish, Portuguese, Romanian, Russian, Shona, Sindhi, Spanish, Sundanese, Swahili, Swedish, Tamil, Telugu, Thai, Turkish, Ukrainian, Urdu, Uzbek, Vietnamese, Xhosa, Yoruba and Zulu.
MMES is designed to run on a desktop platform that supports Java SE 8 (or higher). This includes: Linux x86, macOS (Mac OS X), Windows 7/8/8.1/10 and Raspberry Pi (ARM)..
Here’s screen-shots (click on the image to see a larger picture):
Message Edit |
XML Viewer |
JSON Viewer |
Fixed Width Viewer |
CSV Viewer |
FIX Viewer |
HEX Viewer |
Visual Message Data |
Message Moving Average |
Ping Broker |
Broker Status Monitor |
For more information about MQTT Message Editing Suite, please go to:
https://www.capitalware.com/mmes_overview.html
Regards,
Roger Lacroix
Capitalware Inc.