Archive for the ‘WebSphere MQ’ Category
Posted by jpluimers on 2013/03/26
While porting a library from Delphi 2006 to Delphi XE2.
The really cool thing is that the Windows Event Log contains details of what I did wrong (:
–jeroen
Posted in Delphi, Delphi XE2, Development, MQ Message Queueing/Queuing, Software Development, WebSphere MQ | Leave a Comment »
Posted by jpluimers on 2013/03/22
After installing the WebSphere MQ 7.x client software, you must reboot.
Otherwise the directory where mqic.dll resides doesn’t get added to the system path.
I was bitten by this with an unattended installation at a client where they forgot to have the system to reboot.
–jeroen
Posted in Development, MQ Message Queueing/Queuing, Power User, Software Development, WebSphere MQ, Windows | Leave a Comment »
Posted by jpluimers on 2013/03/14
Variant Records are a feature that has been in the Pascal language since Standard Pascal.
A cool page for historic perspective is R3R: Pascal Features in Popular Compilers, hopefully someone will update it to more modern versions of the mentioned compilers.
There is not much official documentation on the Delphi side on this, so below some parts of a case I used for a project that started in 1997 and is still in use to day. Read the rest of this entry »
Posted in APPC, AS/400 / iSeries / System i, ASCII, COBOL, Communications Development, Conference Topics, Conferences, CPI-C, Delphi, Delphi 1, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 3, Delphi 4, Delphi 5, Delphi 6, Delphi 7, Delphi 8, Delphi XE, Delphi XE2, Delphi XE3, Development, Encoding, Event, HIS Host Integration Services, Internet protocol suite, MQ Message Queueing/Queuing, SNA, Software Development, TCP, Unicode, UTF-8, WebSphere MQ | 9 Comments »
Posted by jpluimers on 2013/03/07
A while ago I was involved in a C header file translation for the header files of the IBM WebSphere MQ family of products, and the table helped a lot for the base types:
Delphi to C++ types mapping – RAD Studio.
A few C things missing there:
These articles helped resolving the missing bits:
Now we can do SOA between System i (a.k.a. iSeries, aka AS/400) from Windows 7.
–jeroen
PS: Later I found someone else also did a lot of work on this and published http://www.milosev.com/Download/WebSphere/WebSphereD2009.rar [WayBack] (thanks Murat Mutlu for pointing me at that) with a very thin note at http://www.milosev.com/32-mq/mq/171-delphi-2009.html [WayBack]
Posted in C++, C++ Builder, Delphi, Delphi 2006, Delphi XE2, Development, MQ Message Queueing/Queuing, Software Development, WebSphere MQ | Leave a Comment »
Posted by jpluimers on 2013/02/14
The current Delphi bindings for WebSphere MQ (formerly known as MQSeries) are very old.
The MA7Q: WebSphere MQ – MQI for Delphi formal binding from IBM is incomplete. Even though it is from 2005, it doesn’t contain the MQCD definition that was there at least since WebSphere MQ 5.2 (released in 2000). And by now it should be gone, since MQSeries 5.x is not supported any more.
A newer one by Dinko Miljak which is mentioned on Delphi 3000 and mentioned on MQSeries.net, has some errors and is from the WebSphere MQ 5.2 era.
It is available via this posting on MQSeries.net (direct download link), and this author reference on Torry.net (direct download link). Both files are identical.
Since it is much more extensive than the IBM version, I am using it to update it for newer WebSphere versions.
Great help while updating are the Gefira MQ bindings for Python: readable, indexed on nullege, and helpful (for instance on the usage of MQHO_UNUSABLE_HOBJ – which is assigned when calling MQCLOSE, I found out later that it is also explained here). The latest Gefira change was in 2008, but still way better than the Delphi bindings.
Also the Perl bindings for MQSeries together with their ASCII/EBCDIC client demo helped a lot.
A big issue when translating is that the i5/OS API in large part uses different names than the regular API.
For instance MQMD (i5/OS) contains MDENC, MDCSI and MDFMT fields where MQMD (regular) contains and Encoding, CodedCharSetId and Format fields.
As soon as I have done proper translation and upgrading to WebSphere MQ 7.x, I will upload source code.
Source code will be on the BeSharp.net CodePlex repository.
–jeroen
Posted in Delphi, Development, MQ Message Queueing/Queuing, Software Development, WebSphere MQ | 1 Comment »
Posted by jpluimers on 2013/02/13
A couple of notes on NMQ_MQ_LIB and the WebSphere MQ aka MQSeries client libraries:
- NMQ_MQ_LIB specifies the MQ DLL to use
- Depending in your interface, the NMQ_MQ_LIB can be an environment variable, application setting, or hardcoded DLL name
- MQSeries 5.x and WebShpere MQ 6.x require you to specify the bitness in the MQIC DLL name (they don’t accept mqic.dll, but require mqic32.dll) when you access it from the C or Delphi interface.
MQM DLL does not require bitness: it is mqm.dll in all versions.
- From client applications, use mqic.dll or mqic32.dll.
And a few links:
I needed this to get some apps talking to MQ on AS/400 aka iSeries aka System i working correctly by getting the DLLs right.
–jeroen
Posted in .NET, AS/400 / iSeries / System i, Delphi, Development, MQ Message Queueing/Queuing, Software Development, WebSphere MQ | Leave a Comment »
Posted by jpluimers on 2012/10/30
Some of the links in my post on WebSphere MQ Client 5.3 and 7.0 last year didn’t work any more, so below an updated download link list:
One of the reasons for being at least at V6.0, is that it allows you to specify credentials during a MQCONNX call and using MQCNO_VERSION_5 which enables the use of the SecurityParams (a demo is here) of the MQCNO structure.
–jeroen
via: WebSphere MQ Client 5.3 and 7.0 « The Wiert Corner – irregular stream of Wiert stuff.
Posted in Development, MQ Message Queueing/Queuing, Software Development, WebSphere MQ | 1 Comment »
Posted by jpluimers on 2011/11/23
Another way to talk to WebSphere MQ from Delphi is to use the MQTT Client Library for Delphi.
It encapsulates the MQTT protocol, which – being a telemetry transport protocol – is extremely light weight, but also versatile.
–jeroen
Via: Jamie’s Blog | MQTT Client Library for Delphi.
Posted in Delphi, Development, MQ Message Queueing/Queuing, Software Development, WebSphere MQ | 2 Comments »
Posted by jpluimers on 2011/10/04
MQSeries.net is the site to visit for WebSphere MQ (formerly MQSeries) topics.
They have a forum with very knowledgeable people.
One of the must-read topics is MQSeries.net :: View topic – NOT running amqcrsta as ‘mqm’… that points to a very nice IBM WebSphere MQ Security presentation (including a 50 minute YouTube video) that Martyn Ruks presented on EUSecWest 08 (an older version of the presentation is from DefCon 15) who in 2006 did a very nice piece of security research on the SNA protocol and now has a series of publications on WebSphere MQ security.
The posting does not link the the paper that goes with the conference (that he wrote with Alex Pratt), which has much more in depth information than the presentation itself. Recommended reading!
–jeroen
via: MQSeries.net :: View topic – NOT running amqcrsta as ‘mqm’…
Posted in Development, MQ Message Queueing/Queuing, Power User, Security, WebSphere MQ | Leave a Comment »