IBM MQ: How to get CCSID of a remote queue manager using IBMMQDotnetClient - ibm-mq

We are trying to read the CCSID of a remote queue manager using IBMMQDotnetClient 9.2.5. We are on Windows and the queue manager can be on Windows, Linux, or z/OS.
We tried using MQQueueManager.CharacterSet/CodedCharsetId properties and MQQueueManager.Inquire. These return the local/system character set. This is not what we want.
We also tried using PCF commands. That works for a Linux and Windows queue manager (not z/OS one) but requires more authorizations from the application user, which is our MQ administration (rightly so) reluctant to provide.
In the old version of our product, we do this using the C API MQINQ - but that requires deploying related C libraries which we would now like to avoid.
At the moment, we are using a workaround that is equivalent to specifying the MQCCSID environment variable to override the CCSID. (In other words, we are aware of that environment variable and do not see it as a very good solution).
Does someone know of a better way to do what we want to do?
NB: for any IBM staff seeing this: I opened support cases, the last one is TS009748884 https://www.ibm.com/mysupport/s/case/5003p00002gNy21AAC/mq-c-and-net-libraries-give-different-results-when-inquiring-for-the-queue-manager-ccsid?language=en_US. In there, IBM support person recommended to ask in the MQ support community. They provided this link: https://developer.ibm.com/articles/mq-downloads/. From what I see on that page, the only place to ask questions is SO - hence I am here.

Related

Tibco Ems ha/dr solution

I am new to Tibco EMS. We are currently using EMS 8 and are looking for a HA/DR option for it. I have heard of using Veritas for this purpose but that might not be our option for now.
So am looking for a open source alternative for veritas. I have also seen a few discussions where people suggested using rdbms/mysql for this but not sure how to do it.
Can someone please put me in the right direction?
For High Availability of EMS there are two modes you could consider. The first mode is called "Unshared State" and means that while two servers act as a fault-tolerant pair, their state (and thus the messages) are not shared between the two. The other mode is called "Shared State" in which the secondary server has access to the state in case the primary server goes down. I've seen both being used for different types of use cases, so you'll have to judge yourself which fits best.
If you want to go with a shared state, you'll have to make sure that both servers can access the state and generally speaking you'll have two options to do so:
Filesystem
Database
For the database option, there are a few databases that are supported by TIBCO. Please refer to the EMS User Guide, page 343 for more details on the supported databases as well as how to set up the data stores.
For the filesystem option, you'll have to make sure that your filesystem (either software or hardware) supports the four main characteristics that EMS needs:
Write Order
Synchronous Write Persistence
Distributed File Locking
Unique Write Ownership
Source: EMS User Guide, page 520
I've seen Veritas being used a lot, though I've also seen people use a clustered file system (like RedHat GFS or Oracle OCFS). Please be aware that depending on which option you choose, you want to properly test your scenarios and potentially reach out to TIBCO Support.

Where can I find a simple IBM MQ Client for Windows

The Context:
I'm hoping I'm missing something simple. I am a novice in IBM MQ
My organisation distributes XML messages via IBM Websphere MQ. Each message represents a record that I simply want to save to a file and clear from the queue.
The current mechanism we have is a poorly understood and overly complex Java program that seems to use both MQ libraries and JMS to do this.
I am hoping to move this to something simpler and easier to maintain, but I can't seem to find a generic 'IBM MQ Client' that can do things like connect to a queue and save the messages. It seems like you have to use binaries or DLLS and build an application around it.
I tried Python as that's closer to my understanding but PyMQI is only for Python 2 (which we don't use) and requires a C compiler which always seems to refuse to work.
The question:
Is there a program out there in windows to simply access a queue and save the messages to a file? We connect periodically so I can just wrap a scheduled task around it.
IBM MQ queue manager and clients communicate using a proprietary protocol, so you definitely need to use IBM MQ Client binaries (dlls or lib or jars depending on language you are comfortable with) to put/get messages to/from a queue.
I am sure the JMSToolbox mentioned by #titou10 runs on top of IBM MQ JMS jars.
Yes
If you deal with JMS messages in IBM MQ then JMSToolBox on SourceForge is a tool that will fulfill your needs.
You can download it here

How can I embed NetLimiter in my application

I have a C# client application that connects to multiple servers. I noticed that it is necessary to use NetLimiter activated rules in order to make my client connect correctly with higher priority when there is so many traffic on the client computer.
I did not find any documents about how can I embed and make rules programmatically in this application. However, I read here that someone tried to use Netlimiter API but failed.
I read somewhere that I can write my own application that uses TC API of the Windows in here and mark DSCP to make priorities. But I reached to this problem before setting flow options of my C# application.
Please guide me with this issue.
Look here. Connect() and SetRule() are the only APIs available.
NetLimiter seems to be a COM object, so to use it from C# you need something like this:
dynamic myownlimiter = Activator.CreateInstance(Type.GetTypeFromProgID("NetLimiter.VirtualClient"));
myownlimiter.Connect("host", "port");
and then use SetRule() as described in the first link.

Setting up an Intel VPro with AMT infrastructure

I'm trying to set up a remote management system with VPro supported computers under the same network. I've done a good amount of research into this topic and now i'm trying choose the right path to suit my needs. The system needs to follow certain parameters.
Parameters:
Remote KVM control without User Consent
Power on, off, control bios of selected computers
Control a network of computer within a wired internet connection
Allow remote connection from outside the network to client PCs within the network (i.e at home)
Remote AMT Configuration with Admin Controls
I understand that VPro supports all of these actions, however it's the server system that handles them. I had looked into Intel SCS Lite, however i believe this is just a configuration tool and database for the profiles and i cannot actually control client actions. Tools like Microsoft SCCM look promising, however would it fulfill all my needs? Are their cheaper alternatives? There is also Intel VPro platform solutions manager. For this option, do i create a database of the AMT PC's with intel SCS console than connect to that through the platform solutions manager so i can operate on my client PCs? Any information regarding the setup and configuration of remote management of a compute network supporting VPro would be helpful.
Edit: This was a great site i found for anyone else who is researching VPro
http://windowsmasher.wordpress.com/2013/10/05/intel-vpro-the-basics-of-vpro/
I still welcome any additional information.
Blindly assuming that you're not bound to windows solutions and regarding your parameters, I think...
Remote KVM control without User Consent
Allow remote connection from outside the network to client PCs within the network (i.e at home)
You don't really need no enterprise tool integration for this... do you?
Just set up a html page that contains links like vnc://your-client-xxx and let
realvnc plus
handle the rest? For the KVM/VNC-Sessions, you don't need a middleman SCCM/whatever.
VNC will connect to your AMT-enabled client directly, using TCP port 16992 (or 16993 when
using TLS which you surely want...?).
Allowing remote connection from outside has nothing to do with SCCM or vPro... You'll most likely have a VPN connection to your 'work network'? The vPro-enabled clients will (by default) share the DHCP-obtained IP with the client, so you should be able to protect vPro access by a ('real') firewall as desired.
Power on, off, control bios of selected computers
Control a network of computer within a wired internet connection
Again, no need for a paid tool. For the requirement "power on/off",
you might consider amttool, at least
for pre-AMT-9.0-systems (as 9.0 dropped the older vPro SOAP protocol EOI in favour of DASH). DASH was supported since vPro 6.0 IIRC, so you could also use
AMD's free dashcli.
Shell tools are great for scripting (read: scheduled power management / cron) but
you surely were looking for a nice GUI tool. You may want to look at amtc / amtc-web, its demo site or github-wiki. It should be easy
to add vnc:// links to that currently power-management-focussed (fast!) webapp.
Ahh, and I never used it myself, but there's also vTul, a PowerShell based GUI...
If it's all about really rarely power-cycling a single machine: Don't forget that vPro comes with a web-interface, which also allows to do this...
Remote AMT Configuration with Admin Controls
As stated by ChileAddict, SCS Lite should be fine. AFAIK it will also take care
of certificate renewals for TLS-enabled clients. And you can use it to push/update
AMT configuration.
Any information regarding the setup and configuration of remote management of a compute network supporting VPro would be helpful.
Check with your PC supplier. They can deliver your hosts with RCFG (Remote Configuration) enabled. The new clients will then send HELLO packets to your provisioner.example.com,
where example.com is taken from the DHCP reply received. The provisioner must have
a certificate installed that is accepted by AMT, see intel's page.
An alternative is to deploy configuration using USB sticks -- or by hand. Where by hand will not allow TLS-secured communications...
You have definitely done your homework and that windowsmasher site sums things up nicely. Unfortunately, the free tools, like the AMT Commander, the Platform Solution Manager, the Web UI that is part of AMT, etc are not enterprise level solutions and do not have databases to hold the information for each system in your environment. (I think the AMT Commander uses your registry to store system information and you can connect to many systems and not have to input them every time you start it. However you can't do an operation on multiple systems, for example "shut all my systems down and apply some patch".) It's a one system at a time deal.
You can provision multiple systems using the Intel SCS and when I was last using it, there was a database involved. I do not know much about SCCM. There are other Enterprise-level tools such as Landesk that offer management of many systems simultaneously (not free, of course.)
If you wanted to be able to manage multiple systems at a time without purchasing the software, you would have to write your own management console using the AMT SDK. (Sorry!)
You might want to look at Meshcentral.com (same developer who wrote the AMT Commander/Open Manageability Toolkit) he is always adding new features and you can also download the source code.
I hope this helps.

How can I teach myself websphere?

I have a chance to learn how to administer and develop for WebSphere. But after trying to find a book for it I am at a loss where to begin. I was hoping for some advice. I may have access to the IBM RAD IDE (I think that's what it is), but I am not sure.
I have a project I'd like to put on it but I am lost. Thanks.
edit: I do not care which language I end up using.
Ok. There are two parts to your question (and I'm sticking to the base application server here):
a) writing applications: WebSphere Application Server is a J2EE application server. So any web resource or forum or blog describing how to write servlets or JSPs or applications that use EJBs will work. There are lots of those. If you want to stick with IBM resources, you could look for redbooks or developerworks articles. For more general information (patterns, practices, etc) you could try http://theserverside.com.
b) administering the application server: Redbooks like this can give a pretty good overview (as the other poster mentioned).
There is also a WebSphere education channel on youtube which addresses both questions.
Download a trial MQ server from IBM (to some hosts or VMs? that won't matter if you break them...), and (optionally) add a WMB in front of it to transform some messages and fire some messages at it from a GUI client via another broker?
so you 'could':
ia92 java gui to fire messages->microbroker(or rsmb or mosquitto)->WMB(optional)->MQ
have a look at the messages arriving on MQ via Websphere explorer (or its command line client, try googling for 'websphere MQ quick reference card') have a fiddle about with its subscriptions etc
and then start consuming those messages from its queues on the 'other' side of the chain via a WAS and then a java client
MQ->MQ(bridge maybe)->WAS->some Java EE client you've written
don't forget the red books, keep it simple and then keep on adding complexity e.g. encryption etc.

Resources