Interfacing Progress & C for MQSeries Communication

sgeunes

Member
folks,

My platform is Unix-AIX with Progress 8.3B. I'm working on a back-end query, based on a parameters in a message queue (MQSeries) coming from a browser-based web client. I am to perfrom this query (on a progress DB) and return the results set to the message queue on the Unix server, which will ultimately display results back to the client.

We are using IBM's MQSeries on the Unix box (SonicMQ not an option). A 'wrapper' has already been written in C++ by a consultant. Using parameters, calls made to this C++ wrapper allow us to 'get' and 'put' messages to the message queue, instead of me having to deal with API calls directly to the queue. Incidentally, it's called a wrapper, because it's 'wrapped' around the queue manager, so I don't have to interface with the queue.

The way I envision it working is this ... a message arrives on the message queue from an outside middle tier (which doesn't concern me). Once this message arrives, the queue is set up to fire off a Progress procedure that I am going to write. My Progress procedure must make a call to either the C++ wrapper that I mentioned earlier or a C program which interfaces with this wrapper. The point is, I must eventually get the parameters from the C++ wrapper back to my Progress program so I can use them to execute the query on the Progress back-end DB. Once I have the results set from the database, based on the parameters given, I have to hand these results back to the wrapper, in the form of parameters, to put a message back on the queue.

I guess my question are:
Is all this interfacing and passing of parameters between C/C++ programs and a Progress procedure possible?
Is HLC the right tool to accomplish all this?
Is there an alternative or better way to this (unix pipes?)

If you have any information or have done this sort of thing before, I would love to hear your thoughts, tips or experiences. Thanks a lot.
 
Top